从微信下载下来的语音是 mp3 格式的,想调用百度语音 api,发现不支持 mp3,支持 wav。
准备:
需要安装 pydub 库,直接pip install pydub
就好了。
还需要安装 ffmpeg.exe 文件,然后再配置一下就好了,请看:
原理:
读取 mp3 音频的波形数据,然后再写入 wav 文件。
from pydub import AudioSegment import wave # 读取mp3的波形数据 sound = AudioSegment.from_file("666.mp3", format = 'MP3') # 将读取的波形数据转化为wav f = 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,听着效果跟原音频没有差别,保真度很高!
喜欢的点个赞❤吧!