Ripper et encoder un CD audio en ligne de commande

Petit mémo pour me rappeler comment ripper et encoder un CD audio en ligne de commande. C’est un comble, avec 4 ordinateurs à la maison, je n’ai aucun lecteur/graveur de CD en état de fonctionnement, sauf sur le Mac Mini (headless) qui sert de media center/serveur de fichiers sous Fedora 20.

Les outils nécessaires seront :

On commence par obtenir les informations sur le lecteur CD :

$ cdparanoia -vsQ

Qui affiche des données de ce type pour le lecteur CD de mon vieux Mac Mini :

cdparanoia III release 10.2 (September 11, 2008)

Using cdda library version: 10.2
Using paranoia library version: 10.2
Checking /dev/cdrom for cdrom...
        Testing /dev/cdrom for SCSI/MMC interface
                SG_IO device: /dev/sr0

CDROM model sensed sensed: PIONEER DVD-RW  DVR-K06 Q617

Checking for SCSI emulation...
        Drive is ATAPI (using SG_IO host adaptor emulation)

Checking for MMC style command set...
        Drive is MMC style
        DMA scatter/gather table entries: 1
        table entry size: 131072 bytes
        maximum theoretical transfer: 55 sectors
        Setting default read size to 27 sectors (63504 bytes).

Verifying CDDA command set...
        Expected command set reads OK.

Attempting to set cdrom to full speed...
        drive returned OK.

Table of contents (audio tracks only):
track        length               begin        copy pre ch
===========================================================
  1.    91377 [20:18.27]        0 [00:00.00]    no   no  2
  2.    72852 [16:11.27]    91377 [20:18.27]    no   no  2
  3.    77950 [17:19.25]   164229 [36:29.54]    no   no  2
TOTAL  242179 [53:49.04]    (audio only)

Pour info, il s’agit de l’album « Requiem for the 3 Kharites » de YRSEL (experimental ritual ambient drone).

On continue avec l’extraction des pistes, en ajoutant l’option -B :

$ cdparanoia -B
cdparanoia III release 10.2 (September 11, 2008)


Ripping from sector       0 (track  1 [0:00.00])
          to sector  242178 (track  3 [17:19.24])

outputting to track01.cdda.wav

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

outputting to track02.cdda.wav

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

outputting to track03.cdda.wav

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

Done.

Je me retrouve avec 3 fichiers WAV. Pour les convertir en mp3, j’utilise lame. Personnellement j’encode toujours en 320kbps avec le preset insane :

$ lame track01.cdda.wav track01.cdda.mp3 --preset insane
LAME 3.99.5 32bits (http://lame.sf.net)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 20094 Hz - 20627 Hz
Encoding track01.cdda.wav to track01.cdda.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (4.4x) 320 kbps qval=3
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
 46642/46642 (100%)|    1:05/    1:05|    1:05/    1:05|   18.553x|    0:00
--------------------------------------------------------------------------------------------------------------------------------
   kbps        LR    MS  %     long switch short %
  320.0       98.4   1.6        84.4   6.8   8.8
Writing LAME Tag...done
ReplayGain: -6.9dB

Répéter pour les autres pistes, voir faire un script qui prend en charge tout ça automatiquement. Je m’y attellerai peut-être un de ces jours si j’en ai le temps. mon problème ici étant de simplement ripper mes CD à distance pour les récupérer dans Musicbee.

Petit bonus, pour éjecter le CD en ligne de commande :

$ eject -r

Centraliser sa bibliothèque iTunes sur un LAN

Partager sa collection musicale entre plusieurs machines

Lorsque l’on a plusieurs Mac et que l’on écoute beaucoup – ou pas beaucoup ;} – de musique, il est pratique et sympathique de centraliser les fichiers musicaux sur un serveur, un disque externe ou un NAS, afin de ne pas avoir de doublons (ou plus) des fichiers dans chaque iTunes. Ce dernier peut se décomposer en deux parties distinctes : les fichiers musicaux eux-même (mp3, aac) et l’index de la bibliothèque qui regroupe beaucoup d’informations comme les listes, les notes, le compteur d’écoute, etc. Cet article explique comment faire cette opération de partage et propose deux alternatives : partager un même index pour tous le monde ou garder un index séparé pour chaque Mac.

Avantages/inconvénients

Ces deux façons de faire ont chacune de bons et mauvais côtés. Partager l’index permet d’avoir l’exacte copie sur tous les iTunes. En fait, il est même faux de dire copie car ce ne sont pas plusieurs copies mais une unique copie, un endroit unique où tous les programmes pointent. L’avantage est que si j’ajoute le dernier Demis Roussos dans l’iTunes du Mac Mini, je le verrai également sur celui de l’iBook (et oui, toujours en vie le G4!). Même chose pour les listes, les notes, etc. Un seul index.
Le côté moins carré est qu’à la base Apple n’a pas prévu ce genre d’utilisation (shame on them), donc il faut éviter au maximum d’avoir plusieurs iTunes accédant à la même bibliothèque ouverts en même temps. Il est en effet possible de corrompre l’index si plusieurs machines tentent d’écrire dans celui-ci en même temps.

Garder l’index sur chaque iTunes peut sembler être un désavantage en lisant ce qui est écrit plus haut. En effet, si j’ajoute mon Demis Roussos sur le Mac Mini, si je le veux sur l’iBook il faudra l’importer sur celui-ci également (le fichier mp3 ou aac lui-même sera unique lui). Mais cela peut-être un avantage, en particulier si plusieurs personnes utilisent les Mac. Je peux avoir ajouté Rain and tears dans ma bibliothèque avec une note de 5 étoiles, mon chat qui aime moins l’aura noté 2 étoiles seulement dans la sienne et ma blonde ne l’aura même pas ajouté à sa bibliothèque.

Continuer la lecture de « Centraliser sa bibliothèque iTunes sur un LAN »