代码
from scipy.io import wavfile
sr, y = wavfile.read('audio/XXX.wav')
错误信息
~/anaconda3/lib/python3.7/site-packages/scipy/io/wavfile.py in read(filename, mmap)
255 if bit_depth not in (8, 16, 32, 64, 96, 128):
256 raise ValueError("Unsupported bit depth: the wav file "
--> 257 "has {}-bit data.".format(bit_depth))
258 elif chunk_id == b'fact':
259 _skip_unknown_chunk(fid, is_big_endian)
ValueError: Unsupported bit depth: the wav file has 24-bit data.
原因分析
从报错内容可以看出scipy是不支持24位深的音频文件的(不知道位深是什么请移步:SOX命令:音频位深度、采样率以及码率),所以需要用其他方法读取,例如librosa。
改天可以整理一下python读取wav的方式。
y, sr = librosa.load('audio/XXX.wav', sr=None)