[英]extract data from .wav file
根据scipy.io.wavfile源代码 ,它接受(8、16、32、64、96、128)位数据。
虽然您可以修改wavfile源代码以接受数据,但更简单的选择是使用pydub
这样的外部库。 请在此处查看API和安装详细信息。
首先,我们获取您的文件,将比特率转换为16bit并导出。
然后,只需使用scipy
导入修改后的wav文件即可获取数据和帧频。
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)
>>>
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.