Millisecond Forums

Voicerecord issue

https://forums.millisecond.com/Topic3257.aspx

By jkrompi - 8/26/2009

Hi there



I am running a simple verb generation task. I woudl like to use the "voicerecord" feature in Inquisit to record each verbal response to a simple list of serially-presented word stimuli. However, when attempt to set my input device as "voicerecord," my program will freeze as soon as it attempts to present a stimulus that requires a verbal response (I need to Ctrl-Alt-Del out of the program at this point). No .wav files are created. I have posted the script below (ignore the instructions, I am simply trying to get responses to three stimuli per block at this point). Any help would be much appreciated.



Jason














<defaults>


/font =
("Courier New", -43, 700, 0, 49)


/inputdevice=voicerecord


/screencolor=(0, 0,
0)


</defaults>


 


 


 


<data>


/
file="C:\Program Files\Millisecond Software\Inquisit
3\StroopS08\Individual\stroopsubXXXX.dat"


</data>


 


 


 


<port mysignal>


/ port = lpt1


/ subport = data


/ items =
("00000100")


</port>


 


<port
mysignaloff>


/ port = lpt1


/ subport = data


/ items =
("00000000")


</port>


 


<expt>


/preinstructions =
(demo)


/blocks =
[1=practice; 2=practice2]


/postinstructions =
(end)


</expt>


 


 


 


<block
practice>


/preinstructions=(stroop)


/trials=[1=ready;
2-4=repeat]


/blockfeedback=(latency)


</block>


 


<block
practice2>


/preinstructions=(stroop)


/trials=[1=ready;
2-4=verbgen]


/blockfeedback=(latency)


</block>


 


 


 


 


<trial repeat>


/stimulustimes =
[0=fix; 1000=repeatthis; 1150=fix;]


 


/trialduration = 3500


/responsetime = 500


</trial>


 


<trial verbgen>


/stimulustimes =
[0=fix; 1000=generatethis; 1150=fix;]


/trialduration = 3500


/responsetime = 500


</trial>


 


 


 


 


Specific
characteristics for color naming trials, no "valid response" option
here for some reason


 


 


<trial ready>


/stimulustimes =
[0=ready]


/correctresponse =
(anyresponse)


/inputdevice =
keyboard


</trial>


 


 


*******************


 


 


 


 


 


<text
repeatthis>


/items = repeat


/select=noreplace


/txcolor=(255,255,255)


/txbgcolor = (0,0,0)


</text>


 


<text
generatethis>


/items = generate


/select=noreplace


/txcolor=(255,255,255  )


/txbgcolor = (0,0,0)


</text>


 


<item repeat>


/1="apple"


/2="car"


/3="movie"


</item>


 


<item generate>


/1="apple"


/2="car"


/3="movie"


</item>


 


 


 


<text fix>


/items=("+")


/txcolor =
(255,255,255)


/txbgcolor = (0,0,0)


</text>


 


<text dummy>


/items=("                 ")


/txcolor =
(255,255,255)


/txbgcolor = (0,0,0)


</text>


 


<text ready>


/items=("Press
the space bar when you are ready to start")


/color =
(100,100,100)


/txbgcolor =
(transparent)


/area = (400 200)


</text>


 


<text
errormessage>


/items=("          !          ")


/color = (255,0,0)


</text>


 


<instruct>


/nextkey=("
")


/nextlabel =
"Space Bar"


/font =
("Arial", -23, 400, 0, 34)


</instruct>


 


<page
demo> 


^^^^^


Welcome to the
Cognition and


Emotion Laboratory


</page>


 


 


<page
stroop> 


^^^^


^^ On each of the
following trials, the name of a color will be displayed.


 


^^ Your task is to
say aloud the color in which the name is printed.


 


^^ Please do so as
quickly and as accurately as you can.


 


^^ Press the Space
Bar to begin the practice.


</page>


 


 


<page end> 


^^^^^^


The experiment is now
concluded. Thanks for your participation!


</page>


By Dave - 8/26/2009

It's just a hunch, but I think the voicerecord feature needs the speech recognition engine installed -- even if voicerecord doesn't actually do any recognition. So, try and install the engine if you haven't already. It can be downloaded from here: http://www.millisecond.com/download/speech.aspx.


Hope this helps,


~Dave

By jkrompi - 8/26/2009

Thanks for the quick reply. We do already have the speech recognition engine installed, so, unfortunately, that is not the solution. Any other help is much appreciated.

By seandr - 8/27/2009

Hi there,


Here are a few things to help troubleshoot:


1) First, make sure your microphone is connected and working properly. You can do this by selecting Tools->Speech Recognition->Microphone Wizard and running through the wizard.


2) Try running the Stroop Task sample that uses voice recording. You download the sample here: http://www.millisecond.com/download/samples/v3/Stroop/default.aspx


3) If the program still hangs, try pressing "Ctrl+Q" to stop it.


Let me know how these turn out.


-Sean

By jkrompi - 8/31/2009

Thanks for the reply. Unfortunately, I get the same error when running the sample task - the program hangs when it encounters the portion of the script calling for voice record. In this case, when the first stimulus appeared on the screen ("red" in blue writing). I am unable to Ctrl-Q out of it, and must Ctrl-Alt-Delete and quit the program.



My microphone and speech recognition software are working correctly - verified using a different Inquisit  Stroop experiment I programmed using the voice recognition function.



Any other ideas? Again, thanks for your help.

By Dave - 9/3/2009

Just wanted to add that just yesterday I encountered the same problem as described by Jason. So there's definitely something wrong with 'voicerecord' as it stands. I hope this will be fixed soon.


~Dave

By seandr - 9/9/2009

Ok, thanks for the report. Sounds like we have a bug here. I'll investigate and report back as soon as possible.


-Sean

By seandr - 9/9/2009

I just ran your script without any hangs or other problems. That means one of two things is causing this problem:


1) You're running an older version of Inquisit. (There was a fairly major update to voicerecord in 3.0.4.0 beta that was uploaded in August.)
2) The voicerecord feature is getting tripped up on certain machine configurations.


Number 1 should be easy enough to check. Make sure you have the latest release of 3.0.4.0. You can check this by selecting the About Inquisit command from the Help menu. You should see the following:


Version:        3.0.4.0
Build Date:   Aug 20, 2009
Build Time:  13:50:20


Let me know if this fixes the problem.


-Sean

By Dave - 9/9/2009

I've had these problems with the August 20 build of 3.0.4.0. Voicerecord was working okay for me in 3.0.3.2 (minus the issues that led to the major revisions you mentioned). Anything more I can do to help tracking down the issue?


By jkrompi - 10/28/2009

OK, so I upgraded to the latest version of Inquisit. Now, my responses are being recorded to the disk, which is great. However, I have a new problem. When I enable the inputdevice as "voicerecord", the to-be-responded-to stimulus is extinguished far too quickly from the display and reaction times are not collected (specifically, they are labeled something super-quick, like 4 or 5 ms). My script looks like this:


<trial verbgen>


/stimulustimes =
[0=fix; 1000=stimulus; 1150=responsecue;]


/responsetime = 1150


/inputdevice = voicerecord


</trial>


 


In the above case, I want subjects reponding to the "responsecue." However, as stated above, this cue disappears almost immediately and RTs are not recorded accurately. If I move "responsetime" to coincide with the stimulus presentation, the same thing happens to the stimulus (extinguished immediately, no RT recorded).


 


Any thoughts would be much appreciated.


By jkrompi - 10/28/2009

A quick add-on: my total trial time is 3000 ms (I omitted that part of the script), so it isn't a question of the trial ending immediately after the responsecue.

By pspowell - 4/4/2013

Hi,


Have you figured out a solution to this problem?  I am having a similar issue with the voicerecord attribute (i.e., super fast RTs that don't make sense).


Thanks

By seandr - 4/5/2013

Hi all,


It sounds like Inquisit maybe reacting to ambient noise from the microphone. To fix this, try setting the /voicekeythreshold on the <defaults> element. Increasingly higher threshold values configure the voice engine to react to increasingly louder sounds, ignoring sounds at volumes below threshold. 


Here's the documentation on /voicekeythreshold:
http://www.millisecond.com/support/docs/v4/html/language/attributes/voicekeythreshold.htm


Let me know if this helps.


-Sean