如何使用python混合音频文件?

时间:2011-10-02 23:14:12

标签: python audio mp3

我想在python中进行基本的音频混音。

举个例子:我想把两个mp3文件一起添加并返回一个mp3文件。另一个例子:我想把一个mp3文件的前十秒加到另一个mp3文件的开头。

完成这些任务的最佳方法是什么?我想使用像audioop这样的内置python函数,但是找不到任何好的教程或示例代码来使用内置函数。

我正在浏览文档,但我很困惑,无法弄清楚如何做这样的事情。我甚至不确定python库是否像mp3一样。我看过的大多数东西似乎都是指WAV文件。那么,如果是这种情况,我想跟进的问题是,有一种简单的方法可以将mp3转换为WAV进行操作并再次返回吗?

3 个答案:

答案 0 :(得分:17)

您可以使用pydub

轻松完成此操作
from pydub import AudioSegment

sound1 = AudioSegment.from_mp3("/path/to/file1.mp3")
sound2 = AudioSegment.from_mp3("/path/to/file1.mp3")

# mix sound2 with sound1, starting at 5000ms into sound1)
output = sound1.overlay(sound2, position=5000)

# save the result
output.export("mixed_sounds.mp3", format="mp3")

答案 1 :(得分:1)

您可以查看python audiotools项目中的部分代码。它是一组命令行实用程序,它们使用了一个常见的python包。 audiotools(trackcat)附带了一个实用程序,它可以连接两个或多个音轨;另一个(tracksplit)可以分割音轨(使用.cue文件)。这些以及许多其他包含的实用程序可以使用各种编码的音频文件,包括mp3。

答案 2 :(得分:0)

我过去这样做的方法就是使用subprocess。并致电sox

E.g。 subprocess.call(["sox", "in.1.mp3", "in.2.mp3", "out.mp3"])