PennController for IBEX › Forums › Support › Priming in reading-aloud experiment
- This topic has 3 replies, 3 voices, and was last updated 4 years ago by Jeremy.
-
AuthorPosts
-
April 7, 2020 at 2:14 pm #5010monicaParticipant
Hi Jeremy,
in my priming experiment I will present words preceded by a gif or by a sound. Participants will be asked to read aloud these words, without pressing any buttons. Their voices and RTs will be recorded. I was wondering whether all this can be done with pcIBEX.
Thank you so much for your help!
MonicaApril 7, 2020 at 2:47 pm #5011JeremyKeymasterHi Monica,
I would say you can partly accomplish what you want using the VoiceRecorder element. Take a look at the required setup here.
To give you an example of a code that does something close to what you want (skipping the setup part):
newTrial( newAudio( "sound.mp3" ).play().wait() , newTimer(500).start().wait() , newText( "Now please repeat the word your heard" ).print() , newVoiceRecorder("sample").log().record() , newText("recording...").print() , newTimer(2000).start().wait() , getText("recording...").remove() , getVoiceRecorder("sample").stop() )
Now as you can see, there is no reaction time per se, as VoiceRecorder elements currently do not automatically detect when people start and stop speaking. You could analyze your collected samples with a software like Praat to see how long it took your participants to start speaking. The code above uses a 2s time window, but if you’re willing to ask your participants to press a key, you could let them do that to signal that they are done recording.
Let me know if you have questions
Jeremy
September 15, 2020 at 3:22 pm #6124samsantoParticipantHi Jeremy,
Jumping in here… I know this post is relatively recent, but I just want to double check that there is no way for the new MediaRecorder to detect when a participant begins speaking after the recorder begins?
I need to do something along the lines of calculating a “points” system if the participant responds within 500ms of the recorder beginning or not (+1/-1 if successful or not)… as of now I don’t think this is something feasible without outside analysis tools (like Praat as you suggested above?)
Let me know if anything has changed!
Thanks,
SamSeptember 15, 2020 at 5:30 pm #6125JeremyKeymasterHi Sam,
There is no difference between newVoiceRecorder("recorder") and newMediaRecorder("recorder", "audio"), so unfortunately MediaRecorder won’t provide you with a way to detect speech any more than VoiceRecorder.
You could probably listen for a sharp rise in the signal’s volume using the AudioContext javascript API, but it’s a little advanced (it also turns out to be quite unreliable on Safari, which no one on the Internet–except me–seems to have complained about so far…) and it doesn’t necessarily indicate speech, for example it could correspond to a mug spilling on a desk (though that would most likely be accompanied with vocal complaints too).
Not sure I’d have the time to implement that function, but if you’re comfortable with javascript or know someone who is, I’d be happy to help
Jeremy
-
AuthorPosts
- You must be logged in to reply to this topic.