Millisecond Forums

Likert and list element

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

By abhi - 4/23/2019

Hi,

I want to present 10 randomly selected sounds to each respondent from a list of 30 sounds and each participant rates it on a Likert scale. And the list element then presents the same 10 sounds to each respondent in subsequent blocks too.
Problem that I am facing is that instead of 10 different random sounds presented to each respondent, I find that same list of 10 sounds is presented to all respondents. There is no variation / randomness in that. 
What is wrong in this code? How can I ensure that 10 different random sounds out of 30 is presented to each respondent rather than the same list of sounds presented to each.

Thanks

<sound 1S>
/ items = 1S
/ playthrough = false
/ select = values.1S
</sound>

<item 1S>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>


<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>


<values>
/ 1S = 1
</values>


<likert NewStudy1>
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex]     
/ anchors = [1="Rating1"; 11=" Rating2"]
/ stimulusframes = [1 = list.1Snumbers; 100= list.1Snumbers;           200= list.1Snumbers;       300= list.1Snumbers;  400= list.1Snumbers;       500= list.1Snumbers;       600= list.1Snumbers;       700= list.1Snumbers;  800= list.1Snumbers;       900= list.1Snumbers;       1000= list.1Snumbers;     1100= list.1Snumbers;  1200= list.1Snumbers;     1300= list.1Snumbers;     1400= list.1Snumbers;     1500= list.1Snumbers;  1600= list.1Snumbers;     1700= list.1Snumbers;     1800= list.1Snumbers;     1900= list.1Snumbers;  2000= list.1Snumbers;     2100= list.1Snumbers;     2200= list.1Snumbers;     2300= list.1Snumbers;  2400= list.1Snumbers;     2500= list.1Snumbers;     2600= list.1Snumbers;     2700= list.1Snumbers;  2800= list.1Snumbers;     2900= list.1Snumbers;     3000= list.1Snumbers;     3100= list.1Snumbers;  3200= list.1Snumbers;     3300= list.1Snumbers;     3400= list.1Snumbers;     3500= list.1Snumbers;  3600= list.1Snumbers;     3700= list.1Snumbers;     3800= list.1Snumbers;     3900= list.1Snumbers;  4000= list.1Snumbers;     4100= list.1Snumbers;     4200= list.1Snumbers;     4300= list.1Snumbers;  4400= list.1Snumbers;     4500= list.1Snumbers;     4600= list.1Snumbers;     4700= list.1Snumbers;  4800= list.1Snumbers;     4900= list.1Snumbers;     5000= list.1Snumbers;     5100= list.1Snumbers;  5200= list.1Snumbers;     5300= list.1Snumbers;     5400= list.1Snumbers;     5500= list.1Snumbers;  5600= list.1Snumbers;     5700= list.1Snumbers;     5800= list.1Snumbers;     5900= list.1Snumbers;  6000= list.1Snumbers;     6100= list.1Snumbers;     6200= list.1Snumbers;     6300= list.1Snumbers;  6400= list.1Snumbers;     6500= list.1Snumbers;
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>

By Dave - 4/23/2019

abhi - Wednesday, April 24, 2019
Hi,

I want to present 10 randomly selected sounds to each respondent from a list of 30 sounds and each participant rates it on a Likert scale. And the list element then presents the same 10 sounds to each respondent in subsequent blocks too.
Problem that I am facing is that instead of 10 different random sounds presented to each respondent, I find that same list of 10 sounds is presented to all respondents. There is no variation / randomness in that. 
What is wrong in this code? How can I ensure that 10 different random sounds out of 30 is presented to each respondent rather than the same list of sounds presented to each.

Thanks

<sound 1S>
/ items = 1S
/ playthrough = false
/ select = values.1S
</sound>

<item 1S>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>


<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>


<values>
/ 1S = 1
</values>


<likert NewStudy1>
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex]     
/ anchors = [1="Rating1"; 11=" Rating2"]
/ stimulusframes = [1 = list.1Snumbers; 100= list.1Snumbers;           200= list.1Snumbers;       300= list.1Snumbers;  400= list.1Snumbers;       500= list.1Snumbers;       600= list.1Snumbers;       700= list.1Snumbers;  800= list.1Snumbers;       900= list.1Snumbers;       1000= list.1Snumbers;     1100= list.1Snumbers;  1200= list.1Snumbers;     1300= list.1Snumbers;     1400= list.1Snumbers;     1500= list.1Snumbers;  1600= list.1Snumbers;     1700= list.1Snumbers;     1800= list.1Snumbers;     1900= list.1Snumbers;  2000= list.1Snumbers;     2100= list.1Snumbers;     2200= list.1Snumbers;     2300= list.1Snumbers;  2400= list.1Snumbers;     2500= list.1Snumbers;     2600= list.1Snumbers;     2700= list.1Snumbers;  2800= list.1Snumbers;     2900= list.1Snumbers;     3000= list.1Snumbers;     3100= list.1Snumbers;  3200= list.1Snumbers;     3300= list.1Snumbers;     3400= list.1Snumbers;     3500= list.1Snumbers;  3600= list.1Snumbers;     3700= list.1Snumbers;     3800= list.1Snumbers;     3900= list.1Snumbers;  4000= list.1Snumbers;     4100= list.1Snumbers;     4200= list.1Snumbers;     4300= list.1Snumbers;  4400= list.1Snumbers;     4500= list.1Snumbers;     4600= list.1Snumbers;     4700= list.1Snumbers;  4800= list.1Snumbers;     4900= list.1Snumbers;     5000= list.1Snumbers;     5100= list.1Snumbers;  5200= list.1Snumbers;     5300= list.1Snumbers;     5400= list.1Snumbers;     5500= list.1Snumbers;  5600= list.1Snumbers;     5700= list.1Snumbers;     5800= list.1Snumbers;     5900= list.1Snumbers;  6000= list.1Snumbers;     6100= list.1Snumbers;     6200= list.1Snumbers;     6300= list.1Snumbers;  6400= list.1Snumbers;     6500= list.1Snumbers;
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>


The entire syntax doesn't make much sense because it's full of circular references. It's also unclear what you mean by "I want to present 10 randomly selected sounds to each respondent from a list of 30 sounds." Do you want to present one sound repeatedly during a given trial, and then run 10 trials with each playing a different sound repeatedly? Or do you want to run a single trial that plays 10 out of 30 sounds one after another?

At any rate, this

<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>

makes no sense. And you should have your <trial>'s /stimulusframes display the <sound> element, not reference a <list>. I.e.

<likert NewStudy1>
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex] 
/ anchors = [1="Rating1"; 11=" Rating2"]
/ stimulusframes = [1 = 1S; 100= 1S; 200= 1S; 300= 1S; 400= 1S; 500= 1S;
600= 1S; 700= 1S; 800= 1S; 900= 1S; 1000= 1S; 
...
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>

By abhi - 4/23/2019

Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019
Hi,

I want to present 10 randomly selected sounds to each respondent from a list of 30 sounds and each participant rates it on a Likert scale. And the list element then presents the same 10 sounds to each respondent in subsequent blocks too.
Problem that I am facing is that instead of 10 different random sounds presented to each respondent, I find that same list of 10 sounds is presented to all respondents. There is no variation / randomness in that. 
What is wrong in this code? How can I ensure that 10 different random sounds out of 30 is presented to each respondent rather than the same list of sounds presented to each.

Thanks

<sound 1S>
/ items = 1S
/ playthrough = false
/ select = values.1S
</sound>

<item 1S>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>


<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>


<values>
/ 1S = 1
</values>


<likert NewStudy1>
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex]     
/ anchors = [1="Rating1"; 11=" Rating2"]
/ stimulusframes = [1 = list.1Snumbers; 100= list.1Snumbers;           200= list.1Snumbers;       300= list.1Snumbers;  400= list.1Snumbers;       500= list.1Snumbers;       600= list.1Snumbers;       700= list.1Snumbers;  800= list.1Snumbers;       900= list.1Snumbers;       1000= list.1Snumbers;     1100= list.1Snumbers;  1200= list.1Snumbers;     1300= list.1Snumbers;     1400= list.1Snumbers;     1500= list.1Snumbers;  1600= list.1Snumbers;     1700= list.1Snumbers;     1800= list.1Snumbers;     1900= list.1Snumbers;  2000= list.1Snumbers;     2100= list.1Snumbers;     2200= list.1Snumbers;     2300= list.1Snumbers;  2400= list.1Snumbers;     2500= list.1Snumbers;     2600= list.1Snumbers;     2700= list.1Snumbers;  2800= list.1Snumbers;     2900= list.1Snumbers;     3000= list.1Snumbers;     3100= list.1Snumbers;  3200= list.1Snumbers;     3300= list.1Snumbers;     3400= list.1Snumbers;     3500= list.1Snumbers;  3600= list.1Snumbers;     3700= list.1Snumbers;     3800= list.1Snumbers;     3900= list.1Snumbers;  4000= list.1Snumbers;     4100= list.1Snumbers;     4200= list.1Snumbers;     4300= list.1Snumbers;  4400= list.1Snumbers;     4500= list.1Snumbers;     4600= list.1Snumbers;     4700= list.1Snumbers;  4800= list.1Snumbers;     4900= list.1Snumbers;     5000= list.1Snumbers;     5100= list.1Snumbers;  5200= list.1Snumbers;     5300= list.1Snumbers;     5400= list.1Snumbers;     5500= list.1Snumbers;  5600= list.1Snumbers;     5700= list.1Snumbers;     5800= list.1Snumbers;     5900= list.1Snumbers;  6000= list.1Snumbers;     6100= list.1Snumbers;     6200= list.1Snumbers;     6300= list.1Snumbers;  6400= list.1Snumbers;     6500= list.1Snumbers;
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>


The entire syntax doesn't make much sense because it's full of circular references. It's also unclear what you mean by "I want to present 10 randomly selected sounds to each respondent from a list of 30 sounds." Do you want to present one sound repeatedly during a given trial, and then run 10 trials with each playing a different sound repeatedly? Or do you want to run a single trial that plays 10 out of 30 sounds one after another?

At any rate, this

<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>

makes no sense. And you should have your <trial>'s /stimulusframes display the <sound> element, not reference a <list>. I.e.

<likert NewStudy1>
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex] 
/ anchors = [1="Rating1"; 11=" Rating2"]
/ stimulusframes = [1 = 1S; 100= 1S; 200= 1S; 300= 1S; 400= 1S; 500= 1S;
600= 1S; 700= 1S; 800= 1S; 900= 1S; 1000= 1S; 
...
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>


Hi Dave,

What I meant is that 10 different  sounds to be selected (out of 30) and rated by respondent in Likert 1 (Familiarity) , then same 10 sounds in Likert 2 (likeability), and then same in Likert 3.
/ Stimlusfame is playing the same sound in loop till respondent responds.

By Dave - 4/23/2019

abhi - Wednesday, April 24, 2019
Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019
Hi,

I want to present 10 randomly selected sounds to each respondent from a list of 30 sounds and each participant rates it on a Likert scale. And the list element then presents the same 10 sounds to each respondent in subsequent blocks too.
Problem that I am facing is that instead of 10 different random sounds presented to each respondent, I find that same list of 10 sounds is presented to all respondents. There is no variation / randomness in that. 
What is wrong in this code? How can I ensure that 10 different random sounds out of 30 is presented to each respondent rather than the same list of sounds presented to each.

Thanks

<sound 1S>
/ items = 1S
/ playthrough = false
/ select = values.1S
</sound>

<item 1S>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>


<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>


<values>
/ 1S = 1
</values>


<likert NewStudy1>
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex]     
/ anchors = [1="Rating1"; 11=" Rating2"]
/ stimulusframes = [1 = list.1Snumbers; 100= list.1Snumbers;           200= list.1Snumbers;       300= list.1Snumbers;  400= list.1Snumbers;       500= list.1Snumbers;       600= list.1Snumbers;       700= list.1Snumbers;  800= list.1Snumbers;       900= list.1Snumbers;       1000= list.1Snumbers;     1100= list.1Snumbers;  1200= list.1Snumbers;     1300= list.1Snumbers;     1400= list.1Snumbers;     1500= list.1Snumbers;  1600= list.1Snumbers;     1700= list.1Snumbers;     1800= list.1Snumbers;     1900= list.1Snumbers;  2000= list.1Snumbers;     2100= list.1Snumbers;     2200= list.1Snumbers;     2300= list.1Snumbers;  2400= list.1Snumbers;     2500= list.1Snumbers;     2600= list.1Snumbers;     2700= list.1Snumbers;  2800= list.1Snumbers;     2900= list.1Snumbers;     3000= list.1Snumbers;     3100= list.1Snumbers;  3200= list.1Snumbers;     3300= list.1Snumbers;     3400= list.1Snumbers;     3500= list.1Snumbers;  3600= list.1Snumbers;     3700= list.1Snumbers;     3800= list.1Snumbers;     3900= list.1Snumbers;  4000= list.1Snumbers;     4100= list.1Snumbers;     4200= list.1Snumbers;     4300= list.1Snumbers;  4400= list.1Snumbers;     4500= list.1Snumbers;     4600= list.1Snumbers;     4700= list.1Snumbers;  4800= list.1Snumbers;     4900= list.1Snumbers;     5000= list.1Snumbers;     5100= list.1Snumbers;  5200= list.1Snumbers;     5300= list.1Snumbers;     5400= list.1Snumbers;     5500= list.1Snumbers;  5600= list.1Snumbers;     5700= list.1Snumbers;     5800= list.1Snumbers;     5900= list.1Snumbers;  6000= list.1Snumbers;     6100= list.1Snumbers;     6200= list.1Snumbers;     6300= list.1Snumbers;  6400= list.1Snumbers;     6500= list.1Snumbers;
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>


The entire syntax doesn't make much sense because it's full of circular references. It's also unclear what you mean by "I want to present 10 randomly selected sounds to each respondent from a list of 30 sounds." Do you want to present one sound repeatedly during a given trial, and then run 10 trials with each playing a different sound repeatedly? Or do you want to run a single trial that plays 10 out of 30 sounds one after another?

At any rate, this

<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>

makes no sense. And you should have your <trial>'s /stimulusframes display the <sound> element, not reference a <list>. I.e.

<likert NewStudy1>
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex] 
/ anchors = [1="Rating1"; 11=" Rating2"]
/ stimulusframes = [1 = 1S; 100= 1S; 200= 1S; 300= 1S; 400= 1S; 500= 1S;
600= 1S; 700= 1S; 800= 1S; 900= 1S; 1000= 1S; 
...
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>


Hi Dave,

What I meant is that 10 different  sounds to be selected (out of 30) and rated by respondent in Likert 1 (Familiarity) , then same 10 sounds in Likert 2 (likeability), and then same in Likert 3.
/ Stimlusfame is playing the same sound in loop till respondent responds.


#1: You only posted a single <likert> element, not multiple.
#2: If you want a single <likert> to play 10 different sounds, you need to set up 10 sound elements.

"/ Stimlusfame is playing the same sound in loop till respondent responds."

Is exactly what the code you posted is supposed to do.
By Dave - 4/23/2019

Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019
Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019
Hi,

I want to present 10 randomly selected sounds to each respondent from a list of 30 sounds and each participant rates it on a Likert scale. And the list element then presents the same 10 sounds to each respondent in subsequent blocks too.
Problem that I am facing is that instead of 10 different random sounds presented to each respondent, I find that same list of 10 sounds is presented to all respondents. There is no variation / randomness in that. 
What is wrong in this code? How can I ensure that 10 different random sounds out of 30 is presented to each respondent rather than the same list of sounds presented to each.

Thanks

<sound 1S>
/ items = 1S
/ playthrough = false
/ select = values.1S
</sound>

<item 1S>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>


<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>


<values>
/ 1S = 1
</values>


<likert NewStudy1>
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex]     
/ anchors = [1="Rating1"; 11=" Rating2"]
/ stimulusframes = [1 = list.1Snumbers; 100= list.1Snumbers;           200= list.1Snumbers;       300= list.1Snumbers;  400= list.1Snumbers;       500= list.1Snumbers;       600= list.1Snumbers;       700= list.1Snumbers;  800= list.1Snumbers;       900= list.1Snumbers;       1000= list.1Snumbers;     1100= list.1Snumbers;  1200= list.1Snumbers;     1300= list.1Snumbers;     1400= list.1Snumbers;     1500= list.1Snumbers;  1600= list.1Snumbers;     1700= list.1Snumbers;     1800= list.1Snumbers;     1900= list.1Snumbers;  2000= list.1Snumbers;     2100= list.1Snumbers;     2200= list.1Snumbers;     2300= list.1Snumbers;  2400= list.1Snumbers;     2500= list.1Snumbers;     2600= list.1Snumbers;     2700= list.1Snumbers;  2800= list.1Snumbers;     2900= list.1Snumbers;     3000= list.1Snumbers;     3100= list.1Snumbers;  3200= list.1Snumbers;     3300= list.1Snumbers;     3400= list.1Snumbers;     3500= list.1Snumbers;  3600= list.1Snumbers;     3700= list.1Snumbers;     3800= list.1Snumbers;     3900= list.1Snumbers;  4000= list.1Snumbers;     4100= list.1Snumbers;     4200= list.1Snumbers;     4300= list.1Snumbers;  4400= list.1Snumbers;     4500= list.1Snumbers;     4600= list.1Snumbers;     4700= list.1Snumbers;  4800= list.1Snumbers;     4900= list.1Snumbers;     5000= list.1Snumbers;     5100= list.1Snumbers;  5200= list.1Snumbers;     5300= list.1Snumbers;     5400= list.1Snumbers;     5500= list.1Snumbers;  5600= list.1Snumbers;     5700= list.1Snumbers;     5800= list.1Snumbers;     5900= list.1Snumbers;  6000= list.1Snumbers;     6100= list.1Snumbers;     6200= list.1Snumbers;     6300= list.1Snumbers;  6400= list.1Snumbers;     6500= list.1Snumbers;
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>


The entire syntax doesn't make much sense because it's full of circular references. It's also unclear what you mean by "I want to present 10 randomly selected sounds to each respondent from a list of 30 sounds." Do you want to present one sound repeatedly during a given trial, and then run 10 trials with each playing a different sound repeatedly? Or do you want to run a single trial that plays 10 out of 30 sounds one after another?

At any rate, this

<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>

makes no sense. And you should have your <trial>'s /stimulusframes display the <sound> element, not reference a <list>. I.e.

<likert NewStudy1>
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex] 
/ anchors = [1="Rating1"; 11=" Rating2"]
/ stimulusframes = [1 = 1S; 100= 1S; 200= 1S; 300= 1S; 400= 1S; 500= 1S;
600= 1S; 700= 1S; 800= 1S; 900= 1S; 1000= 1S; 
...
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>


Hi Dave,

What I meant is that 10 different  sounds to be selected (out of 30) and rated by respondent in Likert 1 (Familiarity) , then same 10 sounds in Likert 2 (likeability), and then same in Likert 3.
/ Stimlusfame is playing the same sound in loop till respondent responds.


#1: You only posted a single <likert> element, not multiple.
#2: If you want a single <likert> to play 10 different sounds, you need to set up 10 sound elements.

"/ Stimlusfame is playing the same sound in loop till respondent responds."

Is exactly what the code you posted is supposed to do.

Here is a quick example using <text> elements, because I don't have your .wav files.

<values>
/ s1 = 1
/ s2 = 1
/ s3 = 1
/ s4 = 1
/ s5 = 1
</values>

<list all>
/ poolsize = 30
/ selectionrate = always
</list>

<list s>
/ items = (values.s1, values.s2, values.s3, values.s4, values.s5)
/ selectionrate = always
/ selectionmode = sequence
</list>


<block myblock>
/ onblockbegin = [
values.s1 = list.all.nextindex;
values.s2 = list.all.nextindex;
values.s3 = list.all.nextindex;
values.s4 = list.all.nextindex;
values.s5 = list.all.nextindex;
]
/ trials = [1=sequence(a,b,c)]
</block>

<likert a>
/ stimulustimes = [0=s1; 1000=s2; 2000=s3; 3000=s4; 4000=s5]
/ position = (50%, 70%)
</likert>

<likert b>
/ stimulustimes = [0=s1; 1000=s2; 2000=s3; 3000=s4; 4000=s5]
/ position = (50%, 70%)
</likert>

<likert c>
/ stimulustimes = [0=s1; 1000=s2; 2000=s3; 3000=s4; 4000=s5]
/ position = (50%, 70%)
</likert>

<text s1>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s2>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s3>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s4>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s5>
/ items = sitems
/ select = list.s.nextvalue
</text>

<item sitems>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>
By abhi - 4/24/2019

Dave - Wednesday, April 24, 2019
Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019
Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019
Hi,

I want to present 10 randomly selected sounds to each respondent from a list of 30 sounds and each participant rates it on a Likert scale. And the list element then presents the same 10 sounds to each respondent in subsequent blocks too.
Problem that I am facing is that instead of 10 different random sounds presented to each respondent, I find that same list of 10 sounds is presented to all respondents. There is no variation / randomness in that. 
What is wrong in this code? How can I ensure that 10 different random sounds out of 30 is presented to each respondent rather than the same list of sounds presented to each.

Thanks

<sound 1S>
/ items = 1S
/ playthrough = false
/ select = values.1S
</sound>

<item 1S>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>


<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>


<values>
/ 1S = 1
</values>


<likert NewStudy1>
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex]     
/ anchors = [1="Rating1"; 11=" Rating2"]
/ stimulusframes = [1 = list.1Snumbers; 100= list.1Snumbers;           200= list.1Snumbers;       300= list.1Snumbers;  400= list.1Snumbers;       500= list.1Snumbers;       600= list.1Snumbers;       700= list.1Snumbers;  800= list.1Snumbers;       900= list.1Snumbers;       1000= list.1Snumbers;     1100= list.1Snumbers;  1200= list.1Snumbers;     1300= list.1Snumbers;     1400= list.1Snumbers;     1500= list.1Snumbers;  1600= list.1Snumbers;     1700= list.1Snumbers;     1800= list.1Snumbers;     1900= list.1Snumbers;  2000= list.1Snumbers;     2100= list.1Snumbers;     2200= list.1Snumbers;     2300= list.1Snumbers;  2400= list.1Snumbers;     2500= list.1Snumbers;     2600= list.1Snumbers;     2700= list.1Snumbers;  2800= list.1Snumbers;     2900= list.1Snumbers;     3000= list.1Snumbers;     3100= list.1Snumbers;  3200= list.1Snumbers;     3300= list.1Snumbers;     3400= list.1Snumbers;     3500= list.1Snumbers;  3600= list.1Snumbers;     3700= list.1Snumbers;     3800= list.1Snumbers;     3900= list.1Snumbers;  4000= list.1Snumbers;     4100= list.1Snumbers;     4200= list.1Snumbers;     4300= list.1Snumbers;  4400= list.1Snumbers;     4500= list.1Snumbers;     4600= list.1Snumbers;     4700= list.1Snumbers;  4800= list.1Snumbers;     4900= list.1Snumbers;     5000= list.1Snumbers;     5100= list.1Snumbers;  5200= list.1Snumbers;     5300= list.1Snumbers;     5400= list.1Snumbers;     5500= list.1Snumbers;  5600= list.1Snumbers;     5700= list.1Snumbers;     5800= list.1Snumbers;     5900= list.1Snumbers;  6000= list.1Snumbers;     6100= list.1Snumbers;     6200= list.1Snumbers;     6300= list.1Snumbers;  6400= list.1Snumbers;     6500= list.1Snumbers;
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>


The entire syntax doesn't make much sense because it's full of circular references. It's also unclear what you mean by "I want to present 10 randomly selected sounds to each respondent from a list of 30 sounds." Do you want to present one sound repeatedly during a given trial, and then run 10 trials with each playing a different sound repeatedly? Or do you want to run a single trial that plays 10 out of 30 sounds one after another?

At any rate, this

<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>

makes no sense. And you should have your <trial>'s /stimulusframes display the <sound> element, not reference a <list>. I.e.

<likert NewStudy1>
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex] 
/ anchors = [1="Rating1"; 11=" Rating2"]
/ stimulusframes = [1 = 1S; 100= 1S; 200= 1S; 300= 1S; 400= 1S; 500= 1S;
600= 1S; 700= 1S; 800= 1S; 900= 1S; 1000= 1S; 
...
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>


Hi Dave,

What I meant is that 10 different  sounds to be selected (out of 30) and rated by respondent in Likert 1 (Familiarity) , then same 10 sounds in Likert 2 (likeability), and then same in Likert 3.
/ Stimlusfame is playing the same sound in loop till respondent responds.


#1: You only posted a single <likert> element, not multiple.
#2: If you want a single <likert> to play 10 different sounds, you need to set up 10 sound elements.

"/ Stimlusfame is playing the same sound in loop till respondent responds."

Is exactly what the code you posted is supposed to do.

Here is a quick example using <text> elements, because I don't have your .wav files.

<values>
/ s1 = 1
/ s2 = 1
/ s3 = 1
/ s4 = 1
/ s5 = 1
</values>

<list all>
/ poolsize = 30
/ selectionrate = always
</list>

<list s>
/ items = (values.s1, values.s2, values.s3, values.s4, values.s5)
/ selectionrate = always
/ selectionmode = sequence
</list>


<block myblock>
/ onblockbegin = [
values.s1 = list.all.nextindex;
values.s2 = list.all.nextindex;
values.s3 = list.all.nextindex;
values.s4 = list.all.nextindex;
values.s5 = list.all.nextindex;
]
/ trials = [1=sequence(a,b,c)]
</block>

<likert a>
/ stimulustimes = [0=s1; 1000=s2; 2000=s3; 3000=s4; 4000=s5]
/ position = (50%, 70%)
</likert>

<likert b>
/ stimulustimes = [0=s1; 1000=s2; 2000=s3; 3000=s4; 4000=s5]
/ position = (50%, 70%)
</likert>

<likert c>
/ stimulustimes = [0=s1; 1000=s2; 2000=s3; 3000=s4; 4000=s5]
/ position = (50%, 70%)
</likert>

<text s1>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s2>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s3>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s4>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s5>
/ items = sitems
/ select = list.s.nextvalue
</text>

<item sitems>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>

Hi Dave,

Thanks for this. I will try this out now.
Another issue which I am facing with a similar code (following ) is that. I want respondent to keep hearing the word and select/check a few categories in check boxes. The problem is that this loop of sound played in /stimulusfames doesn’t stop if someone finishes checking the boxes early (i.e. it doesn’t allow respondent to move on to next page if he/she has finished. It plays on e.g. in this code 5 times).
Tried  /beginresponsetime and /beginresponseframe but doesn’t work.


<survey p5>
/ pages = [1-10=p6]
/ itemspacing = 4%
/ screencolor = (0,134,139)
/ showpagenumbers = false
/ showquestionnumbers = false
/ pagefontstyle = ("Arial", 3%, false, false, false, false, 5, 0)
/ skip = [dropdown.agreement.response == "I do NOT agree to participate in this study"]
/ finishlabel = "Next"
/ recorddata = true
/ showbackbutton = false
</survey>

<surveypage p6>
/ caption = "You are hearing a new word. Please select appropriate categories for the word.
/ stimulusframes = [1 = list.1Snumbers; 100= list.1Snumbers;200= list.1Snumbers; 300 = list.1Snumbers; 400= list.1Snumbers;         500= list.1Snumbers;]
/ questions = [1= q1, q2, q3, q4]
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex]     
/ fontstyle = ("Arial", 2%)
/ responsefontstyle = ("Arial", 1.7%, false, false, false, false, 5, 0)
/ showquestionnumbers = false
/ showpagenumbers = false
/ nextbuttonposition = (50,80)
/ itemspacing = 20
</surveypage>

<checkboxes q1>
/ options = (
"text"
"text"
"text"
"text")
/ orientation = vertical
/ size = (100,100)
/ order = sequence
/ position = (10, 20)
</checkboxes>

<checkboxes q2>
/ options = (
"text"
"text"
"text"
"text")
/ orientation = vertical
/ size = (100,100)
/ order= sequence
/ position = (30, 20)
</checkboxes>

<checkboxes q3>
/ options = (
"text"
"text"
"text"
"text")
/ orientation = vertical
/ size = (100,100)
/ order= sequence
/ position = (50, 20)
</checkboxes>

<checkboxes q4>
/ options = (
"text"
"text"
"text"
"text")
/ orientation = vertical
/ size = (100,100)
/ order= sequence
/ position = (70, 20)
</checkboxes>

<sound 1S>
/ items = 1S
/ playthrough = false
/ select = values.1S
</sound>

<item 1S>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>


<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>


<values>
/ 1S = 1
</values>



By Dave - 4/24/2019

abhi - Wednesday, April 24, 2019
Dave - Wednesday, April 24, 2019
Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019
Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019
Hi,

I want to present 10 randomly selected sounds to each respondent from a list of 30 sounds and each participant rates it on a Likert scale. And the list element then presents the same 10 sounds to each respondent in subsequent blocks too.
Problem that I am facing is that instead of 10 different random sounds presented to each respondent, I find that same list of 10 sounds is presented to all respondents. There is no variation / randomness in that. 
What is wrong in this code? How can I ensure that 10 different random sounds out of 30 is presented to each respondent rather than the same list of sounds presented to each.

Thanks

<sound 1S>
/ items = 1S
/ playthrough = false
/ select = values.1S
</sound>

<item 1S>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>


<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>


<values>
/ 1S = 1
</values>


<likert NewStudy1>
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex]     
/ anchors = [1="Rating1"; 11=" Rating2"]
/ stimulusframes = [1 = list.1Snumbers; 100= list.1Snumbers;           200= list.1Snumbers;       300= list.1Snumbers;  400= list.1Snumbers;       500= list.1Snumbers;       600= list.1Snumbers;       700= list.1Snumbers;  800= list.1Snumbers;       900= list.1Snumbers;       1000= list.1Snumbers;     1100= list.1Snumbers;  1200= list.1Snumbers;     1300= list.1Snumbers;     1400= list.1Snumbers;     1500= list.1Snumbers;  1600= list.1Snumbers;     1700= list.1Snumbers;     1800= list.1Snumbers;     1900= list.1Snumbers;  2000= list.1Snumbers;     2100= list.1Snumbers;     2200= list.1Snumbers;     2300= list.1Snumbers;  2400= list.1Snumbers;     2500= list.1Snumbers;     2600= list.1Snumbers;     2700= list.1Snumbers;  2800= list.1Snumbers;     2900= list.1Snumbers;     3000= list.1Snumbers;     3100= list.1Snumbers;  3200= list.1Snumbers;     3300= list.1Snumbers;     3400= list.1Snumbers;     3500= list.1Snumbers;  3600= list.1Snumbers;     3700= list.1Snumbers;     3800= list.1Snumbers;     3900= list.1Snumbers;  4000= list.1Snumbers;     4100= list.1Snumbers;     4200= list.1Snumbers;     4300= list.1Snumbers;  4400= list.1Snumbers;     4500= list.1Snumbers;     4600= list.1Snumbers;     4700= list.1Snumbers;  4800= list.1Snumbers;     4900= list.1Snumbers;     5000= list.1Snumbers;     5100= list.1Snumbers;  5200= list.1Snumbers;     5300= list.1Snumbers;     5400= list.1Snumbers;     5500= list.1Snumbers;  5600= list.1Snumbers;     5700= list.1Snumbers;     5800= list.1Snumbers;     5900= list.1Snumbers;  6000= list.1Snumbers;     6100= list.1Snumbers;     6200= list.1Snumbers;     6300= list.1Snumbers;  6400= list.1Snumbers;     6500= list.1Snumbers;
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>


The entire syntax doesn't make much sense because it's full of circular references. It's also unclear what you mean by "I want to present 10 randomly selected sounds to each respondent from a list of 30 sounds." Do you want to present one sound repeatedly during a given trial, and then run 10 trials with each playing a different sound repeatedly? Or do you want to run a single trial that plays 10 out of 30 sounds one after another?

At any rate, this

<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>

makes no sense. And you should have your <trial>'s /stimulusframes display the <sound> element, not reference a <list>. I.e.

<likert NewStudy1>
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex] 
/ anchors = [1="Rating1"; 11=" Rating2"]
/ stimulusframes = [1 = 1S; 100= 1S; 200= 1S; 300= 1S; 400= 1S; 500= 1S;
600= 1S; 700= 1S; 800= 1S; 900= 1S; 1000= 1S; 
...
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>


Hi Dave,

What I meant is that 10 different  sounds to be selected (out of 30) and rated by respondent in Likert 1 (Familiarity) , then same 10 sounds in Likert 2 (likeability), and then same in Likert 3.
/ Stimlusfame is playing the same sound in loop till respondent responds.


#1: You only posted a single <likert> element, not multiple.
#2: If you want a single <likert> to play 10 different sounds, you need to set up 10 sound elements.

"/ Stimlusfame is playing the same sound in loop till respondent responds."

Is exactly what the code you posted is supposed to do.

Here is a quick example using <text> elements, because I don't have your .wav files.

<values>
/ s1 = 1
/ s2 = 1
/ s3 = 1
/ s4 = 1
/ s5 = 1
</values>

<list all>
/ poolsize = 30
/ selectionrate = always
</list>

<list s>
/ items = (values.s1, values.s2, values.s3, values.s4, values.s5)
/ selectionrate = always
/ selectionmode = sequence
</list>


<block myblock>
/ onblockbegin = [
values.s1 = list.all.nextindex;
values.s2 = list.all.nextindex;
values.s3 = list.all.nextindex;
values.s4 = list.all.nextindex;
values.s5 = list.all.nextindex;
]
/ trials = [1=sequence(a,b,c)]
</block>

<likert a>
/ stimulustimes = [0=s1; 1000=s2; 2000=s3; 3000=s4; 4000=s5]
/ position = (50%, 70%)
</likert>

<likert b>
/ stimulustimes = [0=s1; 1000=s2; 2000=s3; 3000=s4; 4000=s5]
/ position = (50%, 70%)
</likert>

<likert c>
/ stimulustimes = [0=s1; 1000=s2; 2000=s3; 3000=s4; 4000=s5]
/ position = (50%, 70%)
</likert>

<text s1>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s2>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s3>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s4>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s5>
/ items = sitems
/ select = list.s.nextvalue
</text>

<item sitems>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>

Hi Dave,

Thanks for this. I will try this out now.
Another issue which I am facing with a similar code (following ) is that. I want respondent to keep hearing the word and select/check a few categories in check boxes. The problem is that this loop of sound played in /stimulusfames doesn’t stop if someone finishes checking the boxes early (i.e. it doesn’t allow respondent to move on to next page if he/she has finished. It plays on e.g. in this code 5 times).
Tried  /beginresponsetime and /beginresponseframe but doesn’t work.


<survey p5>
/ pages = [1-10=p6]
/ itemspacing = 4%
/ screencolor = (0,134,139)
/ showpagenumbers = false
/ showquestionnumbers = false
/ pagefontstyle = ("Arial", 3%, false, false, false, false, 5, 0)
/ skip = [dropdown.agreement.response == "I do NOT agree to participate in this study"]
/ finishlabel = "Next"
/ recorddata = true
/ showbackbutton = false
</survey>

<surveypage p6>
/ caption = "You are hearing a new word. Please select appropriate categories for the word.
/ stimulusframes = [1 = list.1Snumbers; 100= list.1Snumbers;200= list.1Snumbers; 300 = list.1Snumbers; 400= list.1Snumbers;         500= list.1Snumbers;]
/ questions = [1= q1, q2, q3, q4]
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex]     
/ fontstyle = ("Arial", 2%)
/ responsefontstyle = ("Arial", 1.7%, false, false, false, false, 5, 0)
/ showquestionnumbers = false
/ showpagenumbers = false
/ nextbuttonposition = (50,80)
/ itemspacing = 20
</surveypage>

<checkboxes q1>
/ options = (
"text"
"text"
"text"
"text")
/ orientation = vertical
/ size = (100,100)
/ order = sequence
/ position = (10, 20)
</checkboxes>

<checkboxes q2>
/ options = (
"text"
"text"
"text"
"text")
/ orientation = vertical
/ size = (100,100)
/ order= sequence
/ position = (30, 20)
</checkboxes>

<checkboxes q3>
/ options = (
"text"
"text"
"text"
"text")
/ orientation = vertical
/ size = (100,100)
/ order= sequence
/ position = (50, 20)
</checkboxes>

<checkboxes q4>
/ options = (
"text"
"text"
"text"
"text")
/ orientation = vertical
/ size = (100,100)
/ order= sequence
/ position = (70, 20)
</checkboxes>

<sound 1S>
/ items = 1S
/ playthrough = false
/ select = values.1S
</sound>

<item 1S>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>


<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>


<values>
/ 1S = 1
</values>




Am I reading you correctly in that here you want to merely loop a single item / sound, not multiple?

If so, why don't you use a <video> element with MP3s instead of WAVs and set its /loop attribute to true?

<video example>
/ items = exampleitems
/ playthrough = false
/ loop = true
...
</video>

<item exampleitems>
/ 1 = "1.mp3"
/ 2 = "2.mp3"
...
</item>

<surveypage examplepage>
/ caption = "You are hearing a new word. Please select appropriate categories for the word."
/ stimulusframes = [1 = example]
/ questions = [1= q1, q2, q3, q4]
...
</surveypage>

That's the best and only option I see.
By abhi - 4/24/2019

Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019
Dave - Wednesday, April 24, 2019
Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019
Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019
Hi,

I want to present 10 randomly selected sounds to each respondent from a list of 30 sounds and each participant rates it on a Likert scale. And the list element then presents the same 10 sounds to each respondent in subsequent blocks too.
Problem that I am facing is that instead of 10 different random sounds presented to each respondent, I find that same list of 10 sounds is presented to all respondents. There is no variation / randomness in that. 
What is wrong in this code? How can I ensure that 10 different random sounds out of 30 is presented to each respondent rather than the same list of sounds presented to each.

Thanks

<sound 1S>
/ items = 1S
/ playthrough = false
/ select = values.1S
</sound>

<item 1S>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>


<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>


<values>
/ 1S = 1
</values>


<likert NewStudy1>
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex]     
/ anchors = [1="Rating1"; 11=" Rating2"]
/ stimulusframes = [1 = list.1Snumbers; 100= list.1Snumbers;           200= list.1Snumbers;       300= list.1Snumbers;  400= list.1Snumbers;       500= list.1Snumbers;       600= list.1Snumbers;       700= list.1Snumbers;  800= list.1Snumbers;       900= list.1Snumbers;       1000= list.1Snumbers;     1100= list.1Snumbers;  1200= list.1Snumbers;     1300= list.1Snumbers;     1400= list.1Snumbers;     1500= list.1Snumbers;  1600= list.1Snumbers;     1700= list.1Snumbers;     1800= list.1Snumbers;     1900= list.1Snumbers;  2000= list.1Snumbers;     2100= list.1Snumbers;     2200= list.1Snumbers;     2300= list.1Snumbers;  2400= list.1Snumbers;     2500= list.1Snumbers;     2600= list.1Snumbers;     2700= list.1Snumbers;  2800= list.1Snumbers;     2900= list.1Snumbers;     3000= list.1Snumbers;     3100= list.1Snumbers;  3200= list.1Snumbers;     3300= list.1Snumbers;     3400= list.1Snumbers;     3500= list.1Snumbers;  3600= list.1Snumbers;     3700= list.1Snumbers;     3800= list.1Snumbers;     3900= list.1Snumbers;  4000= list.1Snumbers;     4100= list.1Snumbers;     4200= list.1Snumbers;     4300= list.1Snumbers;  4400= list.1Snumbers;     4500= list.1Snumbers;     4600= list.1Snumbers;     4700= list.1Snumbers;  4800= list.1Snumbers;     4900= list.1Snumbers;     5000= list.1Snumbers;     5100= list.1Snumbers;  5200= list.1Snumbers;     5300= list.1Snumbers;     5400= list.1Snumbers;     5500= list.1Snumbers;  5600= list.1Snumbers;     5700= list.1Snumbers;     5800= list.1Snumbers;     5900= list.1Snumbers;  6000= list.1Snumbers;     6100= list.1Snumbers;     6200= list.1Snumbers;     6300= list.1Snumbers;  6400= list.1Snumbers;     6500= list.1Snumbers;
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>


The entire syntax doesn't make much sense because it's full of circular references. It's also unclear what you mean by "I want to present 10 randomly selected sounds to each respondent from a list of 30 sounds." Do you want to present one sound repeatedly during a given trial, and then run 10 trials with each playing a different sound repeatedly? Or do you want to run a single trial that plays 10 out of 30 sounds one after another?

At any rate, this

<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>

makes no sense. And you should have your <trial>'s /stimulusframes display the <sound> element, not reference a <list>. I.e.

<likert NewStudy1>
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex] 
/ anchors = [1="Rating1"; 11=" Rating2"]
/ stimulusframes = [1 = 1S; 100= 1S; 200= 1S; 300= 1S; 400= 1S; 500= 1S;
600= 1S; 700= 1S; 800= 1S; 900= 1S; 1000= 1S; 
...
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>


Hi Dave,

What I meant is that 10 different  sounds to be selected (out of 30) and rated by respondent in Likert 1 (Familiarity) , then same 10 sounds in Likert 2 (likeability), and then same in Likert 3.
/ Stimlusfame is playing the same sound in loop till respondent responds.


#1: You only posted a single <likert> element, not multiple.
#2: If you want a single <likert> to play 10 different sounds, you need to set up 10 sound elements.

"/ Stimlusfame is playing the same sound in loop till respondent responds."

Is exactly what the code you posted is supposed to do.

Here is a quick example using <text> elements, because I don't have your .wav files.

<values>
/ s1 = 1
/ s2 = 1
/ s3 = 1
/ s4 = 1
/ s5 = 1
</values>

<list all>
/ poolsize = 30
/ selectionrate = always
</list>

<list s>
/ items = (values.s1, values.s2, values.s3, values.s4, values.s5)
/ selectionrate = always
/ selectionmode = sequence
</list>


<block myblock>
/ onblockbegin = [
values.s1 = list.all.nextindex;
values.s2 = list.all.nextindex;
values.s3 = list.all.nextindex;
values.s4 = list.all.nextindex;
values.s5 = list.all.nextindex;
]
/ trials = [1=sequence(a,b,c)]
</block>

<likert a>
/ stimulustimes = [0=s1; 1000=s2; 2000=s3; 3000=s4; 4000=s5]
/ position = (50%, 70%)
</likert>

<likert b>
/ stimulustimes = [0=s1; 1000=s2; 2000=s3; 3000=s4; 4000=s5]
/ position = (50%, 70%)
</likert>

<likert c>
/ stimulustimes = [0=s1; 1000=s2; 2000=s3; 3000=s4; 4000=s5]
/ position = (50%, 70%)
</likert>

<text s1>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s2>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s3>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s4>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s5>
/ items = sitems
/ select = list.s.nextvalue
</text>

<item sitems>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>

Hi Dave,

Thanks for this. I will try this out now.
Another issue which I am facing with a similar code (following ) is that. I want respondent to keep hearing the word and select/check a few categories in check boxes. The problem is that this loop of sound played in /stimulusfames doesn’t stop if someone finishes checking the boxes early (i.e. it doesn’t allow respondent to move on to next page if he/she has finished. It plays on e.g. in this code 5 times).
Tried  /beginresponsetime and /beginresponseframe but doesn’t work.


<survey p5>
/ pages = [1-10=p6]
/ itemspacing = 4%
/ screencolor = (0,134,139)
/ showpagenumbers = false
/ showquestionnumbers = false
/ pagefontstyle = ("Arial", 3%, false, false, false, false, 5, 0)
/ skip = [dropdown.agreement.response == "I do NOT agree to participate in this study"]
/ finishlabel = "Next"
/ recorddata = true
/ showbackbutton = false
</survey>

<surveypage p6>
/ caption = "You are hearing a new word. Please select appropriate categories for the word.
/ stimulusframes = [1 = list.1Snumbers; 100= list.1Snumbers;200= list.1Snumbers; 300 = list.1Snumbers; 400= list.1Snumbers;         500= list.1Snumbers;]
/ questions = [1= q1, q2, q3, q4]
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex]     
/ fontstyle = ("Arial", 2%)
/ responsefontstyle = ("Arial", 1.7%, false, false, false, false, 5, 0)
/ showquestionnumbers = false
/ showpagenumbers = false
/ nextbuttonposition = (50,80)
/ itemspacing = 20
</surveypage>

<checkboxes q1>
/ options = (
"text"
"text"
"text"
"text")
/ orientation = vertical
/ size = (100,100)
/ order = sequence
/ position = (10, 20)
</checkboxes>

<checkboxes q2>
/ options = (
"text"
"text"
"text"
"text")
/ orientation = vertical
/ size = (100,100)
/ order= sequence
/ position = (30, 20)
</checkboxes>

<checkboxes q3>
/ options = (
"text"
"text"
"text"
"text")
/ orientation = vertical
/ size = (100,100)
/ order= sequence
/ position = (50, 20)
</checkboxes>

<checkboxes q4>
/ options = (
"text"
"text"
"text"
"text")
/ orientation = vertical
/ size = (100,100)
/ order= sequence
/ position = (70, 20)
</checkboxes>

<sound 1S>
/ items = 1S
/ playthrough = false
/ select = values.1S
</sound>

<item 1S>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>


<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>


<values>
/ 1S = 1
</values>




Am I reading you correctly in that here you want to merely loop a single item / sound, not multiple?

If so, why don't you use a <video> element with MP3s instead of WAVs and set its /loop attribute to true?

<video example>
/ items = exampleitems
/ playthrough = false
/ loop = true
...
</video>

<item exampleitems>
/ 1 = "1.mp3"
/ 2 = "2.mp3"
...
</item>

<surveypage examplepage>
/ caption = "You are hearing a new word. Please select appropriate categories for the word."
/ stimulusframes = [1 = example]
/ questions = [1= q1, q2, q3, q4]
...
</surveypage>

That's the best and only option I see.

I did one with video element but it shows many errors in loading (I think error 407 or 470)
By abhi - 4/24/2019

abhi - Wednesday, April 24, 2019
Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019
Dave - Wednesday, April 24, 2019
Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019
Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019
Hi,

I want to present 10 randomly selected sounds to each respondent from a list of 30 sounds and each participant rates it on a Likert scale. And the list element then presents the same 10 sounds to each respondent in subsequent blocks too.
Problem that I am facing is that instead of 10 different random sounds presented to each respondent, I find that same list of 10 sounds is presented to all respondents. There is no variation / randomness in that. 
What is wrong in this code? How can I ensure that 10 different random sounds out of 30 is presented to each respondent rather than the same list of sounds presented to each.

Thanks

<sound 1S>
/ items = 1S
/ playthrough = false
/ select = values.1S
</sound>

<item 1S>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>


<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>


<values>
/ 1S = 1
</values>


<likert NewStudy1>
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex]     
/ anchors = [1="Rating1"; 11=" Rating2"]
/ stimulusframes = [1 = list.1Snumbers; 100= list.1Snumbers;           200= list.1Snumbers;       300= list.1Snumbers;  400= list.1Snumbers;       500= list.1Snumbers;       600= list.1Snumbers;       700= list.1Snumbers;  800= list.1Snumbers;       900= list.1Snumbers;       1000= list.1Snumbers;     1100= list.1Snumbers;  1200= list.1Snumbers;     1300= list.1Snumbers;     1400= list.1Snumbers;     1500= list.1Snumbers;  1600= list.1Snumbers;     1700= list.1Snumbers;     1800= list.1Snumbers;     1900= list.1Snumbers;  2000= list.1Snumbers;     2100= list.1Snumbers;     2200= list.1Snumbers;     2300= list.1Snumbers;  2400= list.1Snumbers;     2500= list.1Snumbers;     2600= list.1Snumbers;     2700= list.1Snumbers;  2800= list.1Snumbers;     2900= list.1Snumbers;     3000= list.1Snumbers;     3100= list.1Snumbers;  3200= list.1Snumbers;     3300= list.1Snumbers;     3400= list.1Snumbers;     3500= list.1Snumbers;  3600= list.1Snumbers;     3700= list.1Snumbers;     3800= list.1Snumbers;     3900= list.1Snumbers;  4000= list.1Snumbers;     4100= list.1Snumbers;     4200= list.1Snumbers;     4300= list.1Snumbers;  4400= list.1Snumbers;     4500= list.1Snumbers;     4600= list.1Snumbers;     4700= list.1Snumbers;  4800= list.1Snumbers;     4900= list.1Snumbers;     5000= list.1Snumbers;     5100= list.1Snumbers;  5200= list.1Snumbers;     5300= list.1Snumbers;     5400= list.1Snumbers;     5500= list.1Snumbers;  5600= list.1Snumbers;     5700= list.1Snumbers;     5800= list.1Snumbers;     5900= list.1Snumbers;  6000= list.1Snumbers;     6100= list.1Snumbers;     6200= list.1Snumbers;     6300= list.1Snumbers;  6400= list.1Snumbers;     6500= list.1Snumbers;
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>


The entire syntax doesn't make much sense because it's full of circular references. It's also unclear what you mean by "I want to present 10 randomly selected sounds to each respondent from a list of 30 sounds." Do you want to present one sound repeatedly during a given trial, and then run 10 trials with each playing a different sound repeatedly? Or do you want to run a single trial that plays 10 out of 30 sounds one after another?

At any rate, this

<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>

makes no sense. And you should have your <trial>'s /stimulusframes display the <sound> element, not reference a <list>. I.e.

<likert NewStudy1>
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex] 
/ anchors = [1="Rating1"; 11=" Rating2"]
/ stimulusframes = [1 = 1S; 100= 1S; 200= 1S; 300= 1S; 400= 1S; 500= 1S;
600= 1S; 700= 1S; 800= 1S; 900= 1S; 1000= 1S; 
...
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>


Hi Dave,

What I meant is that 10 different  sounds to be selected (out of 30) and rated by respondent in Likert 1 (Familiarity) , then same 10 sounds in Likert 2 (likeability), and then same in Likert 3.
/ Stimlusfame is playing the same sound in loop till respondent responds.


#1: You only posted a single <likert> element, not multiple.
#2: If you want a single <likert> to play 10 different sounds, you need to set up 10 sound elements.

"/ Stimlusfame is playing the same sound in loop till respondent responds."

Is exactly what the code you posted is supposed to do.

Here is a quick example using <text> elements, because I don't have your .wav files.

<values>
/ s1 = 1
/ s2 = 1
/ s3 = 1
/ s4 = 1
/ s5 = 1
</values>

<list all>
/ poolsize = 30
/ selectionrate = always
</list>

<list s>
/ items = (values.s1, values.s2, values.s3, values.s4, values.s5)
/ selectionrate = always
/ selectionmode = sequence
</list>


<block myblock>
/ onblockbegin = [
values.s1 = list.all.nextindex;
values.s2 = list.all.nextindex;
values.s3 = list.all.nextindex;
values.s4 = list.all.nextindex;
values.s5 = list.all.nextindex;
]
/ trials = [1=sequence(a,b,c)]
</block>

<likert a>
/ stimulustimes = [0=s1; 1000=s2; 2000=s3; 3000=s4; 4000=s5]
/ position = (50%, 70%)
</likert>

<likert b>
/ stimulustimes = [0=s1; 1000=s2; 2000=s3; 3000=s4; 4000=s5]
/ position = (50%, 70%)
</likert>

<likert c>
/ stimulustimes = [0=s1; 1000=s2; 2000=s3; 3000=s4; 4000=s5]
/ position = (50%, 70%)
</likert>

<text s1>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s2>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s3>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s4>
/ items = sitems
/ select = list.s.nextvalue
</text>

<text s5>
/ items = sitems
/ select = list.s.nextvalue
</text>

<item sitems>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>

Hi Dave,

Thanks for this. I will try this out now.
Another issue which I am facing with a similar code (following ) is that. I want respondent to keep hearing the word and select/check a few categories in check boxes. The problem is that this loop of sound played in /stimulusfames doesn’t stop if someone finishes checking the boxes early (i.e. it doesn’t allow respondent to move on to next page if he/she has finished. It plays on e.g. in this code 5 times).
Tried  /beginresponsetime and /beginresponseframe but doesn’t work.


<survey p5>
/ pages = [1-10=p6]
/ itemspacing = 4%
/ screencolor = (0,134,139)
/ showpagenumbers = false
/ showquestionnumbers = false
/ pagefontstyle = ("Arial", 3%, false, false, false, false, 5, 0)
/ skip = [dropdown.agreement.response == "I do NOT agree to participate in this study"]
/ finishlabel = "Next"
/ recorddata = true
/ showbackbutton = false
</survey>

<surveypage p6>
/ caption = "You are hearing a new word. Please select appropriate categories for the word.
/ stimulusframes = [1 = list.1Snumbers; 100= list.1Snumbers;200= list.1Snumbers; 300 = list.1Snumbers; 400= list.1Snumbers;         500= list.1Snumbers;]
/ questions = [1= q1, q2, q3, q4]
/ ontrialbegin = [values.1S = list.1Snumbers.nextindex]     
/ fontstyle = ("Arial", 2%)
/ responsefontstyle = ("Arial", 1.7%, false, false, false, false, 5, 0)
/ showquestionnumbers = false
/ showpagenumbers = false
/ nextbuttonposition = (50,80)
/ itemspacing = 20
</surveypage>

<checkboxes q1>
/ options = (
"text"
"text"
"text"
"text")
/ orientation = vertical
/ size = (100,100)
/ order = sequence
/ position = (10, 20)
</checkboxes>

<checkboxes q2>
/ options = (
"text"
"text"
"text"
"text")
/ orientation = vertical
/ size = (100,100)
/ order= sequence
/ position = (30, 20)
</checkboxes>

<checkboxes q3>
/ options = (
"text"
"text"
"text"
"text")
/ orientation = vertical
/ size = (100,100)
/ order= sequence
/ position = (50, 20)
</checkboxes>

<checkboxes q4>
/ options = (
"text"
"text"
"text"
"text")
/ orientation = vertical
/ size = (100,100)
/ order= sequence
/ position = (70, 20)
</checkboxes>

<sound 1S>
/ items = 1S
/ playthrough = false
/ select = values.1S
</sound>

<item 1S>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
/21="21.wav"
/22="22.wav"
/23="23.wav"
/24="24.wav"
/25="25.wav"
/26="26.wav"
/27="27.wav"
/28="28.wav"
</item>


<list 1Snumbers>
/ poolsize = 10
/ items = [sound.1S]
</list>


<values>
/ 1S = 1
</values>




Am I reading you correctly in that here you want to merely loop a single item / sound, not multiple?

If so, why don't you use a <video> element with MP3s instead of WAVs and set its /loop attribute to true?

<video example>
/ items = exampleitems
/ playthrough = false
/ loop = true
...
</video>

<item exampleitems>
/ 1 = "1.mp3"
/ 2 = "2.mp3"
...
</item>

<surveypage examplepage>
/ caption = "You are hearing a new word. Please select appropriate categories for the word."
/ stimulusframes = [1 = example]
/ questions = [1= q1, q2, q3, q4]
...
</surveypage>

That's the best and only option I see.

I did one with video element but it shows many errors in loading (I think error 407 or 470)

You are saying it is the only option, so no other way ? But will it work the same for mac and windows ?
By Dave - 4/24/2019

abhi - Wednesday, April 24, 2019

You are saying it is the only option, so no other way ? But will it work the same for mac and windows ?

I can't think of any other way to loop, but allow for interrupting the loop at any given time (i.e. when finishing the checkboxes). It will work the same across platforms. As for any errors, I cannot speak to that without the actual code and files. Note that, as I said, you ought to use MP3s or the like with <video>, WAV files will not work.
By abhi - 4/24/2019

Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019

You are saying it is the only option, so no other way ? But will it work the same for mac and windows ?

I can't think of any other way to loop, but allow for interrupting the loop at any given time (i.e. when finishing the checkboxes). It will work the same across platforms. As for any errors, I cannot speak to that without the actual code and files. Note that, as I said, you ought to use MP3s or the like with <video>, WAV files will not work.

Thanks Dave. Will try this one and write back if there are issues.
By abhi - 4/24/2019

Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019

You are saying it is the only option, so no other way ? But will it work the same for mac and windows ?

I can't think of any other way to loop, but allow for interrupting the loop at any given time (i.e. when finishing the checkboxes). It will work the same across platforms. As for any errors, I cannot speak to that without the actual code and files. Note that, as I said, you ought to use MP3s or the like with <video>, WAV files will not work.

Hi Dave,

Stuck here. Following code is working OK. I want to present 10 random sounds to a respondent, whcih is working fine in this code.

But why is it that the SAME 10 sounds are presented to different respondents.  Why it is not presenting 10 different randomly chosen sounds to different respondents.


<list all>
/ poolsize = 10
/ selectionrate = always
</list>

<list s>
/ items = (values.1S)
/ selectionrate = always
/ selectionmode = random
</list>

<sound 1S>
/ items = sitems
/ playthrough = false
/ select = list.s.nextvalue
</sound>


<item sitems>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
</item>

<values>
/ 1S = 1
</values>


<likert NewStudy1>
/ ontrialbegin = [values.1S = list.all.nextindex]      
/ anchors = [1="Extremely pleasant"; 11="Extremely Unpleaant"]
/ stimulusframes = [1 = 1S; 100= 1S;          200= 1S;               300= 1S;               400= 1S;               500= 1S;          600= 1S;               700= 1S;               800= 1S;               900= 1S;               1000= 1S;            1100= 1S;          1200= 1S;            1300= 1S;            1400= 1S;            1500= 1S;            1600= 1S;            1700= 1S;          1800= 1S;            1900= 1S;            2000= 1S;            2100= 1S;            2200= 1S;            2300= 1S;          2400= 1S;            2500= 1S;            2600= 1S;            2700= 1S;            2800= 1S;            2900= 1S;          3000= 1S;            3100= 1S;            3200= 1S;            3300= 1S;            3400= 1S;            3500= 1S;          3600= 1S;            3700= 1S;            3800= 1S;            3900= 1S;            4000= 1S;            4100= 1S;          4200= 1S;            4300= 1S;            4400= 1S;            4500= 1S;            4600= 1S;            4700= 1S;          4800= 1S;            4900= 1S;            5000= 1S;            5100= 1S;            5200= 1S;            5300= 1S;          5400= 1S;            5500= 1S;            5600= 1S;            5700= 1S;            5800= 1S;            5900= 1S;          6000= 1S;            6100= 1S;            6200= 1S;            6300= 1S;            6400= 1S;            6500= 1S;
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>

<block NewStudy1>
/ trials = [1-10= random(NewStudy1)]
/ bgstim = (Q1,qnew, block1)
/ skip = [dropdown.agreement.response == "I do NOT agree to participate in this study"]
/ screencolor = (white)
/ responsemode = correct
/ recorddata = true
</block>

By Dave - 4/24/2019

abhi - Thursday, April 25, 2019
Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019

You are saying it is the only option, so no other way ? But will it work the same for mac and windows ?

I can't think of any other way to loop, but allow for interrupting the loop at any given time (i.e. when finishing the checkboxes). It will work the same across platforms. As for any errors, I cannot speak to that without the actual code and files. Note that, as I said, you ought to use MP3s or the like with <video>, WAV files will not work.

Hi Dave,

Stuck here. Following code is working OK. I want to present 10 random sounds to a respondent, whcih is working fine in this code.

But why is it that the SAME 10 sounds are presented to different respondents.  Why it is not presenting 10 different randomly chosen sounds to different respondents.


<list all>
/ poolsize = 10
/ selectionrate = always
</list>

<list s>
/ items = (values.1S)
/ selectionrate = always
/ selectionmode = random
</list>

<sound 1S>
/ items = sitems
/ playthrough = false
/ select = list.s.nextvalue
</sound>


<item sitems>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
</item>

<values>
/ 1S = 1
</values>


<likert NewStudy1>
/ ontrialbegin = [values.1S = list.all.nextindex]      
/ anchors = [1="Extremely pleasant"; 11="Extremely Unpleaant"]
/ stimulusframes = [1 = 1S; 100= 1S;          200= 1S;               300= 1S;               400= 1S;               500= 1S;          600= 1S;               700= 1S;               800= 1S;               900= 1S;               1000= 1S;            1100= 1S;          1200= 1S;            1300= 1S;            1400= 1S;            1500= 1S;            1600= 1S;            1700= 1S;          1800= 1S;            1900= 1S;            2000= 1S;            2100= 1S;            2200= 1S;            2300= 1S;          2400= 1S;            2500= 1S;            2600= 1S;            2700= 1S;            2800= 1S;            2900= 1S;          3000= 1S;            3100= 1S;            3200= 1S;            3300= 1S;            3400= 1S;            3500= 1S;          3600= 1S;            3700= 1S;            3800= 1S;            3900= 1S;            4000= 1S;            4100= 1S;          4200= 1S;            4300= 1S;            4400= 1S;            4500= 1S;            4600= 1S;            4700= 1S;          4800= 1S;            4900= 1S;            5000= 1S;            5100= 1S;            5200= 1S;            5300= 1S;          5400= 1S;            5500= 1S;            5600= 1S;            5700= 1S;            5800= 1S;            5900= 1S;          6000= 1S;            6100= 1S;            6200= 1S;            6300= 1S;            6400= 1S;            6500= 1S;
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>

<block NewStudy1>
/ trials = [1-10= random(NewStudy1)]
/ bgstim = (Q1,qnew, block1)
/ skip = [dropdown.agreement.response == "I do NOT agree to participate in this study"]
/ screencolor = (white)
/ responsemode = correct
/ recorddata = true
</block>


It's the same 10 sounds because you are only sampling from items 1 to 10

<list all>
/ poolsize = 10
/ selectionrate = always
</list>

not from items up to 30.

See https://www.millisecond.com/forums/FindPost26853.aspx again.
By abhi - 4/24/2019

Dave - Thursday, April 25, 2019
abhi - Thursday, April 25, 2019
Dave - Wednesday, April 24, 2019
abhi - Wednesday, April 24, 2019

You are saying it is the only option, so no other way ? But will it work the same for mac and windows ?

I can't think of any other way to loop, but allow for interrupting the loop at any given time (i.e. when finishing the checkboxes). It will work the same across platforms. As for any errors, I cannot speak to that without the actual code and files. Note that, as I said, you ought to use MP3s or the like with <video>, WAV files will not work.

Hi Dave,

Stuck here. Following code is working OK. I want to present 10 random sounds to a respondent, whcih is working fine in this code.

But why is it that the SAME 10 sounds are presented to different respondents.  Why it is not presenting 10 different randomly chosen sounds to different respondents.


<list all>
/ poolsize = 10
/ selectionrate = always
</list>

<list s>
/ items = (values.1S)
/ selectionrate = always
/ selectionmode = random
</list>

<sound 1S>
/ items = sitems
/ playthrough = false
/ select = list.s.nextvalue
</sound>


<item sitems>
/1="1.wav"
/2="2.wav"
/3="3.wav"
/4="4.wav"
/5="5.wav"
/6="6.wav"
/7="7.wav"
/8="8.wav"
/9="9.wav"
/10="10.wav"
/11="11.wav"
/12="12.wav"
/13="13.wav"
/14="14.wav"
/15="15.wav"
/16="16.wav"
/17="17.wav"
/18="18.wav"
/19="19.wav"
/20="20.wav"
</item>

<values>
/ 1S = 1
</values>


<likert NewStudy1>
/ ontrialbegin = [values.1S = list.all.nextindex]      
/ anchors = [1="Extremely pleasant"; 11="Extremely Unpleaant"]
/ stimulusframes = [1 = 1S; 100= 1S;          200= 1S;               300= 1S;               400= 1S;               500= 1S;          600= 1S;               700= 1S;               800= 1S;               900= 1S;               1000= 1S;            1100= 1S;          1200= 1S;            1300= 1S;            1400= 1S;            1500= 1S;            1600= 1S;            1700= 1S;          1800= 1S;            1900= 1S;            2000= 1S;            2100= 1S;            2200= 1S;            2300= 1S;          2400= 1S;            2500= 1S;            2600= 1S;            2700= 1S;            2800= 1S;            2900= 1S;          3000= 1S;            3100= 1S;            3200= 1S;            3300= 1S;            3400= 1S;            3500= 1S;          3600= 1S;            3700= 1S;            3800= 1S;            3900= 1S;            4000= 1S;            4100= 1S;          4200= 1S;            4300= 1S;            4400= 1S;            4500= 1S;            4600= 1S;            4700= 1S;          4800= 1S;            4900= 1S;            5000= 1S;            5100= 1S;            5200= 1S;            5300= 1S;          5400= 1S;            5500= 1S;            5600= 1S;            5700= 1S;            5800= 1S;            5900= 1S;          6000= 1S;            6100= 1S;            6200= 1S;            6300= 1S;            6400= 1S;            6500= 1S;
]
/ fontstyle = ("Arial", 1.4%,true, false, false, false, 5, 0)
/ beginresponseframe = 1
/ anchorwidth = 150
/ recorddata = true
/ response = free
/ numpoints=11
/ position = (50, 55)
</likert>

<block NewStudy1>
/ trials = [1-10= random(NewStudy1)]
/ bgstim = (Q1,qnew, block1)
/ skip = [dropdown.agreement.response == "I do NOT agree to participate in this study"]
/ screencolor = (white)
/ responsemode = correct
/ recorddata = true
</block>


It's the same 10 sounds because you are only sampling from items 1 to 10

<list all>
/ poolsize = 10
/ selectionrate = always
</list>

not from items up to 30.

See https://www.millisecond.com/forums/FindPost26853.aspx again.

when I use poolsize 30 then there is variation of sounds within partipant also across 2 blocks. I want same 10 sounds for one participant across many blocks.

But between particpants these 10 sounds should vary.
By Dave - 4/24/2019

abhi - Thursday, April 25, 2019

when I use poolsize 30 then there is variation of sounds within partipant also across 2 blocks. I want same 10 sounds for one participant across many blocks.

But between particpants these 10 sounds should vary.

That is what the code I gave you does:

https://www.millisecond.com/forums/FindPost26853.aspx

The example selects 5 items out of 30 at random for a given participant, and those 5 items then remain the same for that participant. A different participant will get a different sample of 5 items out of 30, which will then remain constant for that participant.