2012-02-26 16 views
5

Próbuję scalić 2 pliki wave w jednym pliku. Dwa pliki powinny rozpocząć odtwarzanie na początku nowego pliku. Niezależnie od długości dźwięku. Uruchomienie następującego polecenia nie daje mi tego wyniku.Scalanie 2 plików audio w sox

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

Czy są inne sposoby osiągnięcia tego poprzez sox lub inne biblioteki linii poleceń?

Odpowiedz

0

Heythere. Przepraszamy za opóźnienie w odpowiedzi =) poleceń powinien wyglądać następująco

sox file1 file2 file3 

powyżej będą łączyć pierwsze dwa pliki i nazwać go po 3rd.

Również może chcesz sprawdzić dokumenty http://sox.sourceforge.net/sox.html

+3

będzie to złączyć dwa pliki, a nie je połączyć (jeśli o scaleniu mówimy o graniu dwóch lub więcej plików w tym samym czas) – trainoasis

+1

tak się składa, że ​​potrzebowałem połączenia i to mi pomogło. Dziękuję Ci. – Yohannes

4

wystarczy zmienić -M z -m -M = scalić -m = mieszać

+1

Czy znasz jakąś opcję, aby zatrzymać ją na końcu najkrótszego pliku? – Calmarius

2

Dla takich przypadkach Calmarius pyta:

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

to zatrzymuje się na długości in1.wav, dla przypadków, które znasz krótsze. W przeciwnym razie wystarczy dodać komparator.

+0

jaka jest funkcja '' soxi -D in1.wav''? –

+0

'soxi -D in1.wav' wyświetla długość w sekundach in1.wav. Jednak aby uruchomić to polecenie w komendzie mieszania, musisz użyć: 'sox-m in1.wav in2.wav out.wav trim 0" $ (soxi -D in1.wav) "' – WebSpanner

+0

Czy istnieje sposób, aby było _powtórzyć krótszy plik na dłużej? – bcattle

0

„soxi -D in1.wav” dostaje długość pliku (in1.wav)