2012-02-26 34 views
5

我想將2個wave文件合併到一個文件中。這兩個文件應該在新文件的開頭播放。獨立於聲音的長度。運行以下命令不會給我這個結果。在sox中合併2個音頻文件

sox -M new_input.wav myrecording.wav output_test.aiff 

是否有其他方法通過sox或其他命令行庫來實現此目的?

回答

0

Heythere。對不起,反應遲緩=) 命令應該是這樣的

sox file1 file2 file3 

上面會合並前兩個文件和第三個來給它命名。

您還可能要檢查文檔 http://sox.sourceforge.net/sox.html

+3

這將連接兩個文件,而不是將它們合併(如果合併我們談論打兩個或多個文件同時時間) – trainoasis 2014-11-28 14:45:44

+1

它只是發生,我需要連接,這對我有幫助。謝謝。 – Yohannes 2017-11-04 07:47:28

4

只是改變-M與-m -M =合併 -m =混合

+1

你知道有什麼選擇讓它在最短文件結束時停止嗎? – Calmarius 2014-01-18 09:49:39

2

對於像Calmarius情況是問:

sox -m in1.wav in2.wav out.wav trim 0 `soxi -D in1.wav` 

這會停在in1.wav的長度上,因爲你知道情況較短。否則只需添加一個比較器。

+0

「soxi -D in1.wav」的功能是什麼? – 2015-06-25 05:39:13

+0

'soxi -D in1.wav'輸出in1.wav的長度,以秒爲單位。但是,要在mix命令中運行此命令,您需要使用: 'sox -m in1.wav in2.wav out.wav trim 0「$(soxi -D in1.wav)」' – WebSpanner 2016-02-07 02:36:41

+0

是否有如何讓它在更長的時間內重複使用較短的文件? – bcattle 2017-04-01 06:32:30

0

「soxi -D in1.wav」獲取文件的長度(in1.wav)