从微信下载下来的语音是mp3格式的,想调用百度语音api,发现不支持mp3,支持wav。
准备:
需要安装pydub库,直接pip install pydub
就好了。
还需要安装ffmpeg.exe文件,然后再配置一下就好了,请看:
ffmpeg.exe的安装及配置,与常见问题
原理:
读取mp3音频的波形数据,然后再写入wav文件。
from pydub import AudioSegmentimport wave# 读取mp3的波形数据sound = AudioSegment.from_file("666.mp3", format = 'MP3')# 将读取的波形数据转化为wavf = wave.open("777.wav", 'wb')f.setnchannels(1) # 频道数f.setsampwidth(2) # 量化位数f.setframerate(16000) # 取样频率f.setnframes(len(sound._data)) # 取样点数,波形数据的长度f.writeframes(sound._data) # 写入波形数据f.close()
运行效果图:
原mp3只有2k左右,转化后31.5k,听着效果跟原音频没有差别,保真度很高!
喜欢的点个赞❤吧!