webentwicklung-frage-antwort-db.com.de

Kombinieren Sie mehrere Audiodateien mit Stille zwischen den einzelnen Audiodateien in SoX

Ich habe ungefähr 20 Audiodateien (.wav) in einem Ordner. So kombiniere ich diese Wave-Dateien

sox *.wav output.wav

Ich möchte zwischen jeder Welle eine Verzögerung oder Stille einfügen.

Ich habe pad versucht, aber es ist nur die Stille am Anfang und Ende von output.wav.

1
zey

Sie müssen eine stille Spur zwischen jeder Spur einfügen, wenn Sie sie angeben, damit Sie am Ende Folgendes erhalten:

sox track1.wav silence.wav track2.wav silence.wav ... output.wav 

Sie können dies manuell tun (wie oben), oder wir können das aktuelle Verzeichnis mit einer Inline-for-Schleife durchlaufen. So etwas sollte funktionieren:

sox -n -r 44100 -c 2 /tmp/silence.wav trim 0.0 2
sox $(for f in *.wav; do echo -n "$f /tmp/silence.wav "; done) output.wav

Der Schweigerzeuger ist von hier gestohlen .

4
Oli

Erzeugen Sie 2 Sekunden (Stereo) Stille

sox -n -r 44100 -c 2 silence.wav trim 0.0 3.0

Dateien kombinieren

sox silence.wav filetopad.mp3 silence.wav output.wav

source http://activearchives.org/wiki/Padding_an_audio_file_with_silence_using_sox

Eine andere mögliche Lösung

zitiert aus https://stackoverflow.com/questions/5587135/sox-merge-two-audio-files-with-a-pad

sox starts-last.mp3 -p pad 2 0 | sox - -m starts-second.mp3 -p pad 2 0 | sox - -m starts-first.mp3 combined.mp3
2
Maythux