mp3cover
mp3cover
a pour but de placer une image cover.jpg comme étiquette id3 dans les fichiers mp3 contenus dans le même répertoire. Tout comme mp3resample et m3utospl, il peut servir pour transformer des fichiers mp3 pour les rendre plus pratiques à utiliser sur un lecteur mp3 comme le YP-P2 de Samsung.
mp3cover
est distribué sous licence libre CeCILL.
Une fois le fichier téléchargé, vous devez
sudo mv mp3cover /usr/local/bin/
sudo chmod +x /usr/local/bin/mp3cover
Ce logiciel nécessite l'utilisation des utilitaires convert
et eyeD3
, installables sous Ubuntu ou Debian par
sudo aptitude install imagemagick eyed3
$ mp3cover -h Usage : mp3cover [répertoire] [répertoire ...] mp3cover -h Place un fichier cover.jpg comme étiquette id3 dans les fichiers mp3 contenus dans les répertoires donnés en argument, ou à défaut dans le répertoire courant. Le comportement est récursif. Les étiquettes id3 ne sont modifiées que si le fichier cover.jpg existe, après redimensionnement à la taille de 250x250 pixels. Les paquets imagemagick (pour la retouche d'image) et eyed3 (pour la modification des données id3) doivent être installés.
#!/bin/bash # This software is governed by the CeCILL license under French law and # abiding by the rules of distribution of free software. You can use, # modify and/ or redistribute the software under the terms of the CeCILL # license as circulated by CEA, CNRS and INRIA at the following URL # "http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt". # # Ce logiciel est régi par la licence CeCILL soumise au droit français et # respectant les principes de diffusion des logiciels libres. Vous pouvez # utiliser, modifier et/ou redistribuer ce programme sous les conditions # de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA # à l'adresse "http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt". # # Copyright Cyril Ravat, <ravat@free.fr> (2007-2009) # Website : http://www.cyril-ravat.fr/scripts/mp3cover.php # Help : mp3cover -h # Taille maximale des images redimensionnées (en pixels) IMSIZE=250 if [ "$1" == "-h" ]; then echo -e "Usage : $(basename "$0") [\033[1mrépertoire\033[0m] [\033[1mrépertoire\033[0m ...]" echo " $(basename "$0") -h" echo echo "Place un fichier cover.jpg comme étiquette id3 dans les fichiers mp3 contenus" echo -e "dans les \033[1mrépertoire\033[0ms donnés en argument, ou à défaut dans le répertoire courant." echo echo "Le comportement est récursif. Les étiquettes id3 ne sont modifiées que si le" echo "fichier cover.jpg existe, après redimensionnement à la taille de ${IMSIZE}x$IMSIZE pixels." echo "Les paquets imagemagick (pour la retouche d'image) et eyed3 (pour la" echo "modification des données id3) doivent être installés." echo exit 0 fi # Vérification des utilitaires convert et eyeD3 if [ -z `which convert` ]; then echo -e "L'utilitaire \033[1mconvert\033[0m n'existe pas." echo -e "Il faut installer le paquet \033[1mimagemagick\033[0m." exit 1 fi if [ -z `which eyeD3` ]; then echo -e "L'utilitaire \033[1meyeD3\033[0m n'existe pas." echo -e "Il faut installer le paquet \033[1meyed3\033[0m." exit 1 fi # Fonction d'encodage function ajoute () { REP="$1" convert -resize "${IMSIZE}x$IMSIZE>" -quality 85 "$REP/cover.jpg" "$REP/covertmp.jpg" for FICHIER in "$REP"/*.mp3; do touch -r "$FICHIER" "$REP/tmp" eyeD3 --remove-images "$FICHIER" > /dev/null 2> /dev/null eyeD3 --add-image="$REP/covertmp.jpg":FRONT_COVER "$FICHIER" > /dev/null 2> /dev/null touch -r "$REP/tmp" "$FICHIER" echo -n "*" done rm "$REP/covertmp.jpg" "$REP/tmp" } # Récursivité function recherche() { REP="$1" [ -d "$REP" ] || return echo -n "Répertoire $(basename "$REP") " # Ajout de l'image [ -e "$REP/cover.jpg" ] && ajoute "$REP" echo # Gestion des répertoires : comportement récursif for NREP in "$REP"/*; do [ -d "$NREP" ] && recherche "$NREP" done } # Corps : description de la liste des répertoires à traiter for i in `seq $#`; do recherche "${!i%/}" done [ $# -eq 0 ] && recherche `pwd`