Pycharm 上的 Psychopy sound.Sound.play() Error

问题描述 投票:0回答:1

我正在使用 Phycharm 中的 Psychopy Libary 创建一个 fMRI 实验,需要从 .wav 文件中实现声音并播放它们。

这是我的代码:

import numpy as np
from scipy.io.wavfile import read, write
from psychopy import prefs
prefs.hardware['audioLib'] = ['PTB']
from psychopy import sound

AMP = .1

audio_path = r'*PATH*/IRN_61.7354Hz.wav' #The Path where I saved the .wavfile
sr, data = read(audio_path)
data_1=data*(AMP/np.max(np.abs(data)))

acoustic_stim = sound.Sound(bytes(data_1),sr, stereo=True)
acoustic_stim.play(when=1)

#-------------------------------------------- ------------------------------ 我总是得到这个错误: 文件“PATH”,第 20 行,位于 acoustic_stim.play() 文件“PATH env\lib\site-packages\psychopy\sound ackend_ptb.py”,第 544 行,正在播放 self.track.start(重复=循环,当=当)

AttributeError: 'NoneType' 对象没有属性 'start' #------------------------------------------------ ------------------------------ 无论我如何在 acoustic_stim.play() 中更改此参数,我都会得到相同的错误。 我什至试图通过创建一个窗口和 win.flip() 来实现某些事情,但它不起作用。

pycharm wav psychopy playsound psychtoolbox
1个回答
0
投票

好的,对于任何遇到同样问题的人来说,这里是解决方案:

sound.Sound(bytes(data_1),sr, stereo=True)
命令实际上需要音频文件的数据路径作为值的参数。所以这段代码有效:

import numpy as np
from scipy.io.wavfile import read, write
from psychopy import prefs
prefs.hardware['audioLib'] = ['PTB']
from psychopy import sound
AMP = .1

audio_path = r'*PATH*/IRN_61.7354Hz.wav' #The Path where I saved the .wavfile
sr, data = read(audio_path)
acoustic_stim = sound.Sound(value=audio_path,sampleRate=sr, 
stereo=True,volume=AMP)
acoustic_stim.play()
© www.soinside.com 2019 - 2024. All rights reserved.