Logiciels multimédia en console

sox : Le couteau suisse de la manipulation audio

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

Introduction



SoX, ou "Sound eXchange", est le couteau suisse de manipulation audio sous Linux. Il permet de lire, convertir et manipuler des fichiers audio dans divers formats. SoX offre une multitude de fonctionnalités pour répondre à vos besoins.

Il incorpore les commandes play et rec qui permettent de lire et enregistrer du contenu audio.

Installation



SoX n'est souvent pas installé par défaut dans les distributions Linux. Il sera donc nécessaire d'installer le paquet du même nom.

Fedora, RHEL et dérivées (EPEL nécessaire) :
Code BASH :
dnf install sox


Debian, Ubuntu et dérivées :
Code BASH :
apt install sox


Gentoo (pensez à activer les USE qui vont bien pour supporter certains formats) :
Code BASH :
emerge -av media-sound/sox


Utilisation



Lire des fichiers audio avec play



Pour jouer un fichier audio en console, rien de plus simple:
Code BASH :
play  monfichier.mp3


Pour jouer un répertoire complet de fichiers audio en console:
Code BASH :
play  *.mp3


Il est aussi possible de baisser la voix de l'artiste, pour faire une sorte de karaoké avec l'option oops :
Code BASH :
play monfichier.mp3 oops


Enregistrer avec rec



Pour enregistrer de l'audio à partir de votre microphone, on pourra utiliser :
Code BASH :
rec monfichier.wav

L'enregistrement se fait de la validation de la commande à un Ctrl+C

On peut ajouter des effets, par exemple avec une reverb :
Code BASH :
rec monfichier.wav reverb


On peut aussi réduire le volume (gain) lors de l'enregistrement :
Code BASH :
rec monfichier.wav gain -10


Manipuler l'audio avec sox



On pourra transcoder des fichiers audio, ici vers du MP3 320 :
Code BASH :
sox monfichier.aiff -C 320 monfichier.mp3

Dans le cas du MP3, c'est le bitrate constant qui sera passé à l'option -C

Une option utile est -S pour voir la progression lors du transcodage, ici un exemple en convertissant en OGG avec une haute qualité (10 sur échelle de 1 à 10) :
Code BASH :
sox -S monfichier.aiff -C 10 monfichier.ogg


On pourra ajuster le volume du morceau avec l'effet vol (une valeur négative diminue) :
Code BASH :
sox monfichier.mp3 monfichier_plus_fort.mp3 vol 3dB


Si on augmente trop le volume et que sur le fichier le volume est clippé (écrété), on aura un avertissement :
Code BASH :
sox WARN vol: vol clipped 8815536 samples; decrease volume?


On pourra aussi couper un fichier audio. Exemple garder 10 secondes à 30 secondes du fichier :
Code BASH :
sox monfichier.mp3 monfichier_coupe.mp3 trim 30 10


On pourra aussi concaténer plusieurs fichiers :
Code BASH :
sox fic1.ogg foc2.ogg fichier_concatene.ogg


On peut aussi normaliser le volume d'un fichier (Augmentation du volume au maximum sans que le fichier soit clippé) :
Code BASH :
sox monfichier.mp3 monfichier_normalise.mp3 norm