ubuntuusers.de

SoX

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


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.

Wiki/Icons/terminal.png 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 

Oder mit apturl installieren, Link: apt://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.

Diese Revision wurde am 15. Februar 2023 16:02 von kB erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Multimedia