我在使用Python读取.wav文件时遇到了问题。我想读取文件的幅度和采样率。
我尝试使用以下代码读取文件:
import os
folder = os.getcwd() + '\\WAV'
file_name = 'Guitar.ff.sul_E.C5Bb5'
path = folder + '\\' + file_name + '.wav'
rate,data=read(path)
在上面的代码之前,我从read
库导入了scipy
函数,如下所示:
从scipy.io.wavfile导入读取,写入
从numpy
我导入:
来自numpy import linspace,sin,pi,int16
我收到错误“TypeError:数据类型未理解”。
代码完全适用于不同的.wav文件,我想知道如何(如果可能的话)我可以更改代码来读取这个,或者如果我必须更改.wav文件才能读取它
以下是文件的属性:
第一个文件无效,第二个文件无效。
对于1和2通道,我得到了完全相同的错误。
更改文件名以使其没有点无关紧要。它似乎以任何一种方式到达文件但无法读取它。
修改
将位深度从24更改为16后,问题就消失了。感谢Warren Weckesser的评论。
答案 0 :(得分:2)
不幸的是,scipy的wavfile阅读器无法读取24位文件:scipy issue 1930 on github
结帐https://pypi.python.org/pypi/wavio或在https://github.com/WarrenWeckesser/wavio
获取来源