Outils pour utilisateurs

Outils du site


multimedia:abcde

Présentation

Vous possédez une belle quantité de CD musicaux et vous aimeriez pouvoir en disposer sur votre PC ou votre portable sans devoir à chaque fois manipuler des boîtes en plastique. Vous vous apprêtez donc à transférer ceux-ci de l'étagère où ils dorment au disque dur de votre machine.
Se pose alors inévitablement le choix d'un logiciel et d'un format de compression.

Ce tutoriel est une réponse possible.

Conçu en trois parties (présentation, utilisation, configuration) il conviendra à tout type de lecteur.
° Le simple curieux se contentera de la partie présentation ;
° le curieux-teste-tout se précipitera sur utilisation ;
° le curieux-perfectionniste tentera de démêler les arcanes de la configuration !

abcde (= a better cd encoder !) s'utilise en console.
Il est donc totalement indépendant de tout environnement graphique (Gnome, Kde, Xfce, E17, …) et s'utilise de la même façon sur toutes les distributions Linux.
Mais cela ne le réserve pas pour autant aux seuls geeks des cavernes.

La preuve …

niveau pré-requis mots-clés difficulté testé sur
débutant

avancé
expert
guru
pour l'utilisation :
→ maniement basique de la console :

pour l'édition des tags :
→ commandes de base de l'éditeur vim :
i Suppr Esc : w q et !
(expliquées dans ce tuto) ;

pour la configuration :
→ un minimum d'anglais informatique.
cddb
compression
console
encodage
éditer
fichiers audio
oggvorbis
tag
nulle

moyenne

forte
OpenSuSE 10.2, 11.0, 11.1, 11.2

(devrait fonctionner sur toutes les distributions)

À l'origine, abcde a été développé par Robert Woodcock. Il est depuis peu repris par J. Climent, sous licence GPL bien évidemment.

abcde possède l'essentiel des caractéristiques d'un encodeur de qualité :
→ accès aux serveurs de type cddb par wget ;
→ support de nombreux formats d'encodage : oggvorbis, flac, pmc, mp3 (oggvorbis est l'encodage par défaut).
→ possibilité d'édition des “tags” avec l'éditeur vim intégré.
→ rapidité, qualité de l'encodage, stabilité ;

Pour OpenSuSE 10.2, le package abcde se trouve sur le DVD (ou les CDs) d'installation, rubrique Productivité → Multimédia → Son → Utilitaires.
Les utilisateurs d'autres distributions se réfèreront à leur packager habituel.

Du fait qu'il se lance en console, abcde ne dispose pas d'entrée dans le menu.

Ouvrez une console et tapez abcde :

ee@pc-hp:~> abcde
cd-discid: /dev/cdrom: CDROMREADTOCHDR: Input/output error
abcde error: CD could not be read. Perhaps there's no CD in the drive?
ee@pc-hp:~>

Hum, hum … insérez un CD (non-vierge) et recommencez :

ee@pc-hp:~> abcde
Grabbing entire CD - tracks: 01 02 03 04 05 06 07 08 09 10 11 12 13
Selected: #1
---- Hubert-Félix Thiéfaine / Scandale mélancolique ----
1: Libido moriendi
2: Scandale mélancholique
3: Gynécées
4: Confessions d'un never been
5: Le jeu de la folie
6: Last exit to paradise
7: L'étranger dans la glace
8: Les jardins sauvages
9: Télégramme 2003
10: Loin des temples en marbre de lune
11: La nuit de la samain
12: When Maurice meets Alice
13: That angry man on the pier
Edit selected CDDB data? [y/n] (n):
Is the CD multi-artist? [y/n] (n):

Ah ! c'est mieux !

Remarquons plusieurs choses (en dehors de la belle faute d'orthographe sur le morceau n° 2 !) :

→ Sans options (options que nous étudierons plus bas, dans configuration), taper abcde puis appuyer sur la touche Entrée encodera l'intégralité du contenu de votre CD, morceau par morceau (ici, 13 morceaux) ;
→ Vous avez la possibilité d'éditer les entrées pour les “tagger” à votre guise (nous l'éditerons plus après) : y pour oui, n pour non (par défaut, la réponse est n) ;
→ Vous pouvez spécifiez s'il s'agit d'un CD “multi-artiste” (pratique pour les compilations) ; ici ce n'est pas le cas (nous en verrons un plus loin) donc n ;

À ce stade, si vous appuyez sur la touche Entrée, abcde extraira puis encodera le tout en moins de dix minutes (en .ogg par défaut) !
Joli, non ?

Non ?!?
Alors, affinons tout cela … suivez le guide !

Utilisation

Préalable

Lorsque vous lancez abcde, celui-ci cherche un fichier .abcde.conf (fichier caché) dans le répertoire /home/votre_login.
Ce fichier, il faudra le créer et ce sera l'objet de la section suivante. En l'absence d'un tel fichier, abcde utilise le fichier par défaut, à savoir : /etc/abcde.conf.

La configuration de ce fichier n'étant pas intuitive (voire un peu rébarbative), j'ai préféré passer de suite à une première utilisation pour bien montrer le potentiel d'abcde et éviter ainsi de vous ennuyer trop vite (si ce n'est déjà fait … non ? c'est bon ? on continue ? OK!)

Une première utilisation se contentera donc du fichier par défaut (les fichiers encodés se trouveront dans le répertoire /home/votre_login/artiste).

(note : en fin de rubrique configuration je vous laisse un exemplaire de mon propre fichier pour vous aider à démarrer.)

Extraire et encoder

Désormais pourvu d'un fichier de configuration (personnalisé ou par défaut), l'utilisation d'abcde devient un jeu d'enfant !
Reprenons l'exemple de départ (magnifique album, au demeurant, que je vous encourage vivement à écouter) :

ee@pc-hp:~> abcde
Grabbing entire CD - tracks: 01 02 03 04 05 06 07 08 09 10 11 12 13
Selected: #1
---- Hubert-Félix Thiéfaine / Scandale mélancolique ----
1: Libido moriendi
2: Scandale mélancholique
3: Gynécées
4: Confessions d'un never been
5: Le jeu de la folie
6: Last exit to paradise
7: L'étranger dans la glace
8: Les jardins sauvages
9: Télégramme 2003
10: Loin des temples en marbre de lune
11: La nuit de la samain
12: When Maurice meets Alice
13: That angry man on the pier
Edit selected CDDB data? [y/n] (n):
Is the CD multi-artist? [y/n] (n):

Là, nous sommes dans le cas de base : vous entrez le CD dans le lecteur, vous tapez abcde dans la console, vous répondez non aux deux questions (vous vous souvenez ?) et vous laissez faire.

Mais plusieurs autres possibilités s'offrent à vous :

° Supposons que vous n'aimiez que le morceau n° 8 ? Ou bien que vous n'aimiez pas le n° 4 ? Ou encore : vous aimez les n° 1, 2 et 3, mais pas le 4, le 5, mais pas le 6, du 7 au 12, mais pas le 13 ?
Ben vous êtes exigeants, vous dites donc !
Et vous avez raison ! abcde n'encodera que vos fichiers préférés à condition de le lui signaler au lancement … c'est peut-être là sa seule (relative) faiblesse (pas de retour possible autre que la fermeture de la console !) …

Exemples :

° Vous ne souhaitez que le morceau n° 8 ?

ee@pc-hp:~> abcde 8

admirons le résultat :

Grabbing tracks: 8
abcde: attempting to resume from /home/ee/abcde.b90b7f0d..
Grabbing track 8: Les jardins sauvages...
cdparanoia III release 9.8 (March 23, 2001)
(C) 2001 Monty <monty@xiph.org> and Xiphophorus

Report bugs to paranoia@xiph.org
http://www.xiph.org/paranoia/

        Couldn't disable kernel command translation layer
Ripping from sector  122084 (track  8 [0:00.00])
          to sector  136934 (track  8 [3:18.00])

outputting to /home/ee/abcde.b90b7f0d/track8.wav

 (== PROGRESS == [                              | 136934 00 ] == :^D * ==)

Done.


Encoding track 8 of 13: Les jardins sauvages...
Opening with wav module: WAV file reader
Encoding "/home/ee/abcde.b90b7f0d/track8.wav" to
         "/home/ee/abcde.b90b7f0d/track8.ogg"
at quality 3,00
        [ 99,9%] [ 0m00s remaining] |

Done encoding file "/home/ee/abcde.b90b7f0d/track8.ogg"

        File length:  3m 18,0s
        Elapsed time: 0m 44,1s
        Rate:         4,4894
        Average bitrate: 108,5 kb/s

Tagging track 8 of 13: Les jardins sauvages...
Finished.

Joli, non ?

Ah … quand même !

° Pour les autres cas de figures :

abcde 1-3 5-13 : encodera tous les morceaux sauf le 4 ;
abcde 1-3 5 7-12 : encodera tous les morceaux sauf le 4 et le 6 ;
abcde : encodera tous les morceaux (équivalent à abcde 1-13) ;
abcde 3-8 : n'encodera que les morceaux 3, 4, 5, 6, 7 et 8 ;
abcde -1 : encodera l'intégralité du CD en un seul fichier (pratique pour les “live”, entre autre …) ;

Edition des tags

Comme dit précédemment, abcde vous donne la possibilité d'éditer les tags (les entrées “artiste”, “genre”, “titre de l'album”, “titre du morceau”) de vos CDs. Le principe est simple : abcde récupère le discid de votre CD et effectue une requête auprès d'un serveur cddb pour obtenir les informations du CD (les tags) ; abcde les affiche et vous offre le choix de les éditer ou non.

Edit selected CDDB data? [y/n] (n):

Si vous optez pour non, tapez n et abcde lancera alors la phase d'extraction-encodage.

Si vous répondez oui, tapez y et vous serez alors basculé sur l'éditeur vim qui vous permettra de modifier à loisir les entrées.

fonctionnement de vim

Avant toute chose, sachez que vous pourrez toujours vous échappez (touche Echapp ou Esc) si d'aventure vos premières tentatives ne se passaient pas bien (perte du curseur, erreur de touche, …).
Il y a (en plus de la touche Entrée, de la touche Suppr et des 4 flèches directionnelles) 6 touches à connaître :
i : (comme insert) permet de passer en mode insertion (vous verrez le mot insertion en bas de l'écran) ;
Echapp : permet de sortir du mode insertion (le mot insertion disparaitra) ;
: : permet de passer d'autres commandes une fois sorti du mode insertion ;
w : (comme write) permet d'enregistrer les modifications (réfléchir deux fois avant d'utiliser cette touche !) ;
q : (comme quit) permet de quitter l'éditeur vim ;
! : permet de quitter sans enregidtrer les modifications ;

Ces touches s'utilisent seules (i, Echapp) ou en combinaison (:wq ou :q!).

Concrètement, vous avez sélectionné y, vous basculez en mode édition ;
appuyez sur i ;
déplacez vous à l'aide des flèches directionnelles vers l'entrée à modifier ;
supprimer les caractères indésirables avec la touche Suppr (ne faites pas Entrée !!) et insérez les nouveaux caractères ;
vos modifications faites, appuyez sur Echapp pour sortir du mode insertion ;
utilisez une des deux combinaisons :
:wq si vous êtes satisfait : vos modifications seront enregistrées ;
:q! si vous n'êtes pas satisfait : vos modifications ne seront pas enregistrées ;
dans les deux cas vous quitterez l'éditeur et reviendrez sur la liste des entrées (modifiées ou non) de abcde ;
appuyez sur Entrée et l'extraction-encodage-taggage débutera !

Finalement, c'est tout simple !!

Cas particuliers

Multi-artist

Comment tagger correctement un CD en cas d'artistes multiples (compilations, bandes originales de films, concerts style Live-Aid, …) ?

abcde, très gentiment, vous le demandera dans tous les cas :

Is the CD multi-artist? [y/n] (n):

et dans la plupart des cas, vous répondrez n !

En effet, lorsque c'est le cas, abcde reconnait la multiplicité des artistes et le message devient :

Looks like a Multi-Artist CD
1) Artist / Title
2) Artist - Title
3) Title / Artist
4) Title - Artist
5) Artist: Title
6) Title (Artist)
7) This is a single-artist CD
Which style of multiple artist entries is it? [1-7] (1):

Entrez simplement le n° correspondant à ce que vous préférez puis Entrée et c'est parti !
(attention : il semble que seule l'option 1 soit prise en compte ; les autres m'ont donné des résutats aussi divers que bizarres !)

Multiple exact matches

Il peut arriver que plusieurs track-lists existent ;
abcde vous les proposent ;

Multiple exact matches:
#1 ---
.......
.......
#2 ---
.......
.......

repérez le numéro de celle qui vous convient le plus ;
appuyez sur la touche q (q comme quit) ;
abcde vous demande votre choix ;
entrez le numéro correspondant puis Entrée ;
vous pouvez maintenant éditer cette liste ou passer directement à l'extraction-encodage.

Configuration

Le fichier .abcde.conf

abcde possède par défaut un fichier de configuration dans le répertoire /etc sous le simple nom de abcde.conf.

Il est plus que recommandé de ne pas toucher directement au fichier /etc/abcde.conf ;
faites-en une copie cachée dans votre répertoire /home :

(en root)

cp /etc/abcde.conf /home/votre_login

Renommez ce fichier en .abcde.conf puis changez le de propriétaire (passez-le de root à vous !) :

(toujours en root) renommez le fichier :

mv abcde.conf .abcde.conf

changez le propriétaire :

chown votre_login:users .abcde.conf

sortez du mode root (tapez exit) et vérifiez le nouvel état de .abcde.conf :

ls -l

devrait vous renvoyer quelque chose d'approchant :

-rwxr-xr-x   1 votre_login   users     492 avr 12 07:00 .abcde.conf

Configuration du fichier .abcde.conf

Ouvrez .abcde.conf avec votre éditeur favori :

(extrait)

# System defaults for abcde version 2.2.x
# Nothing in this file is uncommented by default.
#
# If you wish to override these system-wide settings, create your own
# .abcde.conf file in your home directory.

# CDDB options

# If you wish to use a different CDDB server, edit this line.
# If you just wanted to use a proxy server, just set your http_proxy
# environment variable - wget will use it correctly.
#CDDBURL="http://freedb.freedb.org/~cddb/cddb.cgi"

# The CDDB protocol requires hello information, including a valid username
# and hostname. If you feel paranoid about giving away such info, edit this
# line - the format is username@hostname.
#HELLOINFO="`whoami`@`hostname`"

...
...
...

Pas de panique !
Vous remarquez que l'ensemble du fichier est composé de paragraphes formatés à l'identique ; un # devant chaque ligne, et la (ou les) dernière(s) ligne(s) en majuscules : là se trouvent les options sur lesquelles vous pourrez bâtir votre propre fichier de configuration.

Nous n'allons pas détailler l'ensemble des options (la plupart de celles proposées par défaut sont excellentes !) mais juste de quoi comprendre comment tout cela fonctionne.
Et, rassurez-vous, je vous livrerais mon propre fichier (une dizaine de lignes, pas plus !) … il vous servira le temps que vous affiniez le vôtre.

→ Les 7 premiers paragraphes concernent les réglages cddb. Il s'agit d'un serveur (sur Internet) chargé de recenser tous les disques existants selon leur numéro discid et de proposer en retour à des logiciels comme abcde une track-list (artiste, album, n° de piste, titre du morceau …) la plus fiable possible.
abcde se connecte à son équivalent OpenSource : freedb.
Personnellement, je ne touche à rien dans cette section.
Néanmoins :
° si vous avez de la place sur le disque dur vous pouvez vouloir conserver les tracks-lists ; basculez alors l'option CDDBCOPYLOCAL à “y” et attribuez-lui un dossier : CDDBLOCALDIR=“$HOME/.cddb ;
° si vous souhaitez enrichir la base freedb de vos propres listes (après édition), basculez NOSUBMIT à “y” ;

→ Certains des paragraphes suivants nécessiteront un peu de personnalisation ;

° ne changez les lignes XXXENCODERSYNTAX que si vous savez pertinemment que votre distribution (ou vous-même) n'utilisez pas le programme par défaut pour l'encodage en ogg, en mp3, en flac, etc … Si cette phrase ne vous dit rien, ne touchez à rien !

° une option intéressante est PADTRACKS ; par défaut, la valeur est “n” ce qui permet d'avoir des numéros de piste à deux chiffres (comme 01, 02, 03, etc …) ;

° la valeur de “nice” (qui permet à un processus d'être plus ou moins prioritaire en utilisation CPU) est fixée à 10 par défaut … raisonnable (lire absolument la man page de nice avant de changer cette valeur) ;

° ne changez aucune des lignes au paragraphe Paths of programs to use (à moins de parfaitement savoir ce que vous faites …) ;

° le paragraphe suivant Options to call programs with permet d'ajuster finement les valeurs des programmes utilisés : demande une connaissance approfondie des-dits programmes (voir les documentations correspondantes) ; on peut, sans dommage, ne pas s'attarder sur cette section ;

° actions to take permet de lister et d'ordonner les enchaînements d'actions opéré par abcde ; par défaut, celles-ci sont fixées à :
cddb (contacter le serveur freedb), read (lire les données du CD), encode (extraire des fichiers .wav et les encoder - par défaut en .ogg), tag (écrire les tags, qu'ils fussent édités ou non), move (déplace les fichiers encodés d'un répertoire temporaire à leur répertoire de destination - tel que mentionné plus loin), clean (efface les fichiers .wav devenus inutiles) ;
sachant que certaines actions nécessitent au préalable l'éxécution d'autres actions … le choix est en fait assez restreint et les valeurs par défaut sont sensées.

° OUTPUTDIR vous permet de spécifier le répertoire de destination des fichiers encodés (par ex : /home/votre_login/musique);

° OUTPUTTYPE permet de sélectionner un ou plusieurs formats d'encodage (alors séparés par une virgule); par défaut, ogg ;

° la section Output filename format indique comment personnaliser l'usage des variables OUTPUT (extension), GENRE, ALBUMFILE, ARTISTFILE, TRACKFILE ET TRACKNUM pour avoir, en sortie d'encodage, des fichiers bien classés (dans votre OUTPUTDIR) et donc facilement retrouvable ; l'exemple proposé (${ARTISTFILE}-${ALBUMFILE}/${TRACKNUM}.${TRACKFILE}) donne quelque chose du genre :
/home/votre_login/OUTPUTDIR/Artiste-Album/n°_de_piste.titre.extension ; pas très fun … à vous d'imaginer ce qui vous convient !

° presque en fin de fichier figure une option à priori ésotérique :

mungefilename ()
{
    echo "$@" | sed s,:,\ -,g | tr \ /\* __+ | tr -d \'\"\?[:cntrl:\]
}

étrange, n'est-il pas ?
En fait, il s'agit de ne pas éliminer certains caractères comme les guillemets ou les points d'interrogation et de ne pas convertir les espaces en caractère underscore (le _ sous le 8) ce qui donne meilleure allure aux titres des fichiers !

° la dernière option intéressante est la possibilité (ou non) d'éjecter le CD en fin d'extraction ; fixez EJECT à “y” ou “n”.

Un fichier .abcde.conf prêt à l'emploi

Comme promis voici mon fichier : à vous de l'adapter à vos besoins !

## fichier de configuration pour ABCDE (/home/ee/.abcde.conf)
## d'après /etc/abcde.conf, with a little help from :
## http://www.trustonme.net/didacticiels/310.html

CDROMREADERSYNTAX='cdparanoia'

OGGENCODERSYNTAX='oggenc'

KEEPWAVS='n'

OUTPUTDIR='/home/ee/ogg'
OUTPUTTYPE='ogg'
OUTPUTFORMAT='${ARTISTFILE}/${YEAR} - ${ALBUMFILE}/${TRACKNUM} - ${TRACKFILE}'

## donne "/home/ee/ogg/Thiéfaine/2005 - Scandale Mélancolique/01 - Libido Moriendi.ogg"
## adaptez à votre goût !

PADTRACKS='y'

EJECTCD='y'

mungefilename ()
{
echo "$@" | sed s,:,\ -,g | tr / _ | tr -d \"\?\[:cntrl:\]
}

Enjoy !

Compléments

abcde :

→ la page originale : http://lly.org/~rcw/abcde/page/ ;
→ la page actuelle : http://www.hispalinux.es/~data/abcde.php ;
→ un tuto sur Trustonme : http://www.trustonme.net/didactels/310.html ;
→ la page de manuel : en console man abcde.

multimedia/abcde.txt · Dernière modification: 2014/05/09 18:57 (modification externe)