Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
sox [Le 17/10/2009, 19:08] 213.95.41.13 |
sox [Le 11/09/2022, 10:26] (Version actuelle) moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Hardy Intrepid Jaunty son}} | + | {{tag>Focal Bionic audio}} |
---- | ---- | ||
- | |||
- | |||
======SoX ===== | ======SoX ===== | ||
SoX est un logiciel de traitement de son en **ligne de commande**. Il consiste en une suite d'outils permettant par exemple de changer le format, de filtrer, de rajouter des fondus, d'analyser un fichier, etc. | SoX est un logiciel de traitement de son en **ligne de commande**. Il consiste en une suite d'outils permettant par exemple de changer le format, de filtrer, de rajouter des fondus, d'analyser un fichier, etc. | ||
- | |||
- | |||
===== Pré-requis ===== | ===== Pré-requis ===== | ||
* Avoir activé l'accès aux [[:depots#universe_et_multiverse|dépôts Universe]] | * Avoir activé l'accès aux [[:depots#universe_et_multiverse|dépôts Universe]] | ||
- | |||
===== Installation ===== | ===== Installation ===== | ||
- | Il vous suffit, pour cela, d'[[:tutoriel:comment_installer_un_paquet|installer]] le paquet **sox**.[[apt://sox|{{apt.png}}]] | + | Il vous suffit, pour cela, d'[[:tutoriel:comment_installer_un_paquet|installer]] le paquet **[[apt>sox|sox]]**. |
- | Afin de profiter pleinement des possibilités de SoX (comme la manipulation du mP3 ou de l'ogg ;-)), il est recommandé d'[[:tutoriel:comment_installer_un_paquet|installer]] aussi le paquet **libsox-fmt-all**.[[apt://libsox-fmt-all|{{apt.png}}]] | + | |
- | + | ||
- | + | ||
- | + | ||
+ | Afin de profiter pleinement des possibilités de SoX (comme la manipulation du mP3 ou de l'ogg ;-)), il est recommandé d'installer aussi le paquet **[[apt>libsox-fmt-all|libsox-fmt-all]]**. | ||
===== Les différents outils ==== | ===== Les différents outils ==== | ||
+ | * [[#play]] : pour lire les fichiers musicaux | ||
+ | * [[#sox1|sox]]: pour manipuler les fichiers musicaux | ||
+ | * [[#rec]]: pour enregistrer des sons | ||
- | ===play=== | + | ==== play ==== |
**Play** lit les fichiers musicaux. Par exemple : | **Play** lit les fichiers musicaux. Par exemple : | ||
- | * pour lire tous les fichiers mp3 d'un répertoire à la suite : | + | * pour lire tous les fichiers mp3 d'un répertoire à la suite :<code>play *.mp3</code> |
- | <code>play *.mp3</code> | + | * pour lire un fichier "2 fois plus fort" :<code>play fichier.mp3 vol 2</code> |
- | * pour lire un fichier "2 fois plus fort" : | + | |
- | <code>play fichier.mp3 vol 2</code> | + | |
- | ===sox=== | + | ==== sox ==== |
- | <note warning>sox livré pour Ubuntu jaunty (9.04) n inlcus pas le support du mp3. il faut recompiler sox (cf ci dessous)</note> | + | |
**Sox** permet la manipulation des fichiers. Par exemple : | **Sox** permet la manipulation des fichiers. Par exemple : | ||
- | * pour créer un ogg à partir d'un mp3 : | + | * pour créer un ogg à partir d'un mp3 :<code>sox fichier.mp3 fichier.ogg</code> |
- | <code>sox fichier.mp3 fichier.ogg</code> | + | * pour concaténer plusieurs fichiers en un seul :<code>sox fichier1.ogg fichier2.ogg fichier_final.ogg</code> |
- | * pour concaténer plusieurs fichiers en un seul : | + | * pour augmenter de 10db <code>sox entree.wav sortie.wav vol 10db</code> |
- | <code>sox fichier1.ogg fichier2.ogg fichier_final.ogg</code> | + | * pour augmenter les basses tout en évitant la saturation :<code>sox entree.ogg sortie.ogg vol -6dB bass +6</code> |
- | * pour augmenter les basses tout en évitant la saturation : | + | * pour imprimer une analyse du fichier son (amplitude, volume...):<code>sox entree.ogg -n stat </code> |
- | <code>sox entree.ogg sortie.ogg vol -6dB bass +6</code> | + | * pour imprimer une analyse du fichier son (dB, channel..) <code>sox entree.ogg -n stats</code> |
- | Une option très utile de SoX est l'option "-n" qui remplace un fichier (entrée ou sortie) pour spécifier "un fichier nul". Ainsi : | + | * pour convertir un fichier stéreo en "fake"-surround ([[http://jeanbruenn.info/2011/10/22/stereo-to-fake-surround/|Source]])<code> |
- | <code>sox entree.ogg -n</code> | + | #!/bin/bash |
- | ne fait rien :-P. Par contre | + | |
- | <code>sox entree.ogg -n stat</code> | + | |
- | imprime une analyse du fichier son (amplitude, volume...). | + | |
- | ==== compiler sox pour le support mp3 ==== | + | |
- | === preparation === | + | |
- | Si ce n est déjà fait installer le paquetage [[:tutoriel:comment_installer_un_paquet|build-essential]] afin de pourvoir construire des paquetages | + | |
- | sudo apt-get build-dep sox | + | ### |
+ | # stereo 2 surround | ||
+ | ### | ||
- | récupération des sources | + | inFile="$1"; |
- | sudo apt-get source sox | + | outFile="$2"; |
+ | debug="$3"; | ||
- | on se met dans un repertoire pour extraire les sources (conventionnellement /usr/src) | + | # todo ... |
- | cd /usr/src | + | #if [ ! -z sox ]; then |
- | sudo apt-get source sox | + | #echo "sox" |
+ | # run=0; | ||
+ | #fi | ||
- | dans notre cas la version est 14.2.0. ceci peut changer dans le futur | + | #if [ ! -x multimux ]; then |
- | sudo dpkg-source -x sox_14.2.0-1.dsc | + | #echo "multimux" |
+ | # run=0; | ||
+ | #fi | ||
- | avec votre editeur favori editer le fichier rules | + | #if [ ! -x soxi ]; then |
- | sudo gedit sox-14.2.0/debian/rules | + | #echo "soxi" |
+ | # run=0; | ||
+ | #fi | ||
- | et supprimer le **--disable-lame** dans **DEB_CONFIGURE_EXTRA_FLAGS** pour obtenir quelque chose comme | + | #if [ ! -x normalize ]; then |
- | DEB_CONFIGURE_EXTRA_FLAGS := --disable-rpath | + | #echo "normalize" |
+ | # run=0; | ||
+ | #fi | ||
+ | # default parameter | ||
+ | soxParm=""; | ||
+ | normParm="-q"; | ||
- | lancer la compilation et la construction du paquetage | + | # debug parameter |
- | cd sox-14.2.0/ | + | if [ $debug -eq 1 ]; then |
- | sudo dpkg-buildpackage -b | + | soxParm="-V -S"; |
+ | normParm="-v"; | ||
+ | fi | ||
- | installer votre version de sox | + | if [ $run -eq 0 ]; then |
- | cd .. | + | echo "Error: Requirenment missing: normalize multimux, sox or soxi"; |
- | sudo dpkg -i sox_14.2.0-1_i386.deb libsox1_14.2.0-1_i386.deb libsox-fmt-mp3_14.2.0-1_i386.deb | + | else |
- | <note>il est possible que sox_14.2.0-1_i386.deb suffise mais dans le doute, il est preferable de mettre les librairies</note> | + | echo " Preparing Source"; |
- | + | normalize $normParm $inFile; | |
- | ===rec=== | + | rate=$(soxi $inFile | grep "Sample Rate" | awk '{ print $4; }'); |
- | **Rec** permet d'enregistrer des sons. | + | # if rate is 44100, we'll most likely have stuff from an audio-cd, |
- | Pour enregistrer l'entrée micro par défaut en un fichier audio au format ogg : | + | # which we want to deemph at least i assume so |
+ | if [ $rate -eq 44100 ]; then | ||
+ | echo " + Source is 44.1kHz, De-Emphasing & Resampling..."; | ||
+ | sox $soxParm -c 2 $inFile source.wav deemph rate -v -a 48000 | ||
+ | else | ||
+ | sox $soxParm -c 2 $inFile source.wav rate -v -a 48000 | ||
+ | fi | ||
+ | # create combined channel | ||
+ | sox $soxParm -c 2 source.wav -c 1 combined.wav mixer 0.5,0.5 | ||
+ | normalize $normParm combined.wav | ||
+ | # create pre- left and right channels | ||
+ | sox $soxParm -c 2 source.wav -c 1 sleft.wav mixer -l | ||
+ | sox $soxParm -c 2 source.wav -c 1 sright.wav mixer -r | ||
+ | sox $soxParm -M -c 1 -v -1 sright.wav -c 1 combined.wav -c 1 right.wav | ||
+ | normalize $normParm right.wav | ||
+ | sox $soxParm -M -c 1 -v -1 sleft.wav -c 1 combined.wav -c 1 left.wav | ||
+ | normalize $normParm left.wav | ||
+ | # frequency games | ||
+ | sox $soxParm -c 1 left.wav -c 1 ls.wav sinc 100-6000 reverb | ||
+ | sox $soxParm -c 1 right.wav -c 1 rs.wav sinc 100-6000 reverb | ||
+ | sox $soxParm -c 1 combined.wav -c 1 c.wav sinc 80-12000 | ||
+ | sox $soxParm -c 1 combined.wav -c 1 lfe.wav sinc 20-200 | ||
+ | sox $soxParm -c 1 left.wav -c 1 lf.wav sinc 80-20000 | ||
+ | sox $soxParm -c 1 right.wav -c 1 rf.wav sinc 80-20000 | ||
+ | # normalize it in batch-mode | ||
+ | normalize $normParm -b ls.wav rs.wav c.wav lfe.wav lf.wav rf.wav | ||
+ | # let's mux it | ||
+ | multimux -d 0,0,15,15,0,0 lf.wav rf.wav ls.wav rs.wav c.wav lfe.wav > $outFile | ||
+ | # cleanup | ||
+ | rm left.wav right.wav combined.wav source.wav sleft.wav sright.wav | ||
+ | fi | ||
+ | </code> | ||
+ | ==== rec ==== | ||
+ | **Rec** permet d'enregistrer des sons.\\ | ||
+ | Pour enregistrer l'entrée micro par défaut en un fichier audio au format ogg : | ||
<code>rec -d test.ogg</code> | <code>rec -d test.ogg</code> | ||
- | Le fichier test.ogg est alors créé dans le répertoire courant. | + | Le fichier test.ogg est alors créé dans le répertoire courant. |
<code>rec -d ~/Desktop/ma_voix.wav</code> | <code>rec -d ~/Desktop/ma_voix.wav</code> | ||
- | Le fichier ma_voix.wav est créé sur le bureau. | + | Le fichier ma_voix.wav est créé sur le bureau. |
- | Plus d'information sur rec et ses nombreuses options avec son manuel : | + | |
+ | Plus d'informations sur **rec** et ses nombreuses options avec son manuel : | ||
<code>rec --help</code> | <code>rec --help</code> | ||
- | Un script pour faciliter l'utilisation de rec est disponible ici : | + | Un script pour faciliter l'utilisation de rec est disponible dans [[https://forum.ubuntu-fr.org/viewtopic.php?id=253255|ce sujet du forum]]. |
- | http://forum.ubuntu-fr.org/viewtopic.php?id=253255 | + | |
===== Liens ===== | ===== Liens ===== | ||
* [[http://sox.sourceforge.net/|site officiel (en)]] | * [[http://sox.sourceforge.net/|site officiel (en)]] | ||
- | * [[http://www.linux.org/lessons/short/sox/index.html|quelques exemples et explications (en)]] | + | * [[http://billposer.org/Linguistics/Computation/SoxTutorial.html|quelques exemples et explications (en)]] |
---- | ---- | ||
- | |||
//Contributeurs : [[:utilisateurs:ZondeR]] , [[:utilisateurs:Yannou90]]// | //Contributeurs : [[:utilisateurs:ZondeR]] , [[:utilisateurs:Yannou90]]// | ||