abcde - A Better CD Encoder

19 Aug. 2010
Auteur : arnaud
Responsable : paulriluma
Score ( voter ) :
Connexes : Même auteur | Même responsable | Historique
abcde est un puissant outil en console, même si vous êtes allergique à la console, essayez-le, il le mérite. Il suffit de le configurer puis d'invoquer abcde avec chaque CD et quelques minutes plus tard, on a tous ses fichiers encodés en Ogg, MP3, FLAC, Speex ou MPP.

1. Installation

# cd /usr # tar zxvf abcde_2.2.0.orig.tar.gz # mv abcde-2.2.0 abcde
Vous aurez donc un répertoire abcde contenant, entre autres, l'exécutable abcde et un exemple du fichier de configuration. Bien entendu, il vous faudra également les outils nécessaires à l'extraction des pistes (cdparanoia, cdda2wav...) et à l'encodage (lame, oggenc, bladeenc ...) mais qui sont souvent installés par défaut sur les distributions récentes.

2. Configuration

Il y a deux possibilités, soit toutes les options sont mises dans la ligne de commande soit on crée un fichier de configuration qu'abcde ira lire à chaque fois. On va étudier cette deuxième possibilité qui est la plus simple, les options sont sauvegardées une bonne fois pour toutes dans un fichier que vous pourrez modifier à votre guise. Créez d'abord un fichier vide à la racine de votre répertoire maison /home/votre_login/.abcde.conf, à l'aide de votre éditeur favori. Il y a une foultitude d'options que vous pouvez y inclure, mais nous n'allons voir que les principales qui permettent d'avoir des mp3 bien classés et taggués. Un exemple complet du fichier doit se trouver dans /etc/abcde/abcde.conf (ou /usr/abcde/abcde.conf, selon le type d'installation). Avec ce fichier, les pistes sont encodées en mp3 et sont rangées automatiquement dans un dossier avec le nom de l'artiste puis un autre dossier au nom de l'album et enfin, les pistes y sont rangées avec pour nom : numéro - titre. Exemple avec la première piste de l'album "Apostrophe (')" de Frank Zappa intitulée Don't Eat The Yellow Snow :
Frank Zappa/Apostrophe (')/01 - Don't Eat The Yellow Snow.mp3
Voilà le fichier de config en question :
CDROMREADERSYNTAX='cdda2wav'
MP3ENCODERSYNTAX='lame'
WAVOUTPUTDIR='/home/al'
OUTPUTDIR='/mnt/mp3/'
OUTPUTTYPE='mp3'
CDROM='/dev/hdd'
INTERACTIVE='y'
OUTPUTFORMAT='${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM} - ${TRACKFILE}'
PADTRACKS='y'
EJECTCD='y'
mungefilename ()
{
echo "$@" | sed s,:,\ -,g | tr / _ | tr -d \"\?\[:cntrl:\]
}

CDROMREADERSYNTAX

On y indique la commande d'extraction des pistes, cdda2wav, cdparanoia ou dagrab.

MP3ENCODERSYNTAX

Ici, on lui met l'encodeur à utiliser: lame, gogo, bladeenc, mp3enc...

WAVOUTPUTDIR

Permet de spécifier un répertoire où seront stockés les fichiers wav en attente d'encodage.

OUTPUTDIR

Ici, on y met le répertoire de destination des fichiers encodés.

OUTPUTTYPE

On y spécifie le type de fichier à obtenir: mp3, ogg, flac...

CDROM

On y indique l'emplacement du lecteur de CD.

INTERACTIVE

y(es) ou n(o), permet d'avoir une intéractivité. C'est utile quand il y a plusieurs possibilités de tag pour un même CD, ça permet donc de choisir le meilleur. Avec le mode intéractif, on peut également rééditer les tag à sa convenance. Avec 'n', il n'y a aucune action à faire, sauf de valider après abcde :)

OUTPUTFORMAT

C'est le format des répertoires et fichiers, ici on aura donc une arborescence du type: Artiste/Album/01 - Titre

PADTRACKS

y(es) ou n(o), avec "y" les numéros de pistes seront à deux positions, un 0 sera donc rajouté pour les pistes entre 1 et 9.

EJECTCD

y(es) ou n(o) l'option est simple, faut-il éjecter le CD à la fin ?

mungefilename ()

Par défaut, abcde supprime les espaces, et les remplace par des underscores (_), les apostrophes, les points d'interrogation, les slash. Il est donc judicieux de rajouter cette option pour avoir des noms complets avec des espaces qui ressemblent à des espaces ;) { echo "$@" | sed s,:,\ -,g | tr / _ | tr -d \"\?\[:cntrl:\] }
A noter que vous pouvez également encoder vos cd en plusieurs formats. Si vous voulez avoir des mp3 et des flac (format de compression moins élevé et donc des fichiers de meilleure qualité) il vous suffit de rajouter FLACENCODERSYNTAX='flac' et de rajouter les différents formats séparés par des virgules dans OUTPUTTYPE 'mp3,flac' par exemple.

3. Utilisation

Vous insérez un CD dans le lecteur puis vous lancez abcde et il ira extraire les pistes puis les encodera en fonction de ce que vous lui aurez spécifié dans le fichier de configuration précédent. Si vous voulez uniquement la première piste, il suffit de valider un :
$ abcde 1
Si vous souhaitez n'avoir que les pistes 1, 5 et 8 à 12 :
$ abcde 1 5 8-12
Si vous voulez que tout le CD soit encodé en une seule piste pour éviter d'avoir des silences entre les pistes, utile en cas d'album live :
$ abcde -1