J'ai toujours cru jusqu'à présent que "Lame" était une bibliothèque de lecture ou de conversion du mp3. Je viens d'apprendre que c'est aussi, au moins sous Linux, un exécutable qui sait faire la conversion, avec beaucoup de facilité...

 lame -h -v exemple.wav exemple.mp3

Ca ne peut pas être plus simple.

Attention, il ne faut pas utiliser de "*", sinon lame écrase le second avec le premier... ou alors écrivez un script.

Première solution

Le script le plus simple (je l'ai appelé wav2mp3) se résume à :

 #!/bin/sh
 for I ; do
 lame -h -v $1 ${1%.*}.mp3
 shift
 done ;

et s'utilise comme ça:

 wav2mp3 *.wav

-h signifie haute qualité et peut être omis si on est pressé, -v signifie variable bit rate (nombre de bits variables) et donne le meilleur rapport qualité/taille. Voir la page de man de lame pour les autres options.

${1%.*} permet de supprimer le ".wav" du nom de fichier.

tel que ca ne marche pas s'il y a des espaces dans les noms de fichiers.

Deuxième solution

Basename est fait pour ce genre de choses :

for i in *.wav
do
 NAME=`basename "$i" .wav` 
 lame -h -v "$i" "$NAME.mp3"
done

Comme ça ca marche même avec les espaces dans les noms, et il n'y a pas besoin de mettre "*.wav" en paramètre, on exécute avec "sh wav2mp3".