我在Builder中设置了一个实验,以获得对音频刺激的快速反应时间,之后我一直在玩代码,让实验完全符合我的要求。特别是,我想要非常精确的反应时间,因此程序理想情况下会从每次刺激开始时占用CPU直到之后的固定点,并在此期间记录“w”和“e”的按键。
为了实现这一目标,我一直在音频刺激开始时重置时钟,然后将CPU占用2秒,如下所示:
event.clearEvents(eventType='keyboard')
response.clock.reset()
core.wait(2,2)
if response.status == STARTED:
theseKeys = event.getKeys(keyList=['w', 'e'])
这似乎工作正常。但是,我有一个问题:core.wait
命令的文档说:
如果您想在等待期间获得按键,请务必使用pyglet。
如果我使用pyglet,我怎么知道?它是自动的,还是我需要以某种方式改变脚本以确保我使用它?
答案 0 :(得分:1)
这是指用于显示刺激的窗口类型(pyglet或pygame)。 PsychoPy通常会使用pyglet,但可以肯定的是,您可以在创建时明确设置窗口类型。请参阅http://www.psychopy.org/api/visual/window.html处的窗口API:
winType:无,'pyglet','pygame'
如果没有,那么PsychoPy将会恢复 到用户/网站首选项
更重要的是,请确保您使用的是pyo音频库而不是默认的pygame。在PsychoPy首选项中设置此项 - >一般 - >音频库对话框字段。 Pygame肯定有声音延迟问题:你应该假设在播放声音与实际产生声音之间存在很大的滞后。 Pyo显然做得更好,但我认为你应该以某种方式独立验证这一点,以确保你对听觉刺激的反应时间是有意义的。