Python 2.7 Can';t使scipy.io.wavfile.read()正常工作
我试图将一个.wav文件读入一个数组,这样我就可以绘制数组并进行FFT。我用wave模块打开了文件,现在我正在努力。有人建议我使用scipy.io.wavfile.read(文件名,mmap=False),但我运气不好。这个函数应该做我希望它做的事情,但它不是。我正在运行Python2.7,也许就是这样。请帮我想一想怎么做。我写的代码如下Python 2.7 Can';t使scipy.io.wavfile.read()正常工作,python-2.7,numpy,scipy,Python 2.7,Numpy,Scipy,我试图将一个.wav文件读入一个数组,这样我就可以绘制数组并进行FFT。我用wave模块打开了文件,现在我正在努力。有人建议我使用scipy.io.wavfile.read(文件名,mmap=False),但我运气不好。这个函数应该做我希望它做的事情,但它不是。我正在运行Python2.7,也许就是这样。请帮我想一想怎么做。我写的代码如下 import scipy import wave harp=wave.open('/Users/williamweiss2/Desktop/Test 2/ha
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:“模块”对象没有属性“io”
任何帮助都将不胜感激。提前谢谢。你把它弄糊涂了。删除import wave
,使用import scipy.io.wavfile
,然后调用scipy.io.wavfile.read
例如:
>>> import scipy.io.wavfile
>>> FSample, samples = scipy.io.wavfile.read('myfile.wav')
与Python的模块不同,SciPy的模块为您完成从字节字符串到数字的转换。有关详细信息,请参阅链接的文档。确定。我现在正试图改变这一点。区别是什么?关键问题是,
import scipy
不会导入所有scipy子包。如果您想使用scipy.io
,则必须显式地导入它,使用您喜欢的import
的任何变体。例如,使用import scipy.io
并使用scipy.io.wavfile.read
,或从scipy import io使用io.wavfile.read
,或从scipy.io导入wavfile并使用wavfile.read
,等等。