sox es la navaja suiza de la manipulación de audio, que se encuentra en el paquete del mismo nombre. Una vez instalado, podemos echar un vistazo a sus páginas de manual, donde se aclara que no solo puede reproducir un archivo de audio, ¡sino que también puede manipularlo! Aquí están las líneas de código:
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).
Como podemos ver en la descripción anterior, sox y soxi se pueden usar para muchos usos diferentes en la manipulación de archivos de audio.
podemos reproducir un formato de archivo de audio compatible simplemente usando estas líneas de 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
Si los archivos involucrados no tienen ninguna extensión, podemos forzar los archivos de audio usando el argumento de la opción -t de la siguiente manera:
# 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
Si encuentra el siguiente error mientras ejecuta el comando soxi:
soxi: command not found
Puede intentar instalar el siguiente paquete según su elección de distribución.
Distribución | Comando |
---|---|
OS X | preparar instalar medias |
Debian | apt-get install sox |
Ubuntu | apt-get install sox |
Alpino | apk agregar medias |
Arco Linux | pacman -S medias |
Kali Linux | apt-get install sox |
Cent OS | yum instalar medias |
Fedora | dnf instalar sox |
Raspbian | apt-get install sox |
Ejemplos de comandos sox
1. Combina dos archivos de audio en uno:
$ sox -m input_audiofile1 input_audiofile2 output_audiofile
2. Recorte un archivo de audio a los tiempos especificados:
$ sox input_audiofile output_audiofile trim start end
3. Normalice un archivo de audio (ajuste el volumen al nivel máximo máximo, sin recorte):
$ sox --norm input_audiofile output_audiofile
4. Invierta y guarde un archivo de audio:
$ sox input_audiofile output_audiofile reverse
5. Imprimir datos estadísticos de un archivo de audio:
$ sox input_audiofile -n stat
6. Aumenta el volumen de un archivo de audio por 2:
$ sox -v 2.0 input_audiofile output_audiofilesoxi:comando no encontrado