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