Python 将 wav 转换为 mp3

Posted

技术标签:

【中文标题】Python 将 wav 转换为 mp3【英文标题】:Python convert wav to mp3 【发布时间】:2012-05-04 11:39:51 【问题描述】:

我查看了 pymedia(已停产)、pyglet(很棒但没有转换器)和 audiotools(命令行 cd 翻录),但似乎没有一个合适。

在 Python 2.7 中,你是怎么做的

convert(wavFileLocation, 'mp3')

如果没有python方式,你会如何以python可以调用的方式来做呢? (例如调用跨平台命令行工具...如果存在则返回(名称,pythonCodeForInvocation))

【问题讨论】:

哪个操作系统? Linux 有一些很棒的命令行实用程序,可以让您毫无问题地执行此操作。 Linux =) 但它也需要在 mac 上运行 对于linux,这个解决方案给你答案***.com/a/6578380/496405使用ffmpeg也应该在mac下工作:) 【参考方案1】:

我写了一个python library, pydub,它基本上符合Corey's Answer 的建议,尽管它使用ffmpeg 进行转换以支持更多格式。

from pydub import Audiosegment

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

【讨论】:

@Basj 目前没有,没有 - 您需要将 wav 数据保存到磁盘上的文件中,然后再将其转换为 mp3。已经有一些关于支持在蒸汽/迭代器上运行的讨论,但到目前为止还没有取得成果 这对我有用:song.export(mp3_path, format="mp3", codec="libmp3lame")【参考方案2】:

使用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)

【讨论】:

经过数小时尝试在线方法从 WAV-PCM 数据中以 mp3ogg 等压缩格式保存音频后,此解决方案是唯一适用于 Windows 的解决方案10.【参考方案3】:

pydub你一定要去,它是一个很好的音频文件相关操作的模块。

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

有关安装 ffmpeg 的帮助,您可以使用此link。

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

pip install pydub

然后将任何文件从 wav 转换为 mp3 只需使用 pydub as

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

【讨论】:

【参考方案4】:

你可以重命名文件扩展名吗? 我认为 os 库会以任何方式帮助你,我会给你例子:

yourfile.wav ==>> yourfile.mp3 或任何用于音频和视频文件的类型

对我来说它有效!

【讨论】:

如果重命名,就只有另一个名字了。但它并没有真正转换。 wav 文件不同于 mp3 文件,即使您将其命名为 mp3 文件也是如此。

以上是关于Python 将 wav 转换为 mp3的主要内容,如果未能解决你的问题,请参考以下文章

小工具批量将mp3音频格式转换为wav格式

编写一个简单的 python 脚本,使用 lame 将特定文件夹中的所有 .wav 文件转换为 .mp3

将 MP3 转换为 WAV 时出现 2 个错误

iPhone - 将 mp3 转换为 wav?

如何使用 Java 将 .wav 转换为 .mp3? [关闭]

用于将 .wav 文件转换为 ogg 文件的 Python 库