发布于 2018-02-11 20:13:21
根据scipy.io.wavfile源代码,它接受(8,16,32,64,96,128)位数据。
虽然您可以修改波文件源代码以接受数据,但更容易的替代方法是使用外部库(如pydub )。请参阅API和安装细节这里。。
首先,我们获取您的文件,将比特率转换为16位并导出它。
然后,简单地导入修改后的wav文件,使用scipy获取数据和帧速率.
from scipy.io import wavfile
from pydub import AudioSegment
audio = "sig100.wav"
audio1 = "sig100_16.wav"
#read wav file and export with 16bit bitrate
s = AudioSegment.from_file(audio, format = "wav" )
s.export(audio1 , bitrate="16", format="wav")
#read modified file
rate, data = wavfile.read(audio1)结果:
>>> rate
360
>>> data
array([[ -928, -416],
[ -928, -416],
[ -928, -416],
...,
[-4320, -2336],
[-4896, -2144],
[-8192, 0]], dtype=int16)
>>> 希望这能有所帮助。
https://stackoverflow.com/questions/48734993
复制相似问题