Millisecond Forums

Items presented unequal number of times despite using noreplace in stimuli and block

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

By Annajorg - 2/11/2018

Hi,

I'm making an auditory task. I want to present 72 trials, half (36) control conditions and half (36) experimental conditions. I have 4 control conditions and 3 experimental conditions. In <sounds> I have have repeated each of the four control conditions 9 times so that there are 36 stimuli in total and I have repeated each of the experimental conditions 12 times so that there are 36 stimuli in total. I have the select mode as noreplace. In blocks I have put /trials = [1-72 = noreplace(control, experimental).

I do get 36 control trials and 36 experimental trials but the stimuli aren't always presented the correct number of times. Sometimes the control conditions are presented for example 8, 10, 9 times rather than 9, 9, 9 times. 

Is there a way to overcome this?

Thanks, Anna
By Dave - 2/12/2018

Annajorg - Sunday, February 11, 2018
Hi,

I'm making an auditory task. I want to present 72 trials, half (36) control conditions and half (36) experimental conditions. I have 4 control conditions and 3 experimental conditions. In <sounds> I have have repeated each of the four control conditions 9 times so that there are 36 stimuli in total and I have repeated each of the experimental conditions 12 times so that there are 36 stimuli in total. I have the select mode as noreplace. In blocks I have put /trials = [1-72 = noreplace(control, experimental).

I do get 36 control trials and 36 experimental trials but the stimuli aren't always presented the correct number of times. Sometimes the control conditions are presented for example 8, 10, 9 times rather than 9, 9, 9 times. 

Is there a way to overcome this?

Thanks, Anna

If you run a practice block with trials that sample from the respective sound elements before the test block that has

/trials = [1-72 = noreplace(control, experimental)]

(resulting in 36 control trials and 36 experimental trials)

make sure to reset the selection pools of the various <sound> elements' selection pools at the start of the <block> (/onblockbegin).

Here's an example using <text> elements (works the same with <sound>:

<block test>
/ onblockbegin = [reset(text.control_stim); reset(text.experimental_stim);]
/ trials = [1-72 = noreplace(control, experimental)]
</block>

<trial control>
/ stimulusframes = [1=control_stim]
/ validresponse = (57)
/ trialduration = 10
</trial>

<trial experimental>
/ stimulusframes = [1=experimental_stim]
/ validresponse = (57)
/ trialduration = 10
</trial>

<text control_stim>
/ items = control_items
</text>

<text experimental_stim>
/ items = experimental_items
</text>

<item control_items>
/ 1 = "C1"
/ 2 = "C1"
/ 3 = "C1"
/ 4 = "C1"
/ 5 = "C1"
/ 6 = "C1"
/ 7 = "C1"
/ 8 = "C1"
/ 9 = "C1"

/ 10 = "C2"
/ 11 = "C2"
/ 12 = "C2"
/ 13 = "C2"
/ 14 = "C2"
/ 15 = "C2"
/ 16 = "C2"
/ 17 = "C2"
/ 18 = "C2"

/ 19 = "C3"
/ 20 = "C3"
/ 21 = "C3"
/ 22 = "C3"
/ 23 = "C3"
/ 24 = "C3"
/ 25 = "C3"
/ 26 = "C3"
/ 27 = "C3"

/ 28 = "C4"
/ 29 = "C4"
/ 30 = "C4"
/ 31 = "C4"
/ 32 = "C4"
/ 33 = "C4"
/ 34 = "C4"
/ 35 = "C4"
/ 36 = "C4"
</item>

<item experimental_items>
/ 1 = "E1"
/ 2 = "E1"
/ 3 = "E1"
/ 4 = "E1"
/ 5 = "E1"
/ 6 = "E1"
/ 7 = "E1"
/ 8 = "E1"
/ 9 = "E1"
/ 10 = "E1"
/ 11 = "E1"
/ 12 = "E1"

/ 13 = "E2"
/ 14 = "E2"
/ 15 = "E2"
/ 16 = "E2"
/ 17 = "E2"
/ 18 = "E2"
/ 19 = "E2"
/ 20 = "E2"
/ 21 = "E2"
/ 22 = "E2"
/ 23 = "E2"
/ 24 = "E2"

/ 25 = "E3"
/ 26 = "E3"
/ 27 = "E3"
/ 28 = "E3"
/ 29 = "E3"
/ 30 = "E3"
/ 31 = "E3"
/ 32 = "E3"
/ 33 = "E3"
/ 34 = "E3"
/ 35 = "E3"
/ 36 = "E3"
</item>

If you run this, you should end up with exactly

9 x C1, 9 x C2, 9 x C3, 9 x C4

and

12 x E1, 12 x E2, 12 x E3