1

我在 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?它是自动的,还是我需要以某种方式更改脚本以确保我正在使用它?

4

1 回答 1

1

这是指您用来显示刺激的窗口类型(pyglet 或 pygame)。PsychoPy 通常会使用 pyglet,但可以肯定的是,您可以在创建它时显式设置窗口类型。请参阅http://www.psychopy.org/api/visual/window.html上的窗口 API :

winType:无,'pyglet','pygame'

如果没有,那么 PsychoPy 将恢复到用户/站点偏好

更重要的是,确保您使用的是 pyo 音频库而不是默认的 pygame。在 PsychoPy Preferences -> General -> Audio Library 对话框字段中进行设置。Pygame 肯定存在声音延迟问题:您应该假设在播放声音和实际产生声音之间存在相当大的延迟。Pyo 显然做得更好,但我认为你应该以某种方式独立验证这一点,以确保你对听觉刺激的反应时间是有意义的。

于 2014-11-10T02:45:14.263 回答