Объединить 2 аудиофайла в sox

Я пытаюсь объединить 2 волновых файла в один файл. 2 файла должны начать воспроизводиться в начале нового файла. Независимо от длины звука. Выполнение следующей команды не дает мне этого результата.

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

Есть ли другие способы добиться этого с помощью sox или других библиотек командной строки?


person Ellen S    schedule 26.02.2012    source источник


Ответы (4)


просто измени -M with -m

-M = merge
-m = mix
person Giuseppe    schedule 30.06.2012
comment
Знаете ли вы какой-либо вариант остановки в конце самого короткого файла? - person Calmarius; 18.01.2014

Для таких случаев, как Кальмариус, спрашивает:

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

это останавливается на длине in1.wav, для случаев, когда вы знаете, что короче. В противном случае просто добавьте компаратор.

person Johan Ehnberg    schedule 28.06.2014
comment
какова функция soxi -D in1.wav? - person kc ochibili; 25.06.2015
comment
soxi -D in1.wav выводит длину файла in1.wav в секундах. Однако для запуска этой команды в команде микширования вам нужно будет использовать: sox -m in1.wav in2.wav out.wav trim 0 "$(soxi -D in1.wav)" - person WebSpanner; 07.02.2016
comment
Есть ли способ заставить его повторять более короткий файл на время более длинного? - person bcattle; 01.04.2017

Привет. Извините за поздний ответ =) Команда должна выглядеть так

sox file1 file2 file3

Выше будут объединены первые два файла и названы после 3-го.

Вы также можете проверить документы http://sox.sourceforge.net/sox.html.

person get8p    schedule 12.03.2012
comment
это объединит два файла, а не объединит их (если под слиянием мы говорим об одновременном воспроизведении двух или более файлов) - person trainoasis; 28.11.2014
comment
так получилось, что мне нужна была конкатенация, и это помогло мне. Спасибо. - person yohannist; 04.11.2017

'soxi -D in1.wav' получает длину файла (in1.wav)

person ralphosky    schedule 21.07.2015