W. *_*iss 7 numpy scipy python-2.7
我正在尝试将 .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)
Run Code Online (Sandbox Code Playgroud)
---> harp_rate,harp_data=scipy.io.wavfile.read(harp,mmap=False)
AttributeError: 'module' 对象没有属性 'io'
任何帮助将不胜感激。提前致谢。
您将SciPy 的 WAV 模块与Python 的. 删除import wave、使用import scipy.io.wavfile和调用scipy.io.wavfile.read。
例子:
>>> import scipy.io.wavfile
>>> FSample, samples = scipy.io.wavfile.read('myfile.wav')
Run Code Online (Sandbox Code Playgroud)
与 Python 的模块不同,SciPy 的模块为您完成从字节字符串到数字的转换工作。有关更多详细信息,请参阅链接的文档。