33 Stimmen

Verringerung/Beseitigung von Clipping in SoX bei der Konvertierung der Abtastrate

Ich verwende SoX, um eine Reihe von Wav-Dateien in 16kHz, 16bit, Monokanal-Wav-Dateien zu trimmen (die Teilmengen einer der ursprünglichen Wav-Dateien sein werden). Die meisten der Quell-Wav-Dateien sind bereits auf diese Spezifikation eingestellt, aber ich habe gerade herausgefunden, dass einige von ihnen unterschiedliche Sampleraten haben. Da das Ganze in Java mit Hilfe eines ProcessBuilders automatisiert werden soll, dachte ich, ich könnte den folgenden Befehl verwenden:

sox <source_wav> -b 16 <dest_wav> channels 1 rate 16000 trim <startTime> =<endTime>

und ändert die Abtastrate nur, wenn sie nicht 16000 Hz beträgt. Bei Dateien mit der gleichen Spezifikation tut es, was es soll, aber bei Dateien mit unterschiedlichen Sampleraten erhalte ich:

sox WARN rate: rate clipped 48 samples; decrease volume?
sox WARN dither: dither clipped 44 samples; decrease volume?

Wie kann ich damit umgehen, ohne die Qualität des Tons zu beeinträchtigen? Beachten Sie, dass ich keine Ahnung von Signalverarbeitung habe.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X