sox è il coltellino svizzero della manipolazione audio, contenuto nell'omonimo pacchetto. Una volta installato, possiamo dare un'occhiata alle sue pagine man, dove è chiaro che non solo può riprodurre un file audio, ma può anche manipolarlo! Ecco le righe di codice:
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).
Come possiamo vedere nella descrizione precedente, sox e soxi possono essere utilizzati per moltissimi usi diversi nella manipolazione di file audio.
possiamo riprodurre un formato di file audio supportato semplicemente usando queste righe di comando:
# 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
Se i file coinvolti non hanno alcuna estensione, possiamo forzare i file audio usando l'argomento dell'opzione -t come segue:
# 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
Se riscontri un errore di seguito durante l'esecuzione del comando soxi:
soxi: command not found
Puoi provare a installare il pacchetto seguente secondo la tua scelta di distribuzione.
Distribuzione | Comando |
---|---|
OS X | brew install sox |
Debian | apt-get install sox |
Ubuntu | apt-get install sox |
Alpino | apk aggiungi sox |
Arch Linux | pacman -S sox |
Kali Linux | apt-get install sox |
CentOS | yum install sox |
Fedora | dnf install sox |
Raspbian | apt-get install sox |
Esempi di comando sox
1. Unisci due file audio in uno:
$ sox -m input_audiofile1 input_audiofile2 output_audiofile
2. Taglia un file audio agli orari specificati:
$ sox input_audiofile output_audiofile trim start end
3. Normalizza un file audio (regola il volume al massimo livello di picco, senza clipping):
$ sox --norm input_audiofile output_audiofile
4. Invertire e salvare un file audio:
$ sox input_audiofile output_audiofile reverse
5. Stampa i dati statistici di un file audio:
$ sox input_audiofile -n stat
6. Aumenta il volume di un file audio di 2 volte:
$ sox -v 2.0 input_audiofile output_audiofilesoxi:comando non trovato