1

我使用 Psychopy v1.81.02,到目前为止我尝试了 Builder。

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

在 Builder 中,我创建了两个例程:例程 1(= 任务 1)由指令_1 + 声音_1 + 评分_1 组成,例程 2(= 任务 2)由指令_2 + 声音_1 + 评分_2 组成。

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

4

1 回答 1

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 字段中。这样,每次试验只会呈现其中一项任务。

将主循环设置为随机的。然后你应该让每个声音播放两次,但顺序是随机的。在这些试验中的每一个中,只会发生一项任务,再次以随机顺序进行。

于 2015-04-04T22:49:33.190 回答