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 19/09/2008, 16:21] Melkor73 manque "un" |
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 son BROUILLON}} | + | {{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 ==== | ||
+ | * [[#play]] : pour lire les fichiers musicaux | ||
+ | * [[#sox1|sox]]: pour manipuler les fichiers musicaux | ||
+ | * [[#rec]]: pour enregistrer des sons | ||
+ | ==== play ==== | ||
+ | **Play** lit les fichiers musicaux. Par exemple : | ||
+ | * pour lire tous les fichiers mp3 d'un répertoire à la suite :<code>play *.mp3</code> | ||
+ | * pour lire un fichier "2 fois plus fort" :<code>play fichier.mp3 vol 2</code> | ||
+ | ==== sox ==== | ||
+ | **Sox** permet la manipulation des fichiers. Par exemple : | ||
+ | * pour créer un ogg à partir d'un mp3 :<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 augmenter de 10db <code>sox entree.wav sortie.wav vol 10db</code> | ||
+ | * pour augmenter les basses tout en évitant la saturation :<code>sox entree.ogg sortie.ogg vol -6dB bass +6</code> | ||
+ | * pour imprimer une analyse du fichier son (amplitude, volume...):<code>sox entree.ogg -n stat </code> | ||
+ | * pour imprimer une analyse du fichier son (dB, channel..) <code>sox entree.ogg -n stats</code> | ||
+ | * pour convertir un fichier stéreo en "fake"-surround ([[http://jeanbruenn.info/2011/10/22/stereo-to-fake-surround/|Source]])<code> | ||
+ | #!/bin/bash | ||
+ | ### | ||
+ | # stereo 2 surround | ||
+ | ### | ||
- | ===== Les différents outils ==== | + | inFile="$1"; |
+ | outFile="$2"; | ||
+ | debug="$3"; | ||
- | ===play=== | + | # todo ... |
- | **Play** lit les fichiers musicaux. Par exemple : | + | #if [ ! -z sox ]; then |
- | * pour lire tous les fichiers mp3 d'un répertoire à la suite : | + | #echo "sox" |
- | <code>play *.mp3</code> | + | # run=0; |
- | * pour lire un fichier "2 fois plus fort" : | + | #fi |
- | <code>play fichier.mp3 vol 2</code> | + | |
- | ===sox=== | + | #if [ ! -x multimux ]; then |
- | **Sox** permet la manipulation des fichiers. Par exemple : | + | #echo "multimux" |
- | * pour créer un ogg à partir d'un mp3 : | + | # run=0; |
- | <code>sox fichier.mp3 fichier.ogg</code> | + | #fi |
- | * pour concaténer plusieurs fichiers en un seul : | + | |
- | <code>sox fichier1.ogg fichier2.ogg fichier_final.ogg</code> | + | #if [ ! -x soxi ]; then |
- | * pour augmenter les bass tout en évitant la saturation : | + | #echo "soxi" |
- | <code>sox entree.ogg sortie.ogg vol -6dB bass +6</code> | + | # run=0; |
- | 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 : | + | #fi |
- | <code>sox entree.ogg -n</code> | + | |
- | ne fait rien :-P. Par contre | + | #if [ ! -x normalize ]; then |
- | <code>sox entree.ogg -n stat</code> | + | #echo "normalize" |
- | imprime une analyse du fichier son (amplitude, volume ...). | + | # run=0; |
+ | #fi | ||
- | ===rec=== | + | # default parameter |
- | **Rec** permet d'enregistrer des sons. | + | soxParm=""; |
- | Pour enregistrer l'entrée micro par défaut en un fichier audio au format ogg : | + | normParm="-q"; |
+ | |||
+ | # debug parameter | ||
+ | if [ $debug -eq 1 ]; then | ||
+ | soxParm="-V -S"; | ||
+ | normParm="-v"; | ||
+ | fi | ||
+ | |||
+ | if [ $run -eq 0 ]; then | ||
+ | echo "Error: Requirenment missing: normalize multimux, sox or soxi"; | ||
+ | else | ||
+ | echo " Preparing Source"; | ||
+ | normalize $normParm $inFile; | ||
+ | rate=$(soxi $inFile | grep "Sample Rate" | awk '{ print $4; }'); | ||
+ | # if rate is 44100, we'll most likely have stuff from an audio-cd, | ||
+ | # 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 /home/$USER . | + | Le fichier test.ogg est alors créé dans le répertoire courant. |
- | <code>rec -d /home/$USER/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]]// | ||