Randomizing not working #1998
-
Hi there, I have an experiment with 4 different blocks and 4 different stimuli lists, so altogether I have 16 lists of stimuli. I would like them to play in a randomized order, but nothing I seem to be doing gets the stimuli to be randomized. I tried to shuffle the array, which did not work, and within the timeline and plugin I turned randomization on with no success. Any help in this matter would be appreciated. // pick a random condition for the subject at the start of the experiment
var condition_assignment = jsPsych.randomization.sampleWithoutReplacement(['LIST1', 'LIST2', 'LIST3', 'LIST4'], 1)[0];
jsPsych.data.addProperties({
condition: condition_assignment
});
// initialize 4 variables - one to hold the stimuli for each block
var block1_stimuli;
var block2_stimuli;
var block3_stimuli;
var block4_stimuli;
// block 1 stimuli
var list_1_block1 = [{stimulus: 'sound/ListA/arabic18A.wav'}, {stimulus: 'sound/ListB/arabic34B.wav'}, {stimulus: 'sound/ListA/english43A.wav'}, {stimulus: 'sound/ListB/english471B.wav'}, {stimulus: 'sound/ListA/polish37A.wav'}, {stimulus: 'sound/ListB/french36B.wav'}, {stimulus: 'sound/ListA/mandarin7A.wav'}, {stimulus: 'sound/ListB/cantonese16B.wav'}];
var shuffledarray1 = jsPsych.randomization.shuffle(list_1_block1);
var list_2_block1 = [{stimulus: 'sound/ListA/arabic18B.wav'}, {stimulus: 'sound/ListB/arabic34A.wav'}, {stimulus: 'sound/ListA/english43B.wav'}, {stimulus: 'sound/ListB/english471A.wav'}, {stimulus: 'sound/ListA/polish37B.wav'}, {stimulus: 'sound/ListB/french36A.wav'}, {stimulus: 'sound/ListA/mandarin7B.wav'}, {stimulus: 'sound/ListB/cantonese16A.wav'}];
var list_3_block1 = [{stimulus: 'sound/ListA/farsi21A.wav'}, {stimulus: 'sound/ListB/farsi8B.wav'}, {stimulus: 'sound/ListA/english30A.wav'}, {stimulus: 'sound/ListA/english136B.wav'}, {stimulus: 'sound/ListA/swedish12A.wav'}, {stimulus: 'sound/ListB/greek17B.wav'}, {stimulus: 'sound/ListA/mandarin12A.wav'}, {stimulus: 'sound/ListB/mandarin24B.wav'}];
var list_4_block1 = [{stimulus: 'sound/ListA/farsi21B.wav'}, {stimulus: 'sound/ListB/farsi8A.wav'}, {stimulus: 'sound/ListA/english30B.wav'}, {stimulus: 'sound/ListA/english136A.wav'}, {stimulus: 'sound/ListA/swedish12B.wav'}, {stimulus: 'sound/ListB/greek17A.wav'}, {stimulus: 'sound/ListA/mandarin12B.wav'}, {stimulus: 'sound/ListB/mandarin24A.wav'}];
//block 2 stimuli
var list_1_block2 = [{stimulus: 'sound/ListB/arabic18B.wav'}, {stimulus: 'sound/ListA/arabic34A.wav'}, {stimulus: 'sound/ListB/english43B.wav'}, {stimulus: 'sound/ListA/english471A.wav'}, {stimulus: 'sound/ListB/polish37B.wav'}, {stimulus: 'sound/ListA/french36A.wav'}, {stimulus: 'sound/ListB/mandarin7B.wav'}, {stimulus: 'sound/ListB/cantonese16A.wav'}];
var list_2_block2 = [{stimulus: 'sound/ListB/arabic18A.wav'}, {stimulus: 'sound/ListA/arabic34B.wav'}, {stimulus: 'sound/ListB/english43A.wav'}, {stimulus: 'sound/ListA/english471B.wav'}, {stimulus: 'sound/ListB/polish37A.wav'}, {stimulus: 'sound/ListA/french36B.wav'}, {stimulus: 'sound/ListB/mandarin7A.wav'}, {stimulus: 'sound/ListB/cantonese16B.wav'}];
var list_3_block2 = [{stimulus: 'sound/ListA/farsi21B.wav'}, {stimulus: 'sound/ListB/farsi8A.wav'}, {stimulus: 'sound/ListA/english30B.wav'}, {stimulus: 'sound/ListA/english136A.wav'}, {stimulus: 'sound/ListA/swedish12B.wav'}, {stimulus: 'sound/ListB/greek17A.wav'}, {stimulus: 'sound/ListA/mandarin12B.wav'}, {stimulus: 'sound/ListB/mandarin24A.wav'}];
var list_4_block2 = [{stimulus: 'sound/ListA/farsi21A.wav'}, {stimulus: 'sound/ListB/farsi8B.wav'}, {stimulus: 'sound/ListA/english30A.wav'}, {stimulus: 'sound/ListA/english136B.wav'}, {stimulus: 'sound/ListA/swedish12A.wav'}, {stimulus: 'sound/ListB/greek17B.wav'}, {stimulus: 'sound/ListA/mandarin12A.wav'}, {stimulus: 'sound/ListB/mandarin24B.wav'}];
//block 3 stimuli
var list_1_block3 = [{stimulus: 'sound/ListA/farsi21A.wav'}, {stimulus: 'sound/ListB/farsi8B.wav'}, {stimulus: 'sound/ListA/english30A.wav'}, {stimulus: 'sound/ListA/english136B.wav'}, {stimulus: 'sound/ListA/swedish12A.wav'}, {stimulus: 'sound/ListB/greek17B.wav'}, {stimulus: 'sound/ListA/mandarin12A.wav'}, {stimulus: 'sound/ListB/mandarin24B.wav'}];
var list_2_block3 = [{stimulus: 'sound/ListA/farsi21B.wav'}, {stimulus: 'sound/ListB/farsi8A.wav'}, {stimulus: 'sound/ListA/english30B.wav'}, {stimulus: 'sound/ListA/english136A.wav'}, {stimulus: 'sound/ListA/swedish12B.wav'}, {stimulus: 'sound/ListB/greek17A.wav'}, {stimulus: 'sound/ListA/mandarin12B.wav'}, {stimulus: 'sound/ListB/mandarin24A.wav'}];
var list_3_block3 = [{stimulus: 'sound/ListA/arabic18A.wav'}, {stimulus: 'sound/ListB/arabic34B.wav'}, {stimulus: 'sound/ListA/english43A.wav'}, {stimulus: 'sound/ListB/english471B.wav'}, {stimulus: 'sound/ListA/polish37A.wav'}, {stimulus: 'sound/ListB/french36B.wav'}, {stimulus: 'sound/ListA/mandarin7A.wav'}, {stimulus: 'sound/ListB/cantonese16B.wav'}];
var list_4_block3 = [{stimulus: 'sound/ListB/arabic18B.wav'}, {stimulus: 'sound/ListA/arabic34A.wav'}, {stimulus: 'sound/ListB/english43B.wav'}, {stimulus: 'sound/ListA/english471A.wav'}, {stimulus: 'sound/ListB/polish37B.wav'}, {stimulus: 'sound/ListA/french36A.wav'}, {stimulus: 'sound/ListB/mandarin7B.wav'}, {stimulus: 'sound/ListB/cantonese16A.wav'}];
//block 4 stimuli
var list_1_block4 = [{stimulus: 'sound/ListB/farsi12B.wav'}, {stimulus: 'sound/ListA/farsi8A.wav'}, {stimulus: 'sound/ListB/english30B.wav'}, {stimulus: 'sound/ListA/english136A.wav'}, {stimulus: 'sound/ListB/swedish12B.wav'}, {stimulus: 'sound/ListA/greek17A.wav'}, {stimulus: 'sound/ListB/mandarin12B.wav'}, {stimulus: 'sound/ListA/mandarin24A.wav'}];
var list_2_block4 = [{stimulus: 'sound/ListB/farsi12A.wav'}, {stimulus: 'sound/ListA/farsi8B.wav'}, {stimulus: 'sound/ListB/english30A.wav'}, {stimulus: 'sound/ListA/english136B.wav'}, {stimulus: 'sound/ListB/swedish12A.wav'}, {stimulus: 'sound/ListA/greek17B.wav'}, {stimulus: 'sound/ListB/mandarin12A.wav'}, {stimulus: 'sound/ListA/mandarin24B.wav'}];
var list_3_block4 = [{stimulus: 'sound/ListB/arabic18B.wav'}, {stimulus: 'sound/ListA/arabic34A.wav'}, {stimulus: 'sound/ListB/english43B.wav'}, {stimulus: 'sound/ListA/english471A.wav'}, {stimulus: 'sound/ListB/polish37B.wav'}, {stimulus: 'sound/ListA/french36A.wav'}, {stimulus: 'sound/ListB/mandarin7B.wav'}, {stimulus: 'sound/ListB/cantonese16A.wav'}];
var list_4_block4 = [{stimulus: 'sound/ListA/arabic18A.wav'}, {stimulus: 'sound/ListB/arabic34B.wav'}, {stimulus: 'sound/ListA/english43A.wav'}, {stimulus: 'sound/ListB/english471B.wav'}, {stimulus: 'sound/ListA/polish37A.wav'}, {stimulus: 'sound/ListB/french36B.wav'}, {stimulus: 'sound/ListA/mandarin7A.wav'}, {stimulus: 'sound/ListB/cantonese16B.wav'}];
// check the condition that was assigned, and use that to decide what stimuli should be used in each block
if (condition_assignment == 'LIST1') {
block1_stimuli = list_1_block1;
block2_stimuli = list_1_block2;
block3_stimuli = list_1_block3;
block4_stimuli = list_1_block4;
} else if (condition_assignment == 'LIST2') {
block1_stimuli = list_2_block1;
block2_stimuli = list_2_block2;
block3_stimuli = list_2_block3;
block4_stimuli = list_2_block4;
} else if (condition_assignment == 'LIST3') {
block1_stimuli = list_3_block1;
block2_stimuli = list_3_block2;
block3_stimuli = list_3_block3;
block4_stimuli = list_3_block4;
} else if (condition_assignment == 'LIST4') {
block1_stimuli = list_4_block1;
block2_stimuli = list_4_block2;
block3_stimuli = list_4_block3;
block4_stimuli = list_4_block4;
}
var block1 = {
type: 'audio-slider-response',
prompt: "<div>Please rate the following speaker.</div>",
stimulus: jsPsych.timelineVariable('stimulus'),
labels: ["Not at all Foreign", "Very Foreign"],
button_label: 'Next',
slider_width: 500,
step: 1,
min: 1,
max: 7,
slider_start: 4,
trial_ends_after_audio: false,
response_ends_trial: true,
randomize_order: true
}; |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Hi @kassyec, the var block1_procedure = {
timeline: [block1],
timeline_variables: block1_stimuli,
randomize_order: true
}; |
Beta Was this translation helpful? Give feedback.
Hi @kassyec, the
randomize_order: true
setting goes in your trial procedure (where you set up the trial timeline with timeline variables), not in the trial itself. Do your block trial procedures look like this?: