Entfernen Sie die Stille von Audiodateien, während Sie Lücken lassen


16

Derzeit verwenden wir diesen Befehl in einem Shell-Skript, um Stille aus Audiodateien zu entfernen:

ffmpeg -i $INFILE -af silenceremove=0:0:0:-1:1:${NOISE_TOLERANCE}dB -ac 1 $SILENCED_FILE -y

Dies funktioniert einwandfrei, mit der Ausnahme, dass die gesamte Stille beseitigt wird und der verbleibende Ton zusammengedrückt wird.

Wie geht das, wenn zwischen den einzelnen Audiodateien zwei oder drei Sekunden liegen?

Die Lösung muss sehr effizient sein, da wir eine Menge Audio verarbeiten und ein Tool verwenden sollten, das sowohl unter Linux als auch unter OSX relativ einfach installiert werden kann, wie zum Beispiel ffmpeg oder sox.

Antworten:


25

Der beste Weg, den ich gesehen habe, ist das Hinzufügen der -lFlagge zur Stille wie folgt:

sox in.wav out6.wav silence -l 1 0.1 1% -1 2.0 1%

Ich habe diesen Befehl aus Beispiel 6 dieses sehr nützlichen Blogposts mit dem Namen The Sox of Silence kopiert


Getestet und macht genau das, was ich brauche. Vielen Dank!
Nathan GoFundMonica Arthur

Endlich eine Lösung, wie es funktioniert. Vielen Dank.
vr_driver

Ich würde das gerne für ein Video machen und die Stille drosseln - wird SoX funktionieren? Was ist die beste Alternative?
zero_cool
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.