# Importer ma musique en mp3 pour la voiture 2025-04-30T14:11:11Z J'ai donc une nouvelle voiture. C'est génial de voir que je récupère une partie de l'énergie cinétique dans la batterie quand je freine. Tellement génial que je ne consomme plus que 3,1L/100km! Yahou! Reste un problème avec cette nouvelle voiture : elle ne comprend pas le format opus, mais seulement le format mp3. Alors, voici comment j'importe ma bibliothèque de musique sur une clé USB. Tout d'abord, j'appelle rsync pour copier dessus les fichiers mp3 déjà présents dans ma bibliothèque. ``` #!/bin/sh # sync music library to mp3 external drive muslib=~/mpd/musique outdir=~/mnt/sd3i doas /sbin/mount /dev/sd3i ${outdir} # sync mp3 rsync -rv --size-only --include "*/" --include "*.mp3" --exclude "*" "${muslib}/" "${outdir}/" ``` Ensuite, find va se charger de repérer les fichiers à convertir qui ne sont pas des mp3. À cette occasion, l'option -print0 permet de ne pas être ennuyé avec les noms de fichiers avec espace ou bizares. Je passe cette liste à xargs qui permet l'exécution en parallèle grâce à l'option "-P" (3 en l'occurence) de la commande mp3usb. De plus, xargs supporte la "nul separator" avec "-0", comme ça pas de soucis avec les noms de fichiers \o/ ``` find "${outdir}" -type f ! -iname '*.mp3' -print0 |\ xargs -0 -P3 -I "{}" mp3usb {} doas /sbin/umount ~/mnt/sd3i ``` mp3usb est juste un wrapper pour appeler ffmpeg en modifiant le nom de fichier de sortie pour qu'il soit placé dans le dossier de la clé usb. Il faut bien sûr créer l'arborescence de dossier correspondante. Le fichier mp3 est créé seulement s'il n'existe pas déjà. J'ai beaucoup de musique, ça permet de reprendr ela conversion en plusieurs fois. ``` #!/bin/sh muslib=~/mpd/musique outdir=~/mnt/sd3i out="${1%.*}.mp3" out="$(printf "${out}" | sed "s#${muslib}#${outdir}#")" if [ ! -e "${out}" ]; then echo "${out}" mkdir -p "$(dirname ${out})" ffmpeg -i "${1}" \ -ab 320k \ -n \ -map_metadata 0 \ -id3v2_version 3 \ -loglevel error \ "${out}" fi ``` Je garde une bonne qualité, les métadonnées (pochette d'album) et ne reconvertit pas les fichiers déjà presents. --- Une réaction? Envoyez votre commentaire par mail: => mailto:prx@si3t.ch?subject=voiture-mp3-import-bibliotheque Ou rejoignez le salon XMPP: => xmpp:fremen@chat.si3t.ch?join fremen@chat.si3t.ch