Likert and list element


Author
Message
abhi
abhi
Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)
Group: Forum Members
Posts: 114, Visits: 558
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>


Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
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>


abhi
abhi
Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)
Group: Forum Members
Posts: 114, Visits: 558
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.


Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
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.

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
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>

abhi
abhi
Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)
Group: Forum Members
Posts: 114, Visits: 558
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>




Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
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.

abhi
abhi
Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)
Group: Forum Members
Posts: 114, Visits: 558
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)

abhi
abhi
Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)Guru (7.3K reputation)
Group: Forum Members
Posts: 114, Visits: 558
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 ?

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
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.

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search