Graver un CD






  1. Installer les lecteurs et graveur de CD:
  2. Cette installation est bien expliquée dans les documentations livrées avec SuSE 7.0 et 7.1.

    On peut utiliser directement un graveur SCSI s'il a été détecté au démarrage de Linux (voir la commande dmesg ou faire {SHIFT} {PAGE UP} juste après le logging).

    Personnellement, j'ai des lecteur/graveur EIDE et l'utilisation d'un graveur EIDE est moins directe pour le gravage car le programme cdrecord utilisé pour le gravage ne travaille qu'avec des périphériques SCSI. Il faut les"émuler" SCSI.
    Il faut en premier lieu ajouter dans /etc/lilo.conf la ligne:

    
        append="hdc=ide-scsi hdd=ide-scsi"
    
    

    Ne pas oublier de taper /sbin/lilo juste après pour enregistrer le changement.

    Remarque: vérifier que les graveurs/lecteur sont bien hdc et hdd sinon changer les dernières lettres de hdX en conséquence.

    On peut également passer par Yast pour éditer la ligne append dans LILO.

    Par la suite, dans /etc/modules:
    Changer la ligne:

        alias scsi_hostadapter off
    

    en:

    
        alias scsi_hostadapter ide-scsi
    
    

    Ainsi on installe, au démarrage, le module ide-scsi nécessaire à l'émulation SCSI des périphériques.

    On peut le faire manuellement avec la commande:

    
        insmod ide-scsi
    
    

    Les périphériques hdc et hdd deviennent alors scd0 et scd1 (ne pas oublier de changer /etc/fstab en conséquence, les lignes:

    /dev/hdc      /cdwrite       auto            ro,noauto,user,exec 0   0
    /dev/hdd      /cdrom         auto            ro,noauto,user,exec 0   0
    

    doivent devenir:

    /dev/scd0     /cdwrite        auto            ro,noauto,user,exec 0   0
    /dev/scd1     /cdrom          auto            ro,noauto,user,exec 0   0
    

    Vérifier naturellement que hdc est bien le graveur et hdd bien le lecteur.

    Le lecteur cdrom (périphérique /dev/scd0) peut ainsi être monté sur le répertoire /cdrom et le graveur (/dev/scd1) sur le répertoire /cdwrite.

    Les deux répertoires doivent naturellement avoir été créés auparavant. De fait SuSE 7.2 installe par défaut des liens symboliques de /cdrom vers /media/cdrom et de /cdwrite vers /media/cdwrite.

    Voir encore le livret "Configuration" de SuSE



  3. Graver des données sur un CD:
  4. Une fois que le graveur est installé, cette étape est facile. Pour cela il faut utiliser les programmes mkisofs et cdrecord.
    Cdrecord ne fonctionne qu'en root dans l'installation standard de SuSE.

    mkisofs crée l'image d'une arborescence de répertoires et précise aussi le système de fichier qui contrôle les fichiers présents dans cette arborescence (Iso9660, Joliert pour les systèmes Windows, Rock Ridge pour les système Unix).

    Personnellement, je place tous les fichiers à graver dans une partition /gravure de 2Gb que j'ai créé à l'installation de SuSE Linux 7.1. Dans cette partition, j'ai encore créé les répertoires /gravure/image et /gravure/a_graver

    Dans /gravure/a_graver, je place tous les fichiers que je veux graver en respectant l'arborescence que je veux retrouver sur mon CDRom.

    On tape ensuite:

    
        mkisofs -J -r -T -v -V etiquette -o /gravure/image/image.iso /gravure/a_graver
    
    

    -o {fichier}: spécifie le fichier image à écrire, ici /gravure/image/image.iso.
    -J: ajoute l'extension Joliet afin que les PC sous Windows puissent relire le CD.
    -r: ajoute l'extension Rock Ridge qui va permettra au CD d'être relu sous Linux et Unix.
    -T: créé un fichier TRANS.TBL dans chaque répertoire afin de pouvoir lire le CDRom sous MS-Dos.
    -v: mode "verbeux".
    -V etiquette: ajoute un nom au CDRom.

    Le répertoire à inclure dans l'image est en fin de ligne, ici /gravure/a_graver.

    Pour tester l'intégrité de l'image, on peut la monter:

    
        mount -t iso9660 -o ro,loop=/dev/loop0 /gravure/image/image.iso /cdrom
    
    

    L'image est ainsi montée sur le répertoire /cdrom et on peut l'accéder comme un CDRom.

    Ne pas oublier par la suite de saisir la commande:

    
        umount /cdrom
    
    

    Il ne reste plus qu'à graver l'image avec cdrecord:

    Voir d'abord quel est le numéro de device du graveur avec la commande:

    
    host:> cdrecord --scanbus
    
    Cdrecord 1.9 (i686-suse-linux) Copyright (C) 1995-2000 Jörg Schilling
    Linux sg driver version: 2.1.39
    Using libscg version 'schily-0.1'
    scsibus0:
            0,0,0     0) 'HP      ' 'CD-Writer+ 9300 ' '1.0c' Removable CD-ROM
            0,1,0     1) 'E-IDE   ' 'CD-ROM 50X      ' '41  ' Removable CD-ROM
            0,2,0     2) *
            0,3,0     3) *
            0,4,0     4) *
            0,5,0     5) *
            0,6,0     6) *
            0,7,0     7) *
    
    

    Il ne suffit plus qu'à saisir la commande:

    
        cdrecord -v -eject speed=6 dev=0,0,0 /gravure/image/image.iso
    
    

    et ce qui est inclut dans l'image /gravure/image/image.iso est gravé.

    -v: mode "verbeux"
    speed=X: vitesse de gravage à encoder selon vitesse admise par le graveur.
    dev=X,X,X: adresse SCSI du graveur.
    -eject: éjection du CD en fin de gravage.

    Pour tester, ajouter l'option -dummy:

    
        cdrecord -v -dummy speed=6 dev=0,0,0 /gravure/image/image.iso
    
    

    Ainsi le laser n'est pas activé et cela permet de vérifier si tout se passe correctement.



    Un peu de théorie comme suite à une intervention sur la liste SuSE-linux:

    Type under root:
    cat /proc/scsi/scsi
    This tells you everything thats attached to the scsi adapter.


    Encore un peu de théorie comme suite à une intervention sur la liste Linux:

    A parle:

    > je viens de faire un fichier .tgz d'archive.
    > je veux graver ça sur un cd réinscriptible (CD-RW).
    > j'ai donc voulu utiliser cdrecord, et j'ai fait ça :

    >  cdrecord -v -eject speed=4 dev=0,1,0 -data /sauv/sauv010821.tgz


    C'est très sympathique. (remarque de B!)

    > tout semble s'être bien passé.
    > mais quand je veux monter le cdrw, j'ai le message suivant :
    > impossible de déterminer le type de système de fichier.

    C'est normal puisque tu n'as pas mis de système de fichiers ;) (réponse de B)

    Physiquement, ton CD est un espèce de « gros fichier » de 650 MB. Ce que
    tu as fait, c'est copier le contenu de ton 'sauv...tgz' *au début* de ce
    gros fichier. Cdrecord t'a laissé faire car il pourrait effectivement
    être désirable d'agir de la sorte dans certains cas. Tu peux en
    récupérer le contenu de la sorte (puisque ton CD est devenu un fichier
    '.tgz' !) :

    tar xzvf /dev/cdrom

    Pour pouvoir *monter* un CD, du dois en fait créer dans ce gros fichier
    de 650 MB une arborescence dans un format bien spécifié -- généralement
    ISO9660 (avec extensions RockRidge) à l'aide de la commande 'mkisofs'.
    C'est exactement la même chose que lorsque tu dois installer un système
    de fichiers sur une partition.

    Ce filesystem correspond à un espèce de '.tar' ou '.zip' (normalement
    sans compression) que comprennent les kernels / IO subsystems des
    différents O.S. supportant les CDs ISO9660. En fait, rien ne t'empèche
    de faire des CDs au format ext2, ReiserFS, '.tar.bz2', etc., tu moment
    que tu te rends bien comptes qu'ils ne seront pas « portables ».

    --
    Damien Diederen
    dash@linuxbe.org
    http://users.swing.be/diederen/



  5. Copie exacte d'un CD de données
  6. Le plus simple est le mieux. Il m'a fallu, moi-même, le temps et quelques messages de la liste Linux, pour arriver à cette simplicité.

    
            host:> dd if=/dev/scd1 of=/gravure/image_cd.iso
    
    

    Pour vérifier la qualité de l'image, faire un montage en «loop»:

    
        mount -t iso9660 -o ro,loop=/dev/loop0 /gravure/image_cd.iso /cdrom
    
    

    L'image est ainsi montée sur le répertoire /cdrom.

    "Démonter" ensuite l'image:

    
            host:> umount /cdrom
    
    

    Copie le contenu du CD monté sur /dev/scd1 dans le répertoire /gravure.

    Ensuite, graver cette image avec cdrecord:

    
            host:> cdrecord -v -eject speed=x dev=0,0,0 /gravure/image_cd.iso
    
    




  7. Utiliser Xcdroast




  8. Copier un CD audio
  9. Je remercie Remi Letot ( r_letot@yahoo.com ) qui m'a donné les indications de base nécessaire pour graver un CD audio.

    Pour lire les fichiers audio, utiliser le logiciel cdparanoia. Ce logiciel est connu pour ses capacités de correction d'erreurs et est fourni par SuSE 7.2. Installation donc facile. Voyer man cdparanoia pour plus de détails.

    Ci-dessous la description de cdparanoia telle que annoncée par le man:

    
           cdparanoia  (Paranoia  release  III) - an audio CD reading
           utility which includes extra data verification features
    
    

    On dit aussi que cdparanoia est un "HDDA" (Digital Audio Extraction Tool) ou un "ripper" en anglais.

    Voir également page http://www.xiph.org/paranoia

    Pour "ripper", taper:

    home # cdparanoia -p -v 1- /gravure/audio.raw

    -v: mode "verbeux" pour avoir des messages.
    -p pour sauver les fichiers en format "raw"
    1- pour prendre de la première piste jusqu'à la fin du CD
    Le tout est placé dans le fichier audio.raw (préciser le répertoire dans lequel vous voulez placer ce fichier, par exemple /gravure/audio.raw).

    On peut sélectionner les pistes qu'on veut copier (voir le man)

    home # cdparanoia -p -v 1-4 /gravure/audio.raw

    "Rippe" les pistes audio de 1 à 4.

    Ou encore:

    cdparanoia -d /dev/hdc --batch 1-20 track.wav

    Créera les fichiers 1.track.wav, 2.track.wav, 3.track.wav etc (vérifier que le CDRom est bien /dev/hdc).

    Il est également possible de ripper avec konqueror. Insérer le CDrom dans le lecteur de CDRom et taper ensuite audiocd:/ dans la barre url et les pistes du CD audio apparaissent alors en format .cda ou .wav. Faire alors un copier - coller d'un fichier .wav présent dans le répertoire "By Track" ou "No File vers une autre fenêtre konqueror.

    Ensuite graver le CD audio avec Cdrdao.





  10. Cdrdao - graver un CD audio
  11. Le logiciel qui permet de graver un CD audio, après le rippage avec Cdparanoia, sans avoir des blancs de 2 secondes, c'est cdrdao. Il travaille a partir du fichier extrait plus haut avec Cdparanoia (audio.raw ici), et d'un fichier table des matieres:

    Taper pour constituer le fichier table des matières (audio.toc), "Table Of Content" (toc) en anglais:

    
    cdrdao read-toc --device 0,0,0  --driver generic-mmc --datafile audio.raw audio.toc
    
    

    Ici le lecteur a l'adresse 0,0,0.
    Pour connaître la votre, taper:

    
        cdrecord --scanbus
    
    

    Le lecteur est ici le 0,0,0 (vérifier avec cdrecord --scanbus en termes scsi, c'est un generic-mmc (ils le sont tous maintenant), on lui dit ou sont les données "datafile" (audio.raw ici), cdrdao en a besoin pour constituer son fichier table des matières, et enfin le nom de ce fichier table des matières, audio.toc dans cet exemple.

    Et enfin pour graver, aussi avec cdrdao qui se base sur la table des matières générée précédemment (audio.toc):

    
    cdrdao write --device 0,0,0 --driver generic-mmc --speed 4 --eject audio.toc
    
    

    Dans ce cas le graveur est le 0,0,0, c'est un mmc, vitesse 4. Toutes les autres infos sont dans audio.toc (table des matières) qui indique où sont les fichiers à graver.

    Pour des examples d'utilisation de cdrdao, voir:

    http://cdrdao.sourceforge.net/example.html

    Remarque: "dao" vient de "Disk at Once".

    Pour télécharger cdrdao: http://cdrdao.sourceforge.net/index.html.

    Cdrdao est également fourni en paquet .rpm par SuSE 7.2.



  12. Convertir des fichiers mp3 en format audio et les graver:
  13. Il faut disposer du programme mpg123. on peut le télécharger sur:

    http://www.mpg123.de/.

    Le paquet est également disponible en format .rpm sur les CD d'installation de SuSE 7.2.

    Pour convertir un fichier .mp3 en .cdr, il suffit de saisir la commande:

    
        mpg123 -s chanson1.mp3 > chanson1.cdr
    
    

    Cela ne marche pas à tous les coups. J'ai lu que pour faire du .cdr, l'enregistrement doit être un multiple de 2352 octets, or parfois mpg123 ne respecte pas cette règle et du coup on se fait jeter par cdrecord
    (cfr http://www.funix.org/fr/linux/main-linux.php3?ref=graver&page=menu).

    Je n'ai pas utilisé cette dernière commande et je ne peux pas la garantir.
    Personnellement, j'ai créé un répertoire /gravure/mp3/ dans lequel je place tous les fichiers mp3 et un répertoire /gravure/cdr/ dans lequel je place toutes les copies en format audio .cdr.

    Je me place dans le répertoire /gravure/mp3/ et je saisis donc la commande:

    
        mpg123 --cdr - chanson1.mp3 >  /gravure_image/cdr/trackX.cdr
    
    

    X = 1,2,3,etc ...

    Puis on grave:

    
        cdrecord -v -eject speed=X dev=X,X,X -pad -audio track1.cdr track2.cdr track3.cdr track ...
    
    

    -v: mode verbeux --cdr: gravage au format cdr. Certaines versions de mpg123 exigeraient l'option -s plutôt (voir plus haut)
    -pad: cette option s'est avérée nécessaire chez moi pour ne pas avoir de message d'erreur (voir man mpg123).
    Ajouter l'option -dummy pour tester.

    On peut utiliser le raccourci:

    
        cdrecord -v -eject speed=X dev=X,X,X -pad -audio track*.cdr
    
    

    Ou encore:

    
        cdrecord -v -eject speed=X dev=X,X,X -pad -audio *.cdr
    
    

    Dans ce cas les fichiers sont gravés dans l'ordre alphabétique.



  14. Diverses conversions de format audio avec lame et sox.
  15. Ces deux logiciels permettent de convertir d'un format à l'autre:





  16. GRAMOFILE:
  17. Permet d'enregistrer des signaux audio (vinyls, radio, etc) et de les convertir en format .wav.

    Livré avec SuSE 7.1 et 7.2. Il suffit d'installer le paquet et de taper gramofile en mode console. Les instructions sont clairs, le programme demande où se trouve le répertoire dans lequel stocker les fichiers .wav créés.

    L'entrée des signaux audio doit se faire par l'entrée micro de la carte son.
    Personnellement j'ai commencer à utiliser la sortie casque de mon ampli (pas vraiment la qualité supérieure) puis je suis passé à la sortie tape/rec2 de l'ampli.

    Attention!!!: votre carte son fonctionne impeccablement (driver installé avec Alsa, le mixer kmix ou autre est opérationnel, tout va bien, vous lancez gramofile, vous enregistrez quelques minutes puis stop, vous voulez réécouter et ... rien!!

    J'ai chipoté longtemps jusqu'au moment où j'ai compris (par hasard) qu'il fallait déplacer le curseur "igain" du mixer. Pour pouvoir enregistrer le signal audio en un fichier .wav, il faut encore faire un "gain d'entrée ou input gain = igain") soit l'équivalent d'un record level pour ceux qui se souviennent encore des enregistrement sur bandes ou cassettes façon manuelle.
    Gramofile serait parfait s'il permettait d'écouter le signal ainsi accru.
    Faire peut-être gaffe avec "igain". Avec gramofile on voit apparaître deux curseurs qui indiquent l'intensité du signal ainsi accru. Il faudrait peut-être éviter que ce signal soit trop accru mais c'est difficile à manipuler avec gramofile
    J'ai enegistré quelques vinyls avec beaucoup de satisfaction.



  18. ECASOUND:
  19. Un autre logiciel qui permet de convertir des signaux audio en fichiers .wav
    Plus évolué que gramofile.
    Est fourni pas SuSE 7.X.
    Voir le man.

    Les lignes de commande à cet usage sont du type:

    
        # ecasound -i:chanson.wav -o:chanson.cdr
            "-i" = "input"; "-o" = "output"
                       ou
        # ecasound -i chanson.wav -o chanson.cdr
    
        Convertit donc un fichier .wav en un fichier .cdr
    
        # ecasound -c -i chanson.wav -o chanson.cdr
    
        Comme auparavant mais en mode interactif (flag -c) ("start", "stop", "pause", etc).
    
        # qtecasound -i chanson.wav -o chanson.cdr
    
        Cette fois-ci en mode graphique (donc interactif).
    
        

    ecasound permet aussi découter un fichier audio:

    
        # ecasound -i ma_chanson.wav
                  ou
        # ecasound -i ma_chanson -o /dev/dsp
              /dev/dsp est l'"output" par défaut et ne doit pas être précisé normalement.
    
        

    Pour enregistrer des signaux audio à partir d'une carte son:

    
        # ecasound -i:/dev/dsp0 -o ma_chanson.wav
                          ou
        # ecasound -i:/dev/dsp0 -o ma_chanson.wav -c
            mode intéractif
        # qtecasound -i:/dev/dsp0 -o ma_chanson.wav
        		en mode graphique
    
        

    Ci-dessous, les sites à consulter (doc et téléchrgement):

    ou http://www.wakkanet.fi/~kaiv/ecasound/welcome.html

    http://www.wakkanet.fi/~kaiv/ecasound/Documentation/



  20. FICHIERS .ogg:
  21. Courtesy of Anders Johansson andjoh@cicada.linux-site.net

    Please consider using the free format ogg vorbis, instead of the proprietary format mp3. It is very easy ripping music cds to ogg format using kde 2.2. Simply type audiocd:/ in konqueror's url bar, and enter the ogg directory and use copy/paste on the files you find there.

    I'm sorry, the directory is called "Ogg Vorbis", not "ogg". It requires that you have libogg and libvorbis installed, as well as the ogg vorbis utils. They can be found either on www.vorbis.com or in the SuSE kde 2.2 download directory on either ftp.kde.org or ftp.suse.com. It also requires that you either install the suse kde binaries, or if you compile yourself, that you enable ogg vorbis support when you compile kdelibs (I forget the actual parameter to configure, but ./configure --help will tell you).

    As for the manual, I haven't been able to find a reference to ogg vorbis support in the manuals. There isn't much on the audiocd io slave at all. But if you have everything properly set up, if you start kde control centre, and go to sound->audiocd io slave there will be a tab "Ogg vorbis settings".

    To your other question: you paste the files wherever you want on your harddrive, just like any other file copy. They will be copied and converted to ogg format automatically.

    From the command line, use oggenc For just one file, do

    oggenc -o nameofoggfile.ogg nameofwavfile.wav

    If you're ripping a whole cd, with cdparanoia, and you have a directory with files track01.wav, track02.wav etc here's what I do

    oggenc -l "Name of album" -a "Name of artist" -t "Name of first track" -t "Name of second track" -t (and so on for all tracks) *.wav

    But, as I said, if you can get it to work in konqueror, that's much easier





Ensemble des URL intéressants:

Toutes les applications pour la manipulation du son et le gravage des CD:


http://www.mp3-converter.com/linux/index.htm