Accueil > Skiantoù > Stlenneg > Convertir CD Audio en FLAC Linux

Convertir CD Audio en FLAC Linux

dimanche 25 janvier 2026, par Lionel PLAIS

Voici la procédure étape par étape.

1. Installer les dépendances pour les pochettes

En plus de abcde et flac, vous avez besoin de glyrc (souvent contenu dans le paquet glyr) pour télécharger les images, et imagemagick pour les convertir si nécessaire.

Ouvrez votre terminal et lancez :

sudo apt install abcde flac imagemagick glyrc

(Note : Sur certaines distributions très récentes, si glyrc est introuvable, abcde tente parfois d’utiliser d’autres scripts, mais glyrc reste le standard pour cet outil).

2. Créer le fichier de configuration

Plutôt que de taper une commande immense à chaque fois, nous allons créer un fichier de configuration personnel.

Créez (ou éditez) le fichier .abcde.conf dans votre dossier personnel :

nano ~/.abcde.conf

Copiez et collez la configuration suivante. J’ai ajouté des commentaires pour vous expliquer chaque ligne :

# --------------------------------------------------
#  Fichier de config abcde pour FLAC + Cover Art
# --------------------------------------------------

# Format de sortie : FLAC
OUTPUTTYPE=flac

# Les actions à effectuer dans l'ordre :
# 1. cddb : Récupérer les infos (titres)
# 2. read : Lire le CD
# 3. getalbumart : Télécharger la pochette
# 4. embedalbumart : Intégrer l'image dans le fichier FLAC
# 5. encode : Convertir en FLAC
# 6. tag : Mettre les tags (Artiste, Titre...)
# 7. move : Déplacer dans le dossier final
# 8. clean : Nettoyer les fichiers temporaires
ACTIONS=cddb,read,getalbumart,embedalbumart,encode,tag,move,clean

# Définir une structure de dossier propre :
# Exemple : /home/user/Musique/Pink Floyd/The Wall/01 - In the Flesh.flac
OUTPUTDIR="$HOME/Musique"
OUTPUTFORMAT='${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM} - ${TRACKFILE}'
VAOUTPUTFORMAT='Compilations/${ALBUMFILE}/${TRACKNUM} - ${ARTISTFILE} - ${TRACKFILE}'

# Options pour le téléchargement de la pochette
# On essaie de récupérer via plusieurs sources
GLYRC=glyrc
ALBUMARTFILE="cover.jpg"
ALBUMARTTYPE="JPEG"

# Options pour l'encodage FLAC (compression maximale par défaut est souvent 5 ou 8)
FLACOPTS="-8"

# Ne pas éjecter le CD automatiquement à la fin (optionnel)
EJECTCD=n

# --------------------------------------------------------
# Fonction personnalisée pour générer un CUE sheet propre
# pour des fichiers FLAC séparés (one file per track)
# --------------------------------------------------------
post_move () {
	# 1. Déterminer le dossier final en fonction du type d'album (Standard ou V.A.)
	if [ "$VARIOUSARTISTS" = "y" ]; then
		# Correspond à votre VAOUTPUTFORMAT='Compilations/${ALBUMFILE}...'
		ALBUMDIR="$OUTPUTDIR/Compilations/$ALBUMFILE"
	else
		# Correspond à votre OUTPUTFORMAT='${ARTISTFILE}/${ALBUMFILE}...'
		ALBUMDIR="$OUTPUTDIR/$ARTISTFILE/$ALBUMFILE"
	fi

	# 2. Se déplacer dans le dossier final
	cd "$ALBUMDIR" || return 1

	# 3. Compter les fichiers pour voir si l'album est fini
	# $TRACKS est la liste des pistes que abcde traite (ex: "1 2 3 4")
	EXPECTED_COUNT=$(echo "$TRACKS" | wc -w)
	CURRENT_COUNT=$(ls *.flac 2>/dev/null | wc -l)

	# 4. Si tous les fichiers sont là, on génère le CUE
	if [ "$CURRENT_COUNT" -eq "$EXPECTED_COUNT" ]; then
		echo "Génération du fichier album.cue..."
		
		# Récupération des tags globaux depuis le premier fichier trouvé
		FIRST_FILE=$(ls *.flac | head -n 1)
		ARTIST=$(metaflac --show-tag=ARTIST "$FIRST_FILE" | sed 's/ARTIST=//')
		ALBUM=$(metaflac --show-tag=ALBUM "$FIRST_FILE" | sed 's/ALBUM=//')
		YEAR=$(metaflac --show-tag=DATE "$FIRST_FILE" | sed 's/DATE=//')
		GENRE=$(metaflac --show-tag=GENRE "$FIRST_FILE" | sed 's/GENRE=//')

		# Création de l'en-tête
		echo "PERFORMER \"$ARTIST\"" > album.cue
		echo "TITLE \"$ALBUM\"" >> album.cue
		echo "REM DATE $YEAR" >> album.cue
		echo "REM GENRE $GENRE" >> album.cue

		# Boucle sur les pistes
		track_no=1
		for file in *.flac; do
			echo "FILE \"$file\" WAVE" >> album.cue
			printf "  TRACK %02d AUDIO\n" "$track_no" >> album.cue
			echo "	INDEX 01 00:00:00" >> album.cue
			((track_no++))
		done
		
		echo "Fichier CUE créé avec succès dans : $ALBUMDIR"
	fi
}

Sauvegardez le fichier avec Ctrl+O, Entrée, puis quittez avec Ctrl+X.

3. Lancer l’extraction

Maintenant que tout est configuré, la commande est extrêmement simple. Insérez votre CD et lancez :

abcde

Ce que cela va produire :

  1. Le logiciel va interroger les bases de données (CDDB/MusicBrainz) pour les titres.
  2. Il va télécharger la pochette (souvent nommée cover.jpg) et la placer dans le dossier.
  3. Il va extraire chaque piste dans un fichier FLAC séparé (01 - Titre.flac, etc.).
  4. Il va intégrer l’image directement dans les métadonnées de chaque fichier FLAC (vous verrez l’image apparaître dans votre lecteur audio).
  5. Il générera un fichier album.cue dans le même dossier, qui référence les fichiers FLAC individuels (utile pour recréer le CD à l’identique plus tard).

Résolution de problèmes courants

  • Si abcde ne trouve pas la pochette : Les bases de données d’images en ligne changent parfois leurs API. Si le téléchargement échoue, abcde continuera l’extraction sans erreur, mais sans image. Vous pourrez toujours ajouter l’image manuellement plus tard avec un logiciel comme EasyTAG ou Kid3.
  • Conflit de format : Si vous aviez déjà utilisé abcde auparavant, assurez-vous de ne pas utiliser l’option -1 dans votre ligne de commande, car elle prévaut sur le fichier de configuration. Utilisez simplement abcde.