Python 技术篇-音频mp3格式转wav格式,高保真

从微信下载下来的语音是 mp3 格式的,想调用百度语音 api,发现不支持 mp3,支持 wav
准备
需要安装 pydub 库,直接pip install pydub就好了。
还需要安装 ffmpeg.exe 文件,然后再配置一下就好了,请看:
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,听着效果跟原音频没有差别,保真度很高!
在这里插入图片描述
喜欢的点个赞❤吧!

posted on 2019-06-13 13:07  小蓝枣  阅读(145)  评论(0编辑  收藏  举报