首页 > 解决方案 > 在psychopy3中播放列表中的音调

问题描述

如果我有一个音调的刺激名称列表,要么用代码编写,要么使用 xlrd 从 excel 文件中提取,我如何在psychopy 中使用代码播放它们?

# For example, if my tones are
lo = sound.backend_sounddevice.SoundDeviceSound(value='A', 
           secs=0.05, octave=4, stereo=-1, volume=1.0, 
           loops=0, sampleRate=44100, blockSize=128, 
           preBuffer=- 1, hamming=True, startTime=0, 
           stopTime=- 1, name='', autoLog=True) 
       
hi = sound.backend_sounddevice.SoundDeviceSound(value='B', 
           secs=0.05, octave=4, stereo=-1, volume=1.0, 
           loops=0, sampleRate=44100, blockSize=128, 
           preBuffer=- 1, hamming=True, startTime=0, 
           stopTime=- 1, name='', autoLog=True) 

# and the stimulus list is
tone_stimuli = ['hi', 'hi', 'lo', 'hi', 'lo']

# and I want to play them in order with a command like
hi.play() # which plays the high tone

我需要什么代码才能按顺序播放高音,高音,低音,高音,低音,如tone_stimuli列表中?

我试过了,但没有用:

current_tone = str(tone_stimuli[0])
current_tone.play()

(在一天结束的时候,我需要做一个视听实验,在视觉任务的背景中播放音调,并且独立于视觉试验。为此,需要使用代码播放音调,并且需要预先存在于列表中,因此不幸的是,在这种情况下,在 Builder 中调用音调的解决方法将不起作用。)

标签: pythonaudiopsychopy

解决方案


推荐阅读