2012-02-26 32 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)