SoX
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 22.04 Jammy Jellyfish
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
SoX 🇬🇧 steht für Sound eXchanger. SoX ist ein universeller und sehr mächtiger Audiokonverter für die Kommandozeile.
Installation¶
Folgendes Paket muss installiert [1] werden:
sox (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install sox
Benutzung¶
Die allgemeine Syntax von SoX ist recht komplex [4]:
sox Allgemeine_Optionen Format_Optionen In-Datei_1 [In-Datei2 ...] Format-Optionen Aus-Datei [Effekt] [Effekt_Optionen]
Was auf den ersten Blick abschreckend aussieht, reduziert sich aber für die "einfache" Audiokonvertierung auf:
sox In-Datei Aus-Datei
In-Datei
ist dabei die Originaldatei, Aus-Datei
die zu erzeugende Datei.
Beispiel: der Aufruf von
sox Song.mp3 Song.ogg
wandelt die Datei Song.mp3 von einer MP3- in eine OGG-Datei um.
Formate¶
SoX kennt eine sehr große Zahl von teilweise auch exotischen Audioformaten. Eine komplette Übersicht erhält man über den Aufruf von
sox -h
oder auf der Homepage und auch in der Manpage zum Programm.
Unter Umständen kann es sein, dass einige Formate fehlen. Die meisten lassen sich durch die Installation [1] von:
libsox-fmt-all (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install libsox-fmt-all
Oder mit apturl installieren, Link: apt://libsox-fmt-all
nachträglich in SoX integrieren. Dieses Metapaket enthält folgende Bibliotheken:
libsox-fmt-alsa (SoX-I/O-Bibliothek für das alsa-Format)
libsox-fmt-ao (SoX-I/O-Bibliothek für das Libao-Format)
libsox-fmt-base (Minimaler Satz von Format-Bibliotheken für SoX)
libsox-fmt-mp3 (SoX-Bibliothek für das MP3-Format)
libsox-fmt-oss (SoX-I/O-Bibliothek für das OSS-Format)
libsox-fmt-pulse (SoX-Bibliothek für PulseAudio)
Optionen¶
Wie oben bereits erwähnt, kennt SoX eine Vielzahl von Optionen. Im Folgenden sind die wichtigsten Format-Optionen aufgeführt:
SoX Format-Optionen | |
Option | Beschreibung |
-c Kanäle | Ändert die Anzahl der Kanäle der Ausgabedatei, wobei SoX mit 1 , 2 oder 4 Kanälen umgehen kann |
-r Rate | Ändert die Sample-Rate der Ausgabedatei. Die typische Sample-Rate ist 44100 Hz (z.B. von Audio-CDs). |
-t Typ | Spezifiziert den Dateityp der Eingabe- oder Ausgabedatei. Normalerweise erkennt SoX den Dateityp anhand des Dateiheaders. Die Option -t ist immer dann notwendig, wenn diese Erkennung nicht funktioniert. |
-v Wert | Ändert die Lautstärke der Input-Datei während der Konvertierung. Werte > 1.0 erhöhen die Lautstärke, Werte < 1.0 senken die Lautstärke. |
Eine komplette Übersicht erhält man auf der Homepage oder in der Manpage zum Programm.
Ein Beispiel:
sox -v 0.9 Song.ogg -c 1 -r 22000 Song_neu.wav
Hier wird die ogg-Datei Song.ogg in eine Wave-Datei mit dem Namen Song_neu.wav gewandelt, wobei die Kanalanzahl auf eins reduziert wird (Mono), die Samplerate auf 22000 Hz gesetzt und auch die Lautstärke reduziert wird.
Effekte¶
SoX kennt eine Vielzahl von Effekten, die während der Konvertierung in die Ausgabedatei eingerechnet werden können. Zu diesen Effekten gehören u.a. diverse Filter, Echo, Chorus und Stereo-Paning. Leider sind nicht alle Effekte auch auf MP3s anwendbar.
Beispiel: Handy-Klingelton erstellen¶
Um einen 20 Sekunden langen Klingelton im WAV-Format mit Einblenden (fade-in) und Ausblenden (fade-out) von jeweils 1/2 Sekunde Dauer (Format: "hh:mm:ss.frac", hier: "0:0.5" für 0 Min., 0,5 Sek.) zu erstellen:
sox in.wav out.wav fade 0:0.5 0:20 0:0.5
Wenn man kein Einblenden, aber ein Ausblenden haben möchte (ideal für prägnant beginnende Musikthemen), verwendet man diesen Befehl:
sox in.wav out.wav fade 0 0:20 0:0.5
Die beiden Befehle verwenden den Anfang eines Musikstückes. Wenn man aber ein Musikstück von z. B. 3 min 40 sec Länge habe, in dem man gerne die bei 1 Min. 22 Sek. beginnende Passage verwenden möchte, dann zerstückele man zunächst die Ausgangsdatei. Hier schneidet man aus gross.wav ab 1 Min. 22 Sek. die darauf folgenden 30 Sekunden heraus:
sox gross.wav klein.wav trim 1:22 30
Diese Sequenz kann man nun für die beiden o. a. Befehle verwenden.
Links¶
Sox Homepage 🇬🇧
Skripte 🇬🇧 - kleine Sammlung von Skripten, die SoX verwenden
Codecs - Beschreibung verschiedener (Audio-) Codecs
Audiodateien umwandeln Übersicht über andere Audiokonverter, teilweise mit GUI