我在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
,但出现了同样的问题。我已经在这两行代码上尝试了一堆变体,但我想不出似乎没有任何效果。
我真的很感激关于这个问题的任何建议。提前致谢!