Wie man Hi-Res FLAC in Linux resampelt

Hochauflösende Flac Sox Resample 00 Titelbild

Hi-Res FLAC-Dateien sind einer der Höhepunkte des Hi-Fi-Audioerlebnisses. Wenn Sie jedoch Ihre CD in FLAC-Dateien rippen, werden Sie feststellen, dass sie oft schwer abzuspielen sind, außerhalb der Geräte, für die sie erstellt wurden. Dies kann ein Problem für Benutzer sein, die hochauflösende Audiotracks besitzen, aber nicht über die Werkzeuge verfügen, um sie richtig abzuspielen.

Eine Möglichkeit, dies zu beheben, besteht darin, sox zu verwenden, um Ihre Hi-Res FLAC-Dateien zu resampeln. Dieses Tutorial vermittelt die Grundlagen von sox und wie man es verwendet, um FLAC-Dateien in Linux zu resampeln.

Tipps: Wenn Sie zwischen den verschiedenen Audioformaten verwirrt sind, werfen Sie einen Blick auf diesen Leitfaden, um die Unterschiede zwischen MP3, AAC, FLAC und vielen anderen Formaten zu verstehen.

Inhaltsverzeichnis

  • Was ist Sox und wie funktioniert Resampling?
  • Resampling einer Hi-Res FLAC-Datei mit sox
  • Automatisierung des Resampling-Prozesses
  • Häufig gestellte Fragen

Was ist Sox und wie funktioniert Resampling?

Im Wesentlichen ist sox ein Kommandozeilen-Audiobearbeitungsprogramm. Im Gegensatz zu Audacity ermöglicht es Ihnen, Audiodateien direkt von Ihrem Terminal aus zu bearbeiten. Das macht sox nützlich für diejenigen, die einfache Änderungen vornehmen oder eine komplexe Audioaufgabe automatisieren möchten.

Hochauflösende Flac Sox Resample 02 Sox-Hilfeseite

Resampling hingegen ist der Prozess, bei dem komplexe Algorithmen verwendet werden, um ein hochauflösendes Signal in ein niedrigeres zu transformieren. Dieser Ansatz behält die Qualität eines Audiotracks bei, während die Datenmenge, die Sie auf Ihrem Computer speichern, reduziert wird.

Darüber hinaus ermöglicht das Resampling auch, Ihre Hi-Res FLAC-Dateien auf einfacheren Geräten abzuspielen. Ein Rockbox iPod Video wird zum Beispiel haken und stottern, während er eine 24-Bit-Audiodatei abspielt.

Hochauflösende Flac Sox Resample 04 Rockbox-Startbildschirm

Alternative: Neben sox können Sie auch flac2all verwenden, um FLAC-Dateien in andere moderne Audioformate zu transkodieren.

Resampling einer Hi-Res FLAC-Datei mit sox

Hinweis: Die folgenden Schritte gelten für Ubuntu, aber die Verwendung bleibt unabhängig von der verwendeten Linux-Distribution gleich.

Der erste Schritt beim Resampling von FLAC-Dateien besteht darin, sowohl das sox-Dienstprogramm als auch seine Abhängigkeiten zu installieren. Führen Sie den folgenden Befehl in Debian und Ubuntu aus:

sudo apt install sox flac ffmpeg

Hochauflösende Flac Sox Resample 05 Sox installieren

Überprüfen Sie, ob es korrekt installiert ist: sox --version.

Hochauflösende Flac Sox Resample 06 Sox-Version überprüfen

Finden Sie sowohl die Bit-Tiefe als auch die Abtastrate Ihrer FLAC-Datei, indem Sie das integrierte file-Programm verwenden, um diese Details im Terminal anzuzeigen:

file sample.flac

In meinem Fall hat meine FLAC-Datei eine Bit-Tiefe von 24-Bit und eine Abtastrate von 96 kHz.

Hochauflösende Flac Sox Resample 07 Flac-Bit-Tiefe Abtastrate überprüfen

Den richtigen Resample-Rate für sox finden

Finden Sie die richtige Resample-Rate für Ihre FLAC-Datei. Die allgemeine Regel beim Resampling ist, dass die Ziel-Resample-Rate durch die ursprüngliche Abtastrate durch 2 oder 4 teilbar sein sollte.

Hochauflösende Flac Sox Resample 08 Teilbare Abtastraten

Sie sollten eine 192 kHz FLAC-Datei nur auf 96 oder 48 kHz resampeln, um sicherzustellen, dass der Resampling-Algorithmus das ursprüngliche Signal mit möglichst wenig Verzerrung transformieren kann.

Optimierung des Resampling in Ihrer Hi-Res FLAC-Datei

Sobald Sie wissen, welche Resample-Rate zu verwenden ist, können Sie sox ausführen, um Ihre FLAC-Datei zu resampeln. In meinem Fall resample ich eine 96 kHz-Datei, also führe ich den folgenden Befehl aus:

sox -S sample.flac -b 16 resample.flac rate -v -L 48000 dither
  • Die -b-Option weist sox an, eine neue Bit-Tiefe für die Ausgabedatei festzulegen. Ein Wert von 16 setzt beispielsweise die neue Bit-Tiefe auf 16-Bit.
  • Die rate-Option weist sox an, eine neue Abtastrate für die Ausgabedatei festzulegen.
  • Die -v-Option zwingt sox, den “Very High Quality”-Resampling-Algorithmus zu verwenden.
  • Die -L-Option zwingt sox ebenfalls, eine “Linear Phase”-Antwort während des Resamplings zu verwenden. Dies ist ein Filter, der versucht, jedes “Signal-Echo” in der FLAC-Datei zu neutralisieren.
  • Schließlich erzeugt die dither-Option eine kleine Menge Rauschen über dem gesamten Track. Dies dient als Maske, die eventuelle Unvollkommenheiten im Resampling-Prozess verhüllt.

Hochauflösende Flac Sox Resample 09 Einzelnes Resampling-Job

Automatisierung des Resampling-Prozesses

Obwohl es möglich ist, sox für jede Datei einzeln zu verwenden, ist es auch möglich, den gesamten Prozess mit der Shell zu automatisieren. (Schauen Sie sich den Leitfaden für Anfänger zur Shell-Skripterstellung an.) Dies ist nützlich, wenn Sie ein ganzes Album von Hi-Res FLAC-Tracks resampeln möchten.

Eine der schnellsten Methoden zur Automatisierung des Resampling-Prozesses besteht darin, eine Bash for-Schleife zu verwenden. Zum Beispiel können Sie die folgenden Codezeilen ausführen, um einen gesamten Ordner von FLAC-Dateien zu resampeln:

mkdir -p ./flac-dir/resample && cd ./flac-dir  
for flac in *.flac; do sox -S "${flac}" -b 16 resample/"${flac}" rate -v -L 48000 dither; done

Der erste Befehl erstellt den Ausgabeverzeichnis für die neuen FLAC-Dateien und ändert das aktuelle Arbeitsverzeichnis. Der zweite Befehl durchläuft jede Datei im aktuellen Ordner und resampelt sie mit sox.

Hochauflösende Flac Sox Resample 10 Schleifen-Resampling-Job

Häufig gestellte Fragen

Ist es möglich, eine MP3-Datei mit sox zu resampeln?

Der rate-Befehl für sox funktioniert nicht mit verlustbehafteten Formaten, daher kann er nicht verwendet werden, um eine MP3-Datei zu resampeln.

Ich bekomme einen “kein Handler für den erkannten Dateityp”-Fehler. Ist sox defekt?

Nein! Dies passiert, wenn sox nicht in der Lage ist, Ihre hochauflösende FLAC-Datei zu lesen und zu decodieren. Die häufigsten Ursachen für dieses Problem sind eine fehlende Systembibliothek und ein fehlendes Compiler-Flag.

Um die fehlende Systembibliothek zu beheben, führen Sie den folgenden Befehl aus: sudo apt install libsox-fmt-all. Das Beheben des fehlenden Compiler-Flags erfordert, dass Sie das aktuelle sox-Paket deinstallieren und es aus dem Quellcode kompilieren.

Sox meldet, dass meine Hi-Res FLAC-Datei übersteuert. Ist mein Resampling fehlgeschlagen?

Es ist normal, dass eine hochauflösende FLAC-Datei während eines Resamplings übersteuert, da der Resampling-Prozess die meisten der höheren und unhörbaren Frequenzdaten einer FLAC-Datei weglässt.

Dennoch ist es möglich, sox zu sagen, dass es für mögliches Übersteuern während des Resamplings kompensiert. Fügen Sie dazu das -G-Flag zu Ihrem sox-Befehl hinzu: sox -S sample.flac -G -b 16 resample.flac rate -v -L 48000 dither.

Bildnachweis: Unsplash. Alle Änderungen und Screenshots von Ramces Red.