这可能吗??从scikits.audiolab使用wavread时,似乎出现此错误:

x86_64.egg/scikits/audiolab/pysndfile/matapi.pyc in basic_reader(filename, last, first)
     93             if not hdl.format.file_format == filetype:
     94                 raise ValueError, "%s is not a %s file (is %s)" \
---> 95                       % (filename, filetype, hdl.format.file_format)
     96
     97             fs = hdl.samplerate

ValueError: si762.wav is not a wav file (is nist)


我猜它无法读取NIST wav文件,但是还有另一种方法可以轻松地将它们读取到numpy数组中吗?如果没有,那么读入数据的最佳方法是什么?

可能重写audiolab wavread以识别nist标头?

最佳答案

回答我自己的问题,因为已经解决了,但是您可以使用scikits.audiolab中的Sndfile类,该类根据您拥有的libsndfile支持多种读写文件格式。然后,您只需使用:

from scikits.audiolab import Sndfile, play
f = Sndfile(filename, 'r')
data = f.read_frames(10000)
play(data) # Just to test the read data

关于python - 将TIMIT数据库中的Nist Wav文件读入python numpy数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10187043/

10-12 17:42