2016-04-15 26 views
0

Beginnen wir mit einem Beispiel. Angenommen, wir haben 3 Audiodateien: first.mp3, second.mp3, third.mp3. Ich möchte zuerst mit der zweiten zusammenführen und dann 3.mp3 zu fusioniertem Audio verketten. Ist es möglich, mit einem Befehl zu machen?Sox - paar Aktionen auf einmal

habe ich versucht, so Befehl aufzurufen:

sox --combine mix first.mp3 second.mp3 --combine concatenate third.mp3 output.mp3 

aber dann ist output.mp3 Ergebnis der Verkettung alle drei Audio-Dateien, so dass es zu

sox --combine concatenate first.mp3 second.mp3 third.mp3 output.mp3 

Meine allgemeine Frage gleichwertig ist, ob ist Es ist möglich, einige Aktionen in einem einzigen Befehl auszuführen.

Antwort

0

Ich fand die Antwort.

Wir müssen "-p" verwenden, um den ersten Prozess in stdout zu speichern und "-", um im zweiten Prozess von stdin zu lesen.

Beispiel:

sox --combine mix first.mp3 second.mp3 -p | sox - --combine concatenate third.mp3 output.mp3 

Wir haben auch mehrere Verschachtelung haben:

sox --combine mix first.mp3 second.mp3 -p | sox - --combine concatenate third.mp3 -p | sox - --combine concatenate fourth.mp3 output.mp3