看起来 scipy.io.wavfile.read
无法读取24位的 .wav 文件。
您有什么处理它们的想法吗?
如果您的WAV文件未经过压缩,您可以尝试这里的readwav
函数:https://gist.github.com/WarrenWeckesser/7461781
更新
我将那个要点转换为Python软件包:https://pypi.python.org/pypi/wavio
源代码在Github上:https://github.com/WarrenWeckesser/wavio
wavio.py
)和一个用于写入24位wav文件的函数writewav24
。同样,测试不是彻底的,所以请注意。 - Warren Weckesserreadwav
现在返回rate,sampwidth,array
。 - Warren Weckesserscipy.io.wavfile
,增加了很多功能:
Fs, data, bits = wavfile.read('input.wav')
。 - vinaymk从1.6版本开始,scipy.io.wavfile.read可以读取24位的.wav文件:
https://docs.scipy.org/doc/scipy-1.6.0/reference/release.1.6.0.html#scipy-io-improvements
read
来读取一个24位的文件时,会出现错误(Traceback... ValueError:新数组的总大小必须保持不变)。”。 - Basjscipy.wavfile.read
可以读取该文件,但数据最终以int32类型的长度为6的数组形式存储。数组中的第一个值包含第一个样本的三个字节和第二个样本的一个字节等。 - Warren Weckesser