合并背景音频文件
我有两个音频文件,一个是主音乐,另一个是背景音乐。我想把它们合成在一起(不是简单地拼接)。最终的音频文件长度应该和主音乐一样,如果背景音乐比较短,就应该让它重复播放。
有没有什么Linux命令或者Python库可以用来实现这个功能?Sox支持合成音频,但似乎不支持让背景音乐重复播放。
1 个回答
1
作为一种可能的解决方案,为什么不先检查一下背景音频文件的长度是否小于前景音频文件的长度呢?如果是这样的话,可以考虑制作一个循环的背景音频文件,然后把它传给sox工具。
你可以通过sndhdr来获取音频文件的长度(查看帧数就可以了)。
至于在Python中合并音频流,audioop.add可能能满足你的需求。不过,如果你要合并两个音量都很大的音频源,建议你把其中一个的音量调低一点(可以先试试-12db),特别是当你在混合音乐的时候。
你可以在这里找到更多的音频库。