我在使用Python读取.wav文件时遇到了一个问题。我想读取文件的振幅和采样率。在
我尝试使用以下代码读取文件:
import os
folder = os.getcwd() + '\\WAV'
file_name = 'Guitar.ff.sul_E.C5Bb5'
path = folder + '\\' + file_name + '.wav'
rate,data=read(path)
在上面的代码之前,我从scipy
库导入了read
函数,如下所示:
from scipy.io.wavfile import read,write
我从numpy
导入:
from numpy import linspace,sin,pi,int16
我收到错误“TypeError:data type not understand”。在
这段代码在另一个.wav文件中运行得很好,我想知道如何(如果可能的话)更改代码以读取此文件,或者是否必须在读取之前更改.wav文件。在
以下是文件的属性:
第一个文件不起作用,第二个文件起作用了。在
我得到了完全相同的错误1和2频道。在
更改文件名以使其没有点并不重要。它似乎以任何方式到达文件,但无法读取。在
编辑:
将位深度从24更改为16后,问题就消失了。感谢沃伦·韦克瑟的评论。在
不幸的是,scipy的wavfile阅读器无法读取24位文件:scipy issue 1930 on github
签出https://pypi.python.org/pypi/wavio或从https://github.com/WarrenWeckesser/wavio获取源代码
相关问题 更多 >
编程相关推荐