web-dev-qa-db-fra.com

combinez plusieurs fichiers audio en silence entre chaque fichier audio dans sox

J'ai environ 20 fichiers audio (.wav) dans un dossier, voici comment je combine ces fichiers wave

sox *.wav output.wav

Je veux ajouter un délai ou un silence entre chaque vague.

J'ai essayé pad, mais le silence n'a été placé qu'au début et à la fin de output.wav.

1
zey

Vous devez insérer une piste silencieuse entre chaque piste à mesure que vous les spécifiez afin d'obtenir un résultat du type:

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

Vous pouvez le faire manuellement (comme ci-dessus), ou nous pouvons boucler le répertoire actuel avec une boucle inline. Quelque chose comme ça devrait marcher:

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

Le générateur de silence est volé d'ici .

4
Oli

Générer 2 secondes de silence (stéréo)

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

Combinaison des fichiers

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

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

Une autre solution possible

cité de 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