sox ist das Schweizer Taschenmesser der Audiomanipulation, das im gleichnamigen Paket steckt. Einmal installiert, können wir einen Blick auf die Manpages werfen, wo klargestellt wird, dass es eine Audiodatei nicht nur abspielen, sondern auch manipulieren kann! Hier sind die Codezeilen:
SoX reads and writes audio files in most popular formats and can optionally apply effects to them. It can combine multiple input sources, synthesise audio, and, on many systems, act as a general purpose audio player or a multi-track audio recorder. It also has limited ability to split the input into multiple output files. All SoX functionality is available using just the sox command. To simplify playing and recording audio, if SoX is invoked as play, the output file is automatically set to be the default sound device, and if invoked as rec, the default sound device is used as an input source. Additionally, the soxi(1) command provides a convenient way to just query audio file header information. The heart of SoX is a library called libSoX. Those interested in extending SoX or using it in other programs should refer to the libSoX manual page: libsox(3). SoX is a command-line audio processing tool, particularly suited to making quick, simple edits and to batch processing. If you need an interactive, graphical audio editor, use audacity(1).
Wie wir in der vorangegangenen Beschreibung sehen können, können sox und soxi für unzählige verschiedene Verwendungen bei der Manipulation von Audiodateien verwendet werden.
Wir können ein unterstütztes Audiodateiformat einfach mit diesen Befehlszeilen abspielen:
# sox tone-sine-1000hz.wav -t alsa hw:2 tone-sine-1000hz.wav: File Size: 1.76M Bit Rate: 1.41M Encoding: Signed PCM Channels: 2 @ 16-bit Samplerate: 44100Hz Replaygain: off Duration: 00:00:10.00 In:78.9% 00:00:07.89 [00:00:02.11] Out:348k [====|====] Hd:2.4 Clip:0
Wenn die beteiligten Dateien überhaupt keine Erweiterungen haben, können wir die Audiodateien mit dem Optionsargument -t wie folgt erzwingen:
# sox tone-sine-1000hz.wav -t au tone-sine -1000hz # file tone-sine-1000hz tone-sine-1000hz: Sun/NeXT audio data: 16-bit linear PCM, stereo, 44100 Hz
Wenn beim Ausführen des soxi-Befehls der folgende Fehler auftritt:
soxi: command not found
Sie können versuchen, das folgende Paket gemäß Ihrer Distributionswahl zu installieren.
Verteilung | Befehl |
---|---|
OS X | brew install sox |
Debian | apt-get install sox |
Ubuntu | apt-get install sox |
Alpin | apk füge sox hinzu |
Arch Linux | pacman -S sox |
Kali-Linux | apt-get install sox |
CentOS | yum install sox |
Fedora | dnf install sox |
Raspbian | apt-get install sox |
sox-Befehlsbeispiele
1. Führen Sie zwei Audiodateien zu einer zusammen:
$ sox -m input_audiofile1 input_audiofile2 output_audiofile
2. Kürzen Sie eine Audiodatei auf die angegebenen Zeiten:
$ sox input_audiofile output_audiofile trim start end
3. Normalisieren Sie eine Audiodatei (stellen Sie die Lautstärke auf den maximalen Spitzenpegel ein, ohne Clipping):
$ sox --norm input_audiofile output_audiofile
4. Eine Audiodatei umkehren und speichern:
$ sox input_audiofile output_audiofile reverse
5. Statistische Daten einer Audiodatei drucken:
$ sox input_audiofile -n stat
6. Erhöhen Sie die Lautstärke einer Audiodatei um das Doppelte:
$ sox -v 2.0 input_audiofile output_audiofilesoxi:Befehl nicht gefunden