在python中读取.wav文件

在python中读取.wav文件,python,scipy,Python,Scipy,我正在尝试(为了一门课程)通过ipython读取声音文件.wav。当我尝试使用“普通”代码读取文件时: from scipy.io.wavfile import read (fs,x) = read ('/Users/joehigham/Desktop/Audio_1.wav') 我接到了著名的追踪电话 ValueError: string size must be a multiple of element size 有人能给我指出为什么会发生这种情况的正确方向吗?当然,我该如何纠正这

我正在尝试(为了一门课程)通过ipython读取声音文件.wav。当我尝试使用“普通”代码读取文件时:

from scipy.io.wavfile import read

(fs,x) = read ('/Users/joehigham/Desktop/Audio_1.wav')
我接到了著名的追踪电话

ValueError: string size must be a multiple of element size 
有人能给我指出为什么会发生这种情况的正确方向吗?当然,我该如何纠正这个问题


提前感谢-我确实环顾四周寻找解决方案,但(我发现)似乎没有任何东西能将此问题与声音文件相匹配

您的wav文件可能有24位数据。您可以通过以下方式进行检查:

import wave
w = wave.open("filename.wav")
print(w.getsampwidth())

如果打印的值为3,则数据为24位。如果是这种情况,
scipy.io.wavfile
将无法工作。我写了一个处理24位数据的阅读器;参见(取代了第页的要点)。读者也是。

我想我应该加上。。。这可能与文件的采样率(24位等)有关吗?无论哪种方式,文件都是无效的,或者您需要更新scipyI尝试过的
pip安装--升级scipy
,并获得了最新的
要求:scipy in/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages确实如此!我刚试过Audacity的wave文件,到目前为止还不错。我会在一分钟内更新我的答案,这样可以避免其他人试图解决已解决的问题。谢谢你提供的信息。