Случайно представлять различные задачи в каждом испытании
Я использую Psychopy v1.81.02, пока я пробовал Builder.
Моя цель - запрограммировать эксперимент, в котором представлены 32 звука для каждой из двух разных задач. Эти две задачи различаются по инструкции (до воспроизведения звука) и рейтингу (после воспроизведения звука). Звуки, а также задачи происходят случайным образом в каждом испытании, то есть каждый звук назначается обеим задачам один раз, и задачи происходят случайным образом. В конце, с 32 звуками, он запускает 64 испытания: каждое звучит дважды с обеими задачами, но и звуки, и задачи рандомизируются между испытаниями.
В построителе я создал две подпрограммы: подпрограмма 1 (= задача 1) состоит из инструкции_1 + sound_1 + rating_1, а подпрограмма 2 (= задача 2) состоит из инструкции_2 + sound_1 + rating_2.
Чтобы назвать звуки, я включил файл.csv с одним параметром "аудиофайл" и 32 условиями (звуковые файлы) и поместил его в "случайный". Это работает, насколько рандомизация звуков идет, но как я могу заставить задачи происходить в случайном порядке? Я пытался поставить цикл вокруг подпрограмм, но не знал, что поместить "туда", чтобы рандомизировать две подпрограммы - это вообще возможно?
1 ответ
Как вы и подозревали, вам нужно будет вложить дополнительные циклы в ваш текущий. По сути, вы поставите цикл вокруг каждой из ваших задач и дадите ему значение повторений 0 или 1, чтобы определить, происходит ли оно в данном испытании.
(1) Структурируйте ваш файл.csv так, чтобы он выглядел, как в примере ниже: каждое звуковое имя файла встречается дважды, потому что оно будет представлено в двух испытаниях. Есть еще два столбца, в которых указывается, какие задачи будут выполняться в этом испытании, которые будут уравновешены:
soundFile routine_1_reps routine_2_reps
snd01.wav 0 1
snd01.wav 1 0
snd02.wav 0 1
snd02.wav 1 0
etc...
(2) Вставить цикл только вокруг Routine_1 и другой цикл только вокруг Routine_2, называемый, скажем, Routine_1_loop и Routine_2_loop. то есть эти циклы вложены в основной цикл. Не подключайте их к CSV-файлу. Поместите имена переменных "рутинная_1_репсия" и "рутинная_2_репса" в их поля повторений. Таким образом, только одна из задач будет представлена в каждом испытании.
Установите основной, внешний цикл, чтобы быть случайным. Затем вы должны воспроизвести каждый звук дважды, но в случайном порядке. В каждом из этих испытаний будет выполняться только одно задание, опять же в случайном порядке.