2013-08-28 49 views
0

我有兩個音頻文件A的長度爲X,長度爲Y的其他B(X> Y)。現在我想用文件B替換文件A的最後一個Y部分。sox合併兩個不同長度的文件

例如,文件A的長度爲60s,文件B的長度爲43s。我需要用文件B替換文件A的最後43個。

我希望它很清楚。

使用sox可以做到這一點嗎?如何,我需要合併它們?如果是,那麼如何合併它們?

還有什麼辦法可以自動化嗎?就像我不必手動確定的長度都等

回答

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 
相關問題