Conversion de fichiers audio Musepack (.mpc) en Wav et Ogg
Transcription
Conversion de fichiers audio Musepack (.mpc) en Wav et Ogg
Conversion de fichiers audio Musepack (.mpc) en Wav et Ogg Extrait du MLX - Mandriva monde LinuX http://mdvmondelinux.tuxfamily.org/Conversion-de-fichiers-audio Conversion de fichiers audio Musepack (.mpc) en Wav et Ogg - Logiciel - Multimedia Son - Date de mise en ligne : lundi 21 février 2005 MLX - Mandriva monde LinuX Copyright © MLX - Mandriva monde LinuX Page 1/5 Conversion de fichiers audio Musepack (.mpc) en Wav et Ogg Cet article vient compléter Lire les fichiers .MPC sous Linux de Paul Dupouy. Certains fichiers .mpc peuvent être récalcitrants à être traiter par xmms. La méthode qui suit devrait fonctionner... Sommaire • Les outils • Briques de base • Un script Les outils • Le décodeur Musepack qu'on trouve en licence LGPL sur ce site : il transforme le format Musepack en Wav. Pour ne pas m'embêter, j'ai choisi la version « static linked ». Il suffit de : • décompresser l'archive • rendre le binaire obtenu exécutable par chmod 755 mppdec-static • et placer le binaire dans un répertoire du PATH [1]. Cette étape est optionnelle : elle permet d'appeller le décodeur par son nom, sans avoir à spécifier le chemin complet. Dans la suite, j'appellerai ce binaire mppdec (vous pouvez éventuellement renommer le mppdec-static en mppdec). • Pour utiliser moins d'espace disque, on peut compresser les fichiers Wav en Ogg ou en mp3. Le format Ogg est à préférer, puisque libre. L'encodeur oggenc fait partie du paquetage vorbis-tools installable par urpmi. Briques de base Pour avoir de l'aide sur la syntaxe du décodeur Musepack, lancer : mppdec La commande de base est : mppdec fichier.mpc fichier.wav Pour encoder le résultat en Ogg : oggenc -b 256 fichier.wav -o fichier.ogg Enfin, pour faire la conversion sans fichier intermédiaire : mppdec fichier.mpc - | oggenc -b 256 - -o fichier.ogg Copyright © MLX - Mandriva monde LinuX Page 2/5 Conversion de fichiers audio Musepack (.mpc) en Wav et Ogg Un script Pour traiter tout un répertoire d'un seul coup, j'ai écrit un petit script mpc2ogg. Pour l'utiliser, il vous faut [<a href='#nb2' class='spip_note' rel='footnote' title='Si cette procédure vous paraît obscure, je vous invite à lire : une (...)' id='nh2'>2] : • • • copier-coller le code ci-dessous dans un fichier texte que vous appelerez mpc2ogg (ou tout autre nom que vous préférerez ;) rendre ce fichier exécutable en modifiant ses permissions, par exemple par chmod 755 mpc2ogg placer éventuellement ce fichier dans un répertoire du PATH, de la même façon que mppdec. La commande : mpc2ogg repertoire_source repertoire_dest aura pour effet de transformer tous les fichiers .mpc du repertoire_source en Ogg et de placer le résultat dans repertoire_dest, qui peut ne pas exister. Voici le code : Copyright © MLX - Mandriva monde LinuX Page 3/5 Conversion de fichiers audio Musepack (.mpc) en Wav et Ogg #!/bin/sh # mpc2ogg # ----------- # # Convertisseur musepack -> ogg # # Premier argument : répertoire des fichiers à convertir # Deuxième argument : répertoire où placer les versions ogg # # WARNING : Ce script nécessite # * un décodeur musepack, cf la variable MPCDEC # => Voir le site : http://www.musepack.net # * un encodeur ogg, cf la variable OGGENC MPCDEC=mppdec-static OGGENC=oggenc ARGS=2 E_BADARGS=65 # controle des arguments if [ $# -ne "$ARGS" ] then echo "Usage: `basename $0` source_rep dest_rep" exit $E_BADARGS fi # analyse des arguments : # - éventuelle création du répertoire destination # - transformation en chemin absolu au cas où un chemin relatif aurait été donné mkdir -p "$2" rep_courant=$(pwd) cd "$2" rep_dest=$(pwd) cd "$rep_courant" # conversion cd "$1" for filename in *.mpc do $MPCDEC "$filename" - | $OGGENC -b 256 - -o "${filename%.mpc}.ogg" mv "${filename%.mpc}.ogg" "$rep_dest" done exit 0 Copyright © MLX - Mandriva monde LinuX Page 4/5 Conversion de fichiers audio Musepack (.mpc) en Wav et Ogg [1] Pour identifier les répertoires du PATH, on peut lancer echo $PATH. Pour que le programme soit accessible par tous les utilisateurs, /usr/local/bin est à préférer à /usr/bin, où se rangent les programmes issus de RPM. Mais il est possible de le placer dans son HOME, dans un répertoire personnel d'exécutables. Pour plus d'explications sur le PATH, voir cet article [2] Si cette procédure vous paraît obscure, je vous invite à lire : • • • une introduction aux scripts sur lealinux les pages Sha-bang et Langage de script sur Wikipedia ensuite, google est votre ami (américain). Copyright © MLX - Mandriva monde LinuX Page 5/5