CD audio

De Le Wiki du Forum-Debian.fr
Aller à la navigation Aller à la recherche

Manipuler des CD audio sous debian peut être un peu déroutant si l'on ne souhaite pas se contenter des outils graphiques et que l'on veut comprendre ce qui se passe.


Vue générale du CD-DA

CD-DA est l'acronyme de Compact Disk - Digital Audio. C'est un standard défini dans le Red Book, dont la première édition revient à Philips et Sony en 1980. Le CD-DA n'est pas un standard libre, les droits et le logo associé sont possédés par le groupe Pḧilips.

Le support du CD-DA est le Compact Disk (CD), un média optique permettant de stocker les données sous forme numérique. Les données audio sont stockées sous la forme d'une piste stéréo encodée à une résolution de 16 bits avec une fréquence d'échantillonnage de 44,1 kHz.

Utiliser les CD-DA avec GNOME

Depuis la version 2.22 de GNOME, le navigateur de fichier nautilus présente le contenu d'un CD audio comme des fichiers WAV. Ces fichiers sont facilement manipulables avec les opérations classiques de nautilus, une extraction de piste se résume donc à un simple copier-coller.

Techniquement, GNOME s'appuie sur GVFS (successeur de GNOME-VFS) qui est une abstraction présentant le contenu des périphériques réseau et multimédia dans un système de fichier. GVFS s'appuie sur libcdio-cdda0 [1] et libcdio-paranoia0 [2] pour ses accès aux CD audios. Il utilise son propre exécutable /usr/lib/gvfs/gvfsd-cdda pour l'extraction des pistes de CD audio.

Utiliser les CD-DA en ligne de commande

libcdio-cdda0 Voici quelques outils à utiliser en ligne de commande pour manipuler les CD audio avec debian. Pour pouvoir lire (et écrire) des CD, il est nécessaire d'avoir les droits d'accès au fichier spécial représentant le lecteur (graveur) de CD. Généralement, il s'agit de la cible du lien symbolique /dev/cdrom. La manière la plus simple (et la plus propre) est de s'assurer que la cible de /dev/cdrom est bien accessible en lecture (écriture) pour le groupe cdrom et que l'utilisateur devant l'utiliser appartient bien à ce groupe.

Lire un CD-DA

VLC media player

Pour lire un CD audio avec vlc en ligne de commande on peut utiliser la commande suivante :

$ cvlc cdda://[périphérique]

cvlc est une version de vlc sans interface graphique, mais toutes ces commandes restent valides en utilisant vlc.

Une piste peut être spécifiée avec l'option --cdda-track :

$ cvlc cdda:// --cdda-track=2

À noter qu'avec vlc-1.0.4-2, la syntaxe vlc cdda://[périphérique][@piste] ne se comporte pas comme précisé dans le wiki de vlc [3] qui ne semble pas être à jour.

MPlayer

$ mplayer cdda://

Ripper un CD-DA

Ripper un CD consiste à extraire les pistes audio du CD-DA et à les convertir en fichiers audio. Les données du CD audio n'étant pas organisées en système de fichier (contrairement au CD-ROM), cela n'a pas de sens d'essayer d'extraire une image ISO d'un CD-DA puisque la norme ISO9660 (ou CDFS) n'est pas utilisée. On ne peut donc pas "monter" un CD-DA pour acceder directement à son contenu. Des outils spécialisés sont donc nécessaires pour extraire les données du CD-DA.

Il y a principalement deux modes de copies :

  • Un mode de copie similaire à la lecture du CD audio, où le lecteur fonctionne de manière indépendante et où le signal est directement récupéré depuis la carte son (à vérifier). Bien que simple et rapide, toutes les erreurs de lecture se répercuteront sur l'enregistrement. De plus, une distorsion des données audio dûe à son traitement intermédiaire par la carte son réduira aussi la qualité du résultat final.
  • Un mode de copie numérique, plus lent que le mode précédent mais permettant de restituer le son tel qu'il est encodé sur le CD-DA.

En console

cdparanoia et icedax sont deux programmes en ligne de commande permettant d'extraire les données du CD-DA selon la méthode digitale. cdparanoia est basé sur la libcdparanoia (notamment utilisée par mplayer) tandis qu'icedax (InCrEdible Digital Audio eXtractor) est un dérivé (et remplaçant) de cdda2wav. icedax possède des options pour contrôler la qualité du résultat en jouant sur le nombre de canaux et la fréquence d'échantillonnage et peut se rabattre sur la libcdparanoia au besoin.

La commande suivante permet d'extraire toutes les pistes d'un CD-DA sous forme de fichiers .wav:

$ cdparanoia -B

Liste des formats gérés par cdparanoia:

  • WAV
  • AIFF
  • AIFF-C
  • format brut (raw format)

Avec interface graphique

Plusieurs options:

  • Morituri, qui se veut être un équivalant d'EAC et plutôt prévu pour environnements Gnome/Linux: https://packages.debian.org/jessie/morituri
  • K3B, le logiciel de gravure KDE qui dispose d'une fonction «extraction»

Graver un CD-DA

wodim dev=/dev/cdrw *.{wav,au}

gnomebaker (GUI basée entre autre sur wodim, cdrdao et icedax)

Copier un CD-DA

cdrdao

Obtenir des informations sur le contenu du CD-DA

CDDB

CDDB (Compact Disk DataBase) est une base de donnée permettant d'obtenir des informations telles que le nom de l'artiste, le titre du CD ou le nom des pistes. Pour que cela fonctionne, le CD en question doit être référencé dans la base, ce système n'est donc pas applicable pour des compilations ou des pistes seules. D'autre part, la base de donnée étant en ligne, il est nécessaire d'avoir accès à une connexion internet.

Voici un exemple pour lire un CD audio avec mplayer en fournissant les informations complémentaires fournies par CDDB :

$ mplayer cddb://
...
================ CD INFO === start =========
 artist=[Queen]
 album=[Queen Rocks]
 genre=[Rock/Classic]
 nb_tracks=10
 length= 36:41.30
  # 1  2:01.43 @     150	[We Will Rock You]
  # 2  3:45.19 @    9267	[Tie Your Mother Down]
  # 3  4:30.66 @   26160	[I Want It All]
  # 4  2:45.18 @   46475	[Seven Seas of Rhye]
  # 5  4:47.46 @   58867	[I Can't Live With You (1997 'Rocks' Retake)]
  # 6  4:22.66 @   80437	[Hammer to Fall]
  # 7  2:14.06 @  100152	[Stone Cold Crazy]
  # 8  4:12.49 @  110207	[Now I'm Here]
  # 9  4:15.71 @  129155	[Fat Bottomed Girls]
  #10  3:45.31 @  148350	[Keep Yourself Alive]
================ CD INFO ===  end  =========
...

cdir

La commande cdir du package cdtool permet d'obtenir la durée de chaque piste d'un CD audio :

$ cdir
unknown cd - 70:32 in 18 tracks
  2:01.42  1 
  3:45.18  2 
  4:30.65  3 
  2:45.17  4 
  4:47.45  5 
  4:22.65  6 
  2:14.05  7 
  4:12.48  8 
  4:15.70  9 
  3:45.30 10 
  3:24.65 11 
  5:09.15 12 
  3:24.72 13 
  3:11.20 14 
  3:18.58 15 
  4:38.25 16 
  6:27.15 17 
  4:14.00 18

Références