我有2个音频文件用于我要合并的主音乐和背景音乐(不连接)。最终的音频文件应该与主文件一样长,如果背景音乐较短,那么它应该重复。
如果有Linux命令或Python库可以用来执行此操作? Sox支持合并,但似乎不允许重复播放背景音频。
答案 0 :(得分:1)
作为一种可能的解决方案,为什么不检测背景文件的长度<前台文件的长度然后构造一个背景文件,如果有必要,这是一个循环?然后你可以将它传递给sox。
您应该可以从sndhdr获得长度(查看帧数)。
就合并流的python方式而言,audioop.add可以做你需要的,虽然如果你要合并两个完整的音量源,你可能想要减少其中一个的音量(试试 - 12db作为开头)如果你正在混合音乐而不是。
可以找到更多音频库here。