我想在python中进行基本的音频混音。
举个例子:我想把两个mp3文件一起添加并返回一个mp3文件。另一个例子:我想把一个mp3文件的前十秒加到另一个mp3文件的开头。
完成这些任务的最佳方法是什么?我想使用像audioop这样的内置python函数,但是找不到任何好的教程或示例代码来使用内置函数。
我正在浏览文档,但我很困惑,无法弄清楚如何做这样的事情。我甚至不确定python库是否像mp3一样。我看过的大多数东西似乎都是指WAV文件。那么,如果是这种情况,我想跟进的问题是,有一种简单的方法可以将mp3转换为WAV进行操作并再次返回吗?
答案 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"])