我有两个长度为X的音频文件A和另一个长度为Y的音频文件(X> Y)。现在我想用文件B替换文件A的最后Y部分。
例如文件A的长度为60秒,文件B的长度为43秒。我需要用文件B替换文件A的最后43个。
我希望很清楚。
是否可以使用sox执行此操作?怎么样,我需要合并它们吗?如果是,那么如何合并呢?
还有什么方法可以实现自动化吗?就像我不必手动确定两者的长度等。
答案 0 :(得分:1)
您可以连接两个文件,然后删除不需要的部分:
sox A B O trim 0 17 43
在bash shell中,这可以完全自动化,如下所示:
sox A B O trim 0 $(( $(soxi -s A) - $(soxi -s B) ))s $(soxi -s B)s
此处,soxi -s file
用于确定样本中的文件长度。另一种可能性,在管道特殊输入文件中使用第二个sox实例:
sox "| sox A -p trim 0 -$(soxi -s B)s" B O