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

2020-09-23 11:05:26 浏览数 (1)

从微信下载下来的语音是 mp3 格式的,想调用百度语音 api,发现不支持 mp3,支持 wav

准备

需要安装 pydub 库,直接pip install pydub就好了。

还需要安装 ffmpeg.exe 文件,然后再配置一下就好了,请看:

ffmpeg.exe 的安装及配置,与常见问题

原理

读取 mp3 音频的波形数据,然后再写入 wav 文件。

代码语言:javascript复制
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,听着效果跟原音频没有差别,保真度很高!

0 人点赞