python mp3转wav
from pydub import AudioSegment
def mp3_to_wav(mp3_path, wav_path):
song = AudioSegment.from_mp3(mp3_path)
song.export(wav_path, format="wav")
if __name__ == '__main__':
mp3_to_wav('audio.mp3',"audio.wav")
比较麻烦的写法
from pydub import AudioSegment
import wave
import io
def mp3_to_wav(mp3_path, wav_path):
"""
mp3 转 wav
:param mp3_path: 输入的 mp3 路径
:param wav_path: 输出的 wav 路径
:return:
"""
# 读取 mp3
fp = open(mp3_path, 'rb')
data = fp.read()
fp.close()
# 读取
aud = io.BytesIO(data)
sound = AudioSegment.from_file(aud, format='mp3')
raw_data = sound._data
# 写入 wav
nframes = len(raw_data)
f = wave.open(wav_path, 'wb')
f.setnchannels(1)
f.setsampwidth(2)
f.setframerate(16000)
f.setnframes(nframes)
f.writeframes(raw_data)
f.close()
if __name__ == '__main__':
mp3_to_wav('play.mp3', 'play.wav')