在每个试验中随机呈现不同的任务

时间:2015-04-03 15:04:20

标签: psychopy

我使用Psychopy v1.81.02,到目前为止我尝试过构建器。

我的目标是编写一个实验,其中32个声音与两个不同任务中的每一个一起呈现。这两个任务在指令(播放声音之前)和评级(播放声音之后)之间有所不同。声音和任务在每次试验中随机发生,即每个声音分配给两个任务一次,任务随机发生。最后,有32个声音,它运行64个试验:每个声音两次完成两个任务,但声音和任务都是随机试验。

在Builder中,我创建了两个例程: 例程1(=任务1)由instruction_1 + sound_1 + rating_1和 例程2(=任务2)由instruction_2 + sound_1 + rating_2组成。

为了调用声音,我包含一个带有一个参数“audiofile”和32个条件(声音文件)的.csv文件,并将其置于“随机”状态。就声音的随机化而言,这是有效的,但我怎样才能使任务以随机顺序发生?我试图绕过例程循环,但不知道该放什么"在那里"随机化两个例程 - 甚至可能吗?

1 个答案:

答案 0 :(得分:0)

如您所料,您需要在当前循环中嵌套其他循环。实质上,您将围绕每个任务循环,并为其指定重复值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文件。将变量名称“routine_1_reps”和“routine_2_reps”放在其reps字段中。这样,每次试验中只会显示其中一项任务。

将main,outer循环设置为随机。然后你应该按照随机顺序播放每个声音两次。每个试验中只会发生一个任务,同样是随机顺序。