# Petit guide de gravure sur CD de fichiers MP3

Version française du Linux MP3 CD Burning mini-HOWTO

Version : 2.0.fr.1.0
2003-05-01
Greg Wierzchowski greg@draxen.org
Thibault Alix Traduction française alix CHEZ essi POINT fr
Olivier Kaloudoff Relecture de la version française kalou CHEZ kalou POINT net
Jean-Philippe Guérard Préparation de la publication de la v.f. jean TIRET philippe POINT guerard CHEZ tigreraye POINT org

Ce petit guide est un mode d'emploi complet de la création de CD audio et de CD de données à partir de musique au format MP3.

2.0.fr.1.0
2003-05-01
TA, OK, JPG Première version française, avec quelques corrections de liens.
2.0
2002-04-26
GW Séparation en deux sections : les informations existantes dans la section « audio », et une nouvelle section « données », sur les CD de données. Quelques modifications diverses.
1.5
2001-11-19
GW Correction des oublis dans la section « gravure en mode Disc-At-Once ».
1.4
2001-11-17
GW Ajout de la section « gravure en mode Disc-At-Once ».
1.3
2001-09-02
GW Ajout d'un autre exemple sur le décodage de fichiers MP3 avec Lame.
1.2
2001-07-12
GW Quelques changements mineurs ; ajout d'une sous-section « Traduction » dans la section « Remerciements ».
1.1
2001-06-12
GW Modifications mineurs. Correction de l'expression rationnelle dans l'exemple de conversion de nom entre MP3 et WAV.
1.0
2001-05-29
GW Version Initiale.
MP3 CD audio enregistrer graver WAV musique

## Introduction

J'ai écrit ce petit guide pour partager mon expérience de la gravure de CD audio, et à cause du manque sur Internet de quelques informations spécifiques sur la normalisation du son. Je grave en général des CD de musique en les mixant avec des sons provenants de sources différentes. Bien souvent, le volume sonore entre deux chansons varie beaucoup. C'est le premier obstacle. Deuxièmement, la plupart des fichiers pris sur Internet ne sont pas compatible avec les CD (16 bits, stéréo, 44100 Hz), et doivent être convertis. Il y a beaucoup de programmes pour graver des CD de musique à partir de fichiers MP3, et beaucoup d'entre eux réalisent la conversion de façon transparente. Mais, aucun d'entre eux ne permet de normaliser le son, c'est pourquoi j'ai travaillé sur ma propre méthode de gravure de CD.

Cet HOWTO traite d'une seule chose : mettre des MP3 sur un CD pour pouvoir les écouter. Pour des informations approfondies sur les fichiers MP3, voir le Guide du MP3 (Linux MP3 HOWTO) de Phil Kerr, que l'on peut trouver à l'adresse suivante : http://www.traduc.org/docs/HOWTO/lecture/MP3-HOWTO.html. Pour des informations sur la création de CD en général, se référer au Guide de gravure de CD (CD-Writing-HOWTO) de Winfried Trümper, disponible sur http://www.traduc.org/docs/HOWTO/lecture/CD-Writing-HOWTO.html.

Je suppose que vous voulez graver des CD avec la collection de chansons que vous avez récupéré via différentes sources, avec des qualités différentes, mais vous voulez la meilleure qualité de son possible sur le CD. Ce petit guide détaille les étapes nécessaires pour y parvenir.

### Copyright et License

Ce document dispose d'un copyright (c) 2001 par Greg Wierzchowski, et est publié sous les termes de la GNU Free Documentation License, incluse pour référence. Envoyer vos remarques à greg.wierzchowski@usa.net.

## CD audio

### Préparation des pistes

Note

Toutes les commmandes sont adaptées pour Bash.

1. Rassembler tous les fichiers MP3 dans un répertoire.

2. Si vos fichiers MP3 proviennent de DOS/Windows, ils doivent avoir des extensions en majuscule. Vous pouvez convertir tout le nom du fichier en minuscule, ou simplement l'extension. Pour mettre tout en minuscule, taper :

       for i in *.[Mm][Pp]3; do mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`; done

   pour convertir les extensions :

       for i in *.MP3; do mv "$i" "`basename "$i" .MP3`.mp3"; done

3. Si quelques fichiers contiennent des espaces, les convertir en 'underscore' (_):

       for i in *.mp3; do mv "$i" `echo $i | tr ' ' '_'`; done

4. Convertir ces fichiers en WAV avec la commande :

       for i in *.mp3; do mpg123 -w `basename $i .mp3`.wav $i; done

   Quand vous décodez des fichiers MP3 échantillonnés à 22kHz, en sortie de `mpg123`, le son peut être déformé. Pour remédier à cela :

       for i in *.mp3; do mpg123 --rate 44100 --stereo --buffer 3072 --resync -w `basename $i .mp3`.wav $i; done

   Mpg123 doir être présent dans n'importe quelle distribution Linux, mais si vous ne le possédez pas, vous pouvez l'obtenir ici : http://www.mpg123.de/.

   NOTE : J'ai remarqué qu'avec quelques fichiers MP3, mpg123 rendait un son distordu. J'ai d'abord pensé que les MP3 étaient de mauvaise qualité, mais je les ai testés avec un autre lecteur, et il n'y avait pas de problème. J'ai alors cherché un autre lecteur de MP3 capable de les convertir en WAV, et j'ai trouvé celui-ci : MAD mp3 decoder disponible à http://www.underbit.com/products/mad/. Avec madplayer, la ligne de commande est :

       for i in *.mp3; do madplay -o `basename $i .mp3`.wav $i; done

   Il y a un autre moyen de réaliser cette conversion. Quelques fichiers MP3 décodés semblent apparement présenter des troubles aussi bien avec `mpg123` que avec `madplay`. Le décodeur `lame`, qui possède un mode de décodage, semble très bien gérer les cas difficiles (`lame` peut être obtenu à http://lame.sourceforge.net) :

       for i in *.mp3; do lame --decode $i `basename $i .mp3`.wav; done

   NOTE : La commande ``basename $i .mp3`.wav` remplace les extensions MP3 en WAV. Il y a 101 façons de le faire, en voici une : ``echo "$1" | sed 's/\.mp3$/.wav/'``

5. Exécuter "`file *.wav`" et noter les fichiers dont les caractéristiques s'affichant diffèrent de 16 bits, stéréo, 44100Hz

6. Si des fichiers présentent des caractéristiques différentes, les convertir avec les spécifications ci-dessus. Par exemple, pour convertir le fichier piste01.wav afin d'obtenir une fréquence d'échantillonnage de 44,1Khz, vous pouvez utiliser :

       sox track01.wav -r 44100 piste01-new.wav resample

   Où, si la commande ci-dessus introduit des parasites durant la conversion de fichiers mono :

       sox track01.wav -r 44100 -c 2 piste01-new.wav

   Sox est tellement populaire qu'il est certainement installé par défaut dans toutes les distributions Linux, et peut être obtenu à l'adresse suivante : http://www.spies.com/Sox/. Cependant, les options en ligne de commande sont quelque peu hardues à comprendre pour un utilisateur débutant (moi), aussi, regarder à http://www.spies.com/Sox/sox.tips.html pour des astuces sur l'utilisation.

7. Normaliser vos fichiers WAV afin d'éviter des différences trop importantes entre les niveaux de volume sonore. J'utilise un programme de Chris Vaill (cvaill@cs.columbia.edu), appelé `normalize` - il peut être obtenu depuis http://www.cs.columbia.edu/~cvaill/normalize/.

   J'utilise la syntaxe suivante (-m est utilisé pour le mode mixage pour lequel le son des fichiers doit être aussi fort que possible) :

       normalize -m *.wav

### Graver vos CD

On trouve beaucoup de programmes pour créer des CD à partir de fichiers WAV. J'utilise `cdrecord` pour graver en ligne de commande, et `XCDROAST` pour le mode graphique. Pour `cdrecord`, vous devez savoir quel périphérique SCSI est votre graveur. Si vous utilisez un graveur ATAPI, utilisez l'émulation SCSI (module ide-scsi du noyau). Disons que votre graveur ATAPI est sur le second bus IDE, en position maître. Par conséquent, il doir exister un fichier `/dev/hdc`. Pour préciser au noyau que l'on veut considérer ce périphérique comme du SCSI, ajoutez la ligne suivante dans le fichier `/etc/lilo.conf` :

    append=" hdc=ide-scsi"

Aussi, si votre noyau ne charge pas automatiquement le module ide-scsi, il faut ajouter `insmod ide-scsi` dans votre fichier `rc.local` (ou un équivalent). Une fois que votre graveur est reconnu comme étant un périphérique SCSI, lancez `cdrecord --scanbus` pour voir quels sont les paramètres de votre périphérique. Sur ma machine, l'exécution de la commande m'affiche les informations suivantes :

    	scsibus1:
    	1,0,0 100) 'IOMEGA ' 'ZIP 250 ' '51.G' Removable Disk
    	1,1,0 101) 'HP ' 'CD-Writer+ 7100 ' '3.01' Removable CD-ROM

Alors, la commande `cdrecord` devra contenir `dev=1,1,0` pour spécifier quel périphérique utiliser. Voici la commande complète sur mon système :

    cdrecord dev=1,1,0 -eject speed=2 -pad -audio *.wav

Note

L'option -pad est necessaire car toutes les pistes sur le CD audio doivent être ajustées à la valeur correcte des données, ce qui n'est pas toujours le cas avec les fichiers MP3.

### Graver un CD en DAO

DAO, (Disc-At-Once, NdT : cela signifie que la gravure s'effectue sans que le laser ne fasse de pause), est à l'heure actuelle la seule méthode pour graver un CD sans la pause de 2 secondes entre les pistes. C'est très utile pour réaliser des mixages pour des soirées. Le programme `cdrdao`, est disponible depuis SourceForge, http://sourceforge.net/projects/cdrdao/.

Le programme `cdrdao` utilise un fichier de description appelé TOC (Table Of Contents soit Table Des Matières). Il y a deux moyens de créer un tel fichier. Le premier consiste à utiliser un script shell fourni avec les sources de `cdrdao` dans le répertoire `contrib`), appelé `generate_toc.sh`. Il prend une liste de fichiers `.wav` en paramètre, et crée un fichier `cd.toc`. Le deuxième moyen est de créer un fichier semblable, à la main, avec l'éditeur de votre choix. Voici un exemple qui parle de lui-même :

    	CD_DA

    	TRACK AUDIO
    	AUDIOFILE "mix-01.wav" 0

    	TRACK AUDIO
    	AUDIOFILE "mix-02.wav" 0

    	TRACK AUDIO
    	AUDIOFILE "mix-03.wav" 0

    	TRACK AUDIO
    	AUDIOFILE "mix-04.wav" 0

    	TRACK AUDIO
    	AUDIOFILE "mix-05.wav" 0

Le 0 (zéro) après le nom des fichiers wav signifie : démarrer depuis le début du fichier. Il peut y avoir un second nombre qui indique la taille (en temps) du fichier à graver. `Xcdroast` crée le même fichier TOC, on trouve des exemples dans le répertoire `testtocs` des sources de `cdrdao`.

`Cdrdao` utilise par défaut le périhérique `/dev/cdrecorder`, qui doit être un lien vers le graveur. Si le fichier de votre périphérique est `/dev/scd0`, créer le lien symbolique (en tant que root) de la façon suivante :

    ln -s /dev/scd0 /dev/cdrecorder

Admettons que votre fichier TOC soit nommé `cd.toc`, la commande pour graver le CD est simple :

    cdrdao write cd.toc

### Logiciel

Il y a de nombreux logiciels disponibles, ils peuvent automatiser le processus de création de CD à partir de fichiers MP3. Voici une liste non exhaustive de programmes disponibles :

- burnmp3 - Programme pour automatiser la gravure en utilisant la méthode DAO. http://gro.clinux.org/projects/burnmp3/.

- mp32dao - Un script provenant du paquet cdrdao, dans le répertoire contrib. http://cdrdao.sourceforge.net/.

## CD de données

Note

Cette section est en cours de réalisation, vous avez devant-vous une version initiale, très épurée.

Avec la popularité croissante des lecteurs de CD/MP3, graver de CD de données pour les écouter devient aisé. L'avantage est sans nul doute d'insérer dix fois plus de temps de musique dans un CD (de façon approximative). Pour obtenir un CD de données contenant des MP3, il faut un simple CD standard de données (ISO9960) avec pour simple fichiers, des MP3. Tous les lecteurs de CD-MP3 que je connais acceptent des CD avec des répertoires à l'intérieur, et je grave en général mes CD avec l'extension Joliet (NdT : pour accepter les noms longs), et cela marche très bien. Donc, pour graver un tel CD sous Linux, vous avez besoin dans un premier temps de créer une image ISO, et de la graver sur le CD, comme décrit dans l'exemple ci-dessous :

          mkisofs -J -o /tmp/mymp3s.iso /home/greg/mp3s/
          cdrecord dev=1,0,0 speed=16 /tmp/mymp3s.iso

Et c'est tout !

Je recherche maintenant la technique pour normaliser des fichiers MP3 directement - cependant, je crois que cela nécessitera à chaque fois une décompression, une normalisation, et une recompression, ce qui engendrera une perte de qualité. Restez donc à l'écoute !

## Crédits

Un grand merci à toutes les peronnes qui contribuent à la Communauté Linux et qui ont rendu la création de ce HOWTO possible.

### Traductions

- Im Eunjea - qui à traduit ce document en Coréen, le lien est http://kltp.kldp.org/eunjea/mp3_burning/.

- Mendel L Chan - qui à traduit ce document en Chinois, le lien est http://www.linux.org.tw/CLDP/mini/MP3-CD-Burning/.

- Chie Nakatani - qui à traduit ce document en Japonais, le lien est http://www.linux.or.jp/JF/JFdocs/MP3-CD-Burning/index.html.

- Alix Thibault - qui à traduit ce document en Français, et Kaloudoff Olivier qui s'est chargé de sa relecture. Le lien est http://www.traduc.org/docs/HOWTO/mini/lecture/MP3-CD-Burning.html.

  N'hésitez pas à faire parvenir tout commentaire relatif à la version française de ce document à commentaires@traduc.org.

### Autres Crédits

- Greg Ferguson - qui à initialement converti ce document HTML en SGML.

- Rob Russell - qui à corrigé mes noms d'exemples concernant la conversion.

- Terry Davis - qui m'a suggéré de soumettre ce HOWTO à Linuxdoc.

- Chris Vaill - le créateur du programme `normalize`.

- Jamie Kellogg - qui m'a soumis une solution de décodage avec `lame` pour les fichiers présentant des troubles.

- Tom Panning - qui à proposé une astuce pour convertir des fichiers mono avec `sox`.

- Adam Buckley - qui à suggéré une idée pour les fichiers avec les extensions en majuscule.

- Ilia Lobsanov - qui à fournit les options pour décoder les fichiers échantillonés à 22kHz avec `mpg123`.