合并背景audio文件

我有2个音乐文件供我要合并(不连接)的主音乐和背景音乐。 最终的audio文件应该与主文件一样长,如果背景音乐较短,则应该重复。

如果有一个Linux命令或一个Python库可以用来做到这一点? Sox支持合并,但似乎不允许重复背景audio。

作为一种可能的解决方案,为什么不检测背景文件的长度<前景文件的长度,然后构建一个循环的背景文件(如果有必要)? 那么你可以把它传递给sox。

你应该能够从sndhdr得到长度(看帧数)。

就合并流的python方式而言, audioop.add可以做你所需要的,但是如果你合并了两个完整的音源,你可能想要减少其中一个音量(尝试-12db作为开始)如果你正在混合音乐而不是。

更多的音频库可以在这里找到。