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

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

在 Python 2.7 中,你是怎么做的

convert(wavFileLocation, 'mp3')

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

【问题讨论】:

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

标签: python audio mp3 wav


【解决方案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 文件也是如此。
    猜你喜欢
    • 1970-01-01
    • 2019-03-11
    • 2017-07-06
    • 2017-08-23
    • 1970-01-01
    • 2013-01-17
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    相关资源
    最近更新 更多