SoX

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet article ne cite pas suffisamment ses sources ().

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».

En pratique : Quelles sources sont attendues ? Comment ajouter mes sources ?

Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

SoX

Informations
Dernière version 14.4.2 ()[1]Voir et modifier les données sur Wikidata
Dépôt git://sox.git.sourceforge.net/gitroot/sox/soxVoir et modifier les données sur Wikidata
Écrit en CVoir et modifier les données sur Wikidata
Système d'exploitation MultiplateformeVoir et modifier les données sur Wikidata
Formats lus 8-Bit Sampled Voice (en), Advanced Audio Coding, Free Lossless Audio Codec, MPEG-1/2 Audio Layer 3, Ogg, Waveform Audio File Format, Audio Interchange File Format, Red Book, Digital Audio Tape, Vorbis et OpusVoir et modifier les données sur Wikidata
Formats écrits Advanced Audio Coding, Free Lossless Audio Codec, MPEG-1/2 Audio Layer 3, Ogg, Waveform Audio File Format, 8-Bit Sampled Voice (en), Audio Interchange File Format, Red Book, Digital Audio Tape, Vorbis et OpusVoir et modifier les données sur Wikidata
Type Éditeur audio
Commande informatiqueVoir et modifier les données sur Wikidata
Licence Licence publique générale GNUVoir et modifier les données sur Wikidata

modifier - modifier le code - voir Wikidata (aide) Consultez la documentation du modèle

Le logiciel SoX (SOund eXchange, en français : « échange de son ») est un utilitaire pour Unix (dont Linux), MacOS et Windows, en ligne de commande permettant la manipulation de sons et leur conversions dans différents format audio. Il est en ce sens similaire à ImageMagick pour les images ou FFmpeg pour la vidéo.

Fonctionnalités

SoX peut lire et enregistrer des sons depuis la majorité des plateformes en accédant aux périphériques audio.

Le Processeur de signal numérique (ou DSP) peut être utilisé pour l'accélération du traitement, sous Linux, l'interface ossdsp est utilisée via l'option -t ossdsp /dev/dsp, où /dev/dsp est le périphérique DSP à utiliser[2],[3].

Il peut appliquer différents effets aux sons qu'il traite, notamment à l'aide du support des plugins LADSPA[4]. Il peut fonctionner en multithread, afin d'accélérer les calculs d'effets[5] et peut générer des scripts pour répondre aux effets des filtres, à l'aide de Gnuplot ou de GNU Octave[6]. Les effets intégrés sont les suivants, ladspa servant à executer un plugin d'effet LADSPA[7] :

EFFECTS: allpass band bandpass bandreject bass bend biquad chorus channels compand contrast dcshift deemph delay dither divide+ downsample earwax echo echos equalizer fade fir firfit+ flanger gain highpass hilbert input# ladspa loudness lowpass mcompand noiseprof noisered norm oops output# overdrive pad phaser pitch rate remix repeat reverb reverse riaa silence sinc spectrogram speed splice stat stats stretch swap synth tempo treble tremolo trim upsample vad vol
  * Deprecated effect    + Experimental effect    # LibSoX-only effect
EFFECT OPTIONS (effopts): effect dependent; see --help-effect

Il a un système de ré-échantillonnage avancé, permettant par exemple ed ré-échantillonner du débit DAT au format CD[8].

SoX peut également encoder et décoder dans les formats les plus courants de fichiers audio : aac, avi, flac, Opus, mp3, ogg, wav, wmv. Il permet de convertir les fichiers .au en .wav. La liste complète des formats supportés de la version peut-être obtenue par sox --help. Par exemple la version 14.4.2, pour Arch Linux, donne en  :

AUDIO FILE FORMATS: 8svx aif aifc aiff aiffc al amb amr-nb amr-wb anb au avr awb caf cdda cdr cvs cvsd cvu dat dvms f32 f4 f64 f8 fap flac fssd gsm gsrt hcom htk ima ircam la lpc lpc10 lu mat mat4 mat5 maud mp2 mp3 nist ogg opus paf prc pvf raw s1 s16 s2 s24 s3 s32 s4 s8 sb sd2 sds sf sl sln smp snd sndfile sndr sndt sou sox sph sw txw u1 u16 u2 u24 u3 u32 u4 u8 ub ul uw vms voc vorbis vox w64 wav wavpcm wv wve xa xi
PLAYLIST FORMATS: m3u pls
AUDIO DEVICE DRIVERS: alsa ao oss ossdsp pulseaudio

La partie AUDIO DEVICE DRIVERS dépend du système d'exploitation.

SoX permet aussi d'ajouter des filtres lors de la conversion, de concaténer et de mixer plusieurs fichiers.

Bibliothèque

En dehors de son utilisation en ligne de commande permettant de l'utiliser dans des scripts shell, le logiciel comprend une bibliothèque nommée libSox permettant l'intégration de toutes les fonctionnalités dans d'autres logiciels en langage C[9] et des wrappers dans différents langages de programmation :

  • PySoX pour Python[10].
  • Sox-ruby pour Ruby[11]
  • Go-sox pour Go[12],[13]

Pour le langage Lua, il est possible d'utiliser les pipes shell pour échanger entre SoX et le module Luasynth[14]

Exemples de fonctionnement

La gestion des différents format de fichiers audio est transparente et détectée automatiquement pas SoX via l'extension du fichier (entrée et sortie), ou contenu (entrée).

La commande sox fichier lit le fichier audio. Cependant avec certains serveurs de son comme PulseAudio, il faut parfois contourner pour préciser le flux audio à utiliser. Pour Pulseaudio, par exemple, il faut passer par padsp (PulseAudioDSP)[2] : padsp sox fichier -t ossdsp /dev/dsp

Pour enregistrer l'entrée son du système vers un fichier audio, il suffit d'inverser sortie et entrée  : padsp sox -t ossdsp /dev/dsp fichier

La syntaxe pour convertir un fichier .au en .wav : sox fichiersource.au nouveaufichier.wav

Historique

SoX fut créé en par Lance Norskog et posté sur le groupe Usenet alt.sources sous l'appellation Aural eXchange: Sound sample translator. Norskog continua de maintenir et de sortir SoX via Usenet, ftp et le web, jusqu'au début de 1995. En 1996, Chris Bagwell lance sa propre sortie du programme patché après avoir effectué le portage sous Linux et Sun.

Ce programme est sous licence GPL. La dernière version au est la 14.4.2[4], mais le développement est toujours actif en 2020.

Références

  1. « [SoX-users] [ANNOUNCE] SoX 14.4.2 Released | SoX - Sound eXchange »
  2. a et b « PulseAudio, OSS, padsp », sur Archlinux.fr
  3. « tnt — Lire le flux sonore, avec SoX », sur Ubuntu-fr
  4. a et b (en) « $ox-14.4.2 », sur site Sourceforge de SoX,
  5. sox --help | grep thread
  6. sox --help | grep plot
  7. sox --help
  8. (en) « SoX - Sound eXchange », sur SoX
  9. « libsox », sur LinuxMAO.org
  10. (en) Rachel M. Bittner, Eric Humphrey, Juan P. Bello, « PySoX: Leveraging the audio signal, processing power of SoX in Python », sur pcdn.com
  11. (en) « Beirdo / sox-ruby », sur github
  12. (en) « Krig / go-sox », sur github
  13. (en) « Awesome Go — Audio and Music », sur Awesome-go.com
  14. (en) « graue / luasynth », sur github

Bibliographie

  • (en) Nitin Arora, « AudioRegent: Exploiting SimpleADL and SoX for Digital Audio Delivery », Code{4}lib Journal, no 10,‎ (lire en ligne)

Liens externes

  • (en) Site officiel
  • (fr) Documentation pour GNU/Linux
  • (en) Le manuel
  • (en) « History - The Beginning of Son of SoX » (consulté le )
v · m
Station audionumérique
Séquenceur
Tracker
Boîte à rythmes
Éditeur audio
Échantillonneur
Synthétiseur et simulateur
Éditeur de partition
Programmation audio
et Live coding
Connectique
Analyse sonore (en)
Sonic Visualiser
  • icône décorative Portail de l’informatique