我正在尝试(通过课程)通过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
任何人都可以指出我为什么会发生这种情况的正确方向,当然我怎么能解决这个问题呢?
提前谢谢 - 我确实在寻找解决方案,但没有(我发现)似乎与声音文件相匹配。
答案 0 :(得分:2)
您的wav文件可能包含24位数据。您可以查看:
import wave
w = wave.open("filename.wav")
print(w.getsampwidth())
如果打印的值为3,则数据为24位。如果是这种情况,scipy.io.wavfile
将无效。我写了一个处理24位数据的阅读器;见https://github.com/WarrenWeckesser/wavio(取代了 https://gist.github.com/WarrenWeckesser/7461781 中的要点)。读者也是on PyPI。