Python将wav转换为mp3

问题描述:

我已经看过pymedia(已停用),pyglet(很棒但没有转换器)和audiotools(命令行cd翻录),并且都不适合。Python将wav转换为mp3

在Python 2.7,你怎么办

convert(wavFileLocation, 'mp3') 

如果没有蟒蛇的方式,你会怎么做它在Python可以调用的方式? (如呼叫一个跨平台的命令行工具......如果存在回报(名称,pythonCodeForInvocation))

+1

哪个OS? Linux有一些很棒的命令行工具,可以让你在没有太多问题的情况下做到这一点。 – g19fanatic 2012-04-23 20:25:02

+0

Linux =)但它需要在Mac上运行 – xxjjnn 2012-04-23 20:28:09

+3

for linux,这个解决方案给你一个答案http://*.com/a/6578380/496405使用ffmpeg也应该在mac下工作:) – g19fanatic 2012-04-23 20:33:49

使用lame(命令行),你可以编码WAV到MP3这样的:

$ lame --preset insane /path/to/file.wav 

这将创建:

file.wav.mp3 
在Python

,你可以使用subprocess叫它:

wav = 'myfile.wav' 
cmd = 'lame --preset insane %s' % wav 
subprocess.call(cmd, shell=True) 

我写了一个python library, pydub,这基本上做Corey的答案建议,虽然它使用ffmpeg进行转换以支持更多格式。

from pydub import AudioSegment 

AudioSegment.from_wav("/input/file.wav").export("/output/file.mp3", format="mp3") 
+0

谢谢@Jiarro for这个模块!是否可以实时进行MP3编码?我正在设计一个带有“RECORD”按钮的软件,并且我想实时录制(例如:从麦克风输入)到磁盘到mp3。这可能吗 ? – Basj 2014-02-25 09:27:00

+1

@Basj目前没有,不需要 - 你需要将wav数据保存到磁盘上的文件中,然后将其转换为mp3。关于支持在蒸汽/迭代器上运行的讨论已经有一些讨论,但到目前为止还没有成果 – Jiaaro 2014-02-25 17:22:26

你必须去pydub,它是一个伟大的音频文件操作模块。

注意。请记住在使用pydub之前安装ffmpeg。

如需关于安装ffmpeg的帮助,请使用此link

然后安装pydub只需打开命令提示符,然后键入

pip install pydub 

然后到任何文件从WAV转换成MP3只需使用pydub作为

import pydub 
sound = pydub.AudioSegment.from_wav("D:/example/apple.wav") 
sound.export("D:/example/apple.mp3", format="mp3")