1

我在psychopy builder中创建了一个实验,参与者必须用声音说出屏幕上呈现的图片(例如,如果出现一张椅子的图片,参与者必须通过说“椅子”来回应)。我已经设置了一个代码组件来检测每个声音响应,从而结束试验并启动下一个试验。这部分实验效果很好,但是我在整合脑电图记录时遇到了麻烦。

一些重要信息:我的试用循环从 .csv 文件中读取图像和 triggerVal。我有一个图像组件(称为english_naming),它显示图像供参与者大声命名。组件的 STOP 字段定义为$vpvk.event_onset- 这会在检测到声音响应时强制结束试验并开始下一个试验。

所以,这是我目前的(工作)代码组件:

开始实验:

from psychopy import parallel
port = parallel.port(address=61432)

开始例行程序

vpvk = vk.onsetVoiceKey(
        sec=10)  # creates the voice key

vpvk.start() #starts recording.

port.setData(triggerVal) # tells psychopy to read trigger values from the .csv file

结束例程

vpvk.stop() # ends the recording

port.setData(0) # resets the trigger value to 0 for the start of the next trial

我的问题是这个

目前,并行端口事件的时​​间锁定到每次试验的开始,但我需要将它们时间锁定到参与者的声音反应。if vpvk.event_onset():我尝试在上面插入port.setData(triggerVal),但这根本无法生成任何触发代码。我也尝试过if english_naming==FINISHED,但出现了同样的问题。我已经在这两行代码上尝试了一堆变体,但我想不出似乎没有任何效果。

我真的很感激关于这个问题的任何建议。提前致谢!

4

0 回答 0