Millisecond Forums

Voicerecord issue

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

By Jeroen Loman - 6/6/2014

Hello all,

I was wondering if someone could help me with the script for an experiment I am currently working on. I've been messing around with it for a while now, but I just can't seem to get it to work properly.

The idea is to present a picture for 10 seconds and record all responses participants have (to be spoken into the microphone) during this time period (i.e., a think-aloud task). 

The problem is that I cant get my script to keep recording for the whole 10 seconds, (In other words: how do I get it to just record all spoken answers without stopping the presentation of the picture/and or stop the recording?).

This is the basis so far:

<expt 1>
/blocks = [1=test_control]
</expt>

<page pre>
^^start
</page>

<page post>
^^exit
</page>

<block test_control>
/ trials = [1= test_control]
/preinstructions = (pre)
/ postinstructions = (post)
</block>

<trial test_control>
/ stimulustimes = [0 = control]
/ timeout = 10000
/ inputdevice = voicerecord
<expt 1>
/blocks = [1=test_control]
</expt>

<page pre>
^^start
</page>

<page post>
^^exit
</page>

<block test_control>
/ trials = [1= test_control]
/preinstructions = (pre)
/ postinstructions = (post)
</block>

<trial test_control>
/ stimulustimes = [0 = control]
/ timeout = 10000
/ inputdevice = voicerecord
</trial>

<picture control>
/ items = ("control.jpg")
/ position = (50, 50)
</picture>


</trial>

<picture control>
/ items = ("control.jpg")
/ position = (50, 50)
</picture>

I've tried several things so far, but I just cant make sense of what to add to it to solve my problem.

I hope there is someone here who could help me:)

Kind regards,

Jeroen
By Jeroen Loman - 6/6/2014

(sorry, I pasted the same script twice by mistake ^^
By Jeroen Loman - 6/6/2014

For clarity, here it is once:

<expt 1>
/blocks = [1=test_control]
</expt>

<page pre>
^^start
</page>

<page post>
^^exit
</page>

<block test_control>
/ trials = [1= test_control]
/preinstructions = (pre)
/postinstructions = (post)
</block>

<trial test_control>
/ stimulustimes = [0 = control]
/ timeout = 10000
/ inputdevice = voicerecord
</trial>

<picture control>
/ items = ("control.jpg")
/ position = (50, 50)
</picture>
By Dave - 6/6/2014

Let me first note that voicerecord performance may vary considerably between systems -- I've seen it perform exceedingly well on some and not-so-well on others for no apparent reason (presumably due to cheap components and/or driver issues).

#1: Note that /timeout specifies *maximum* trial duration, i.e., by default a trial will terminate *earlier* (as soon as a response has been detected). To enforce a *fixed* duration, use /trialduration. For details re. the various components involved in trial timings, see the "How to Control Trial Duration and Inter-Trial Intervals" topic in the documentation.

#2: Another thing to consider is /responseinterrupt. The default is 'immediate', which probably isn't what you'd want here.

To sum up, I would try something along the lines of


<trial test_control>
/ stimulustimes = [0 = control; 10000 = control]
/ inputdevice = voicerecord
/ pretrialpause = 500
/ posttrialpause = 500
/ trialduration = 11000
/ responsetime = 0
/ responseinterrupt = frames
</trial>