我正在尝试将 .wav 文件读入数组,以便我可以绘制数组并进行 FFT。我用 wave 模块打开了文件,现在我很挣扎。我被建议使用 scipy.io.wavfile.read(filename, mmap=False) 但我没有任何运气。这个函数应该完全符合我的要求,但事实并非如此。我正在运行 Python 2.7,也许就是这样。请帮我弄清楚如何使这项工作。我写的代码如下。
import scipy
import wave
harp=wave.open('/Users/williamweiss2/Desktop/Test 2/harp.wav','r')
frames_harp=harp.getnframes()
harp_rate,harp_data=scipy.io.wavfile.read(harp,mmap=False)
这是我尝试运行程序时遇到的错误。
---> harp_rate,harp_data=scipy.io.wavfile.read(harp,mmap=False)
AttributeError: 'module' 对象没有属性 'io'
任何帮助将不胜感激。提前致谢。
最佳答案
你有困惑SciPy's WAV module与 Python's .删除 import wave
, 使用 import scipy.io.wavfile
, 并调用 scipy.io.wavfile.read
.
例子:
>>> import scipy.io.wavfile
>>> FSample, samples = scipy.io.wavfile.read('myfile.wav')
与 Python 的模块不同,SciPy 的模块为您完成从字节字符串转换为数字的工作。有关更多详细信息,请参阅链接的文档。
关于python-2.7 - 无法让 scipy.io.wavfile.read() 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37934080/