Ripper ses CD audio

Par , le . Dernière mise à jour le .

« Ripper » un CD audio, c'est en extraire le flux audio sans perte pour le copier sur un ordinateur. L'objectif est de le ré-empaqueter pour qu'il soit lisible sans lecteur de CD. Ici je ne souhaite pas particulièrement être en mesure de produire un duplicata du disque d'origine. En revanche nous allons nous assurer d'en avoir extrait tout le contenu sans en laisser une miette.


Tout d'abord je créé un répertoire qui va contenir mes fichiers temporaires puis mon fichier final et je place mon shell dans ce répertoire.

Une fois mon cd disposé dans mon lecteur, j'utilise la commande cd-info > cd-info.log qui me renvoie :

cd-info version 2.1.0 x86_64-pc-linux-gnu
Copyright (c) 2003-2005, 2007-2008, 2011-2015, 2017 R. Bernstein
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
CD location   : /dev/cdrom
CD driver name: GNU/Linux
   access mode: IOCTL

Vendor                      : MATSHITA
Model                       : DVD-RAM UJ8A7AS 
Revision                    : 1.00
Hardware                                  : CD-ROM or DVD
Can eject                                 : Yes
Can close tray                            : No
Can disable manual eject                  : Yes
Can select juke-box disc                  : No

Can set drive speed                       : No
Can read multiple sessions (e.g. PhotoCD) : Yes
Can hard reset device                     : Yes

Reading....
  Can read Mode 2 Form 1                  : Yes
  Can read Mode 2 Form 2                  : Yes
  Can read (S)VCD (i.e. Mode 2 Form 1/2)  : Yes
  Can read C2 Errors                      : Yes
  Can read IRSC                           : Yes
  Can read Media Channel Number (or UPC)  : Yes
  Can play audio                          : Yes
  Can read CD-DA                          : Yes
  Can read CD-R                           : Yes
  Can read CD-RW                          : Yes
  Can read DVD-ROM                        : Yes

Writing....
  Can write CD-RW                         : Yes
  Can write DVD-R                         : Yes
  Can write DVD-RAM                       : Yes
  Can write DVD-RW                        : No
  Can write DVD+RW                        : No
__________________________________

Disc mode is listed as: CD-DA
CD-ROM Track List (1 - 12)
  #: MSF       LSN    Type   Green? Copy? Channels Premphasis?
  1: 00:02:00  000000 audio  false  no    2        no
  2: 03:31:06  015681 audio  false  no    2        no
  3: 05:54:32  026432 audio  false  no    2        no
  4: 08:55:71  040046 audio  false  no    2        no
  5: 12:31:27  056202 audio  false  no    2        no
  6: 15:14:49  068449 audio  false  no    2        no
  7: 18:43:14  084089 audio  false  no    2        no
  8: 20:35:60  092535 audio  false  no    2        no
  9: 23:54:39  107439 audio  false  no    2        no
 10: 26:30:65  119165 audio  false  no    2        no
 11: 29:53:35  134360 audio  false  no    2        no
 12: 33:02:06  148506 audio  false  no    2        no
170: 38:23:11  172586 leadout (387 MB raw, 387 MB formatted)
Media Catalog Number (MCN): 0000000000000
TRACK  1 ISRC: FRI420040010
TRACK  2 ISRC: FRI420040020
TRACK  3 ISRC: FRI420040030
TRACK  4 ISRC: FRI420040040
TRACK  5 ISRC: FRI420040050
TRACK  6 ISRC: FRI420040060
TRACK  7 ISRC: FRI420040070
TRACK  8 ISRC: FRI420040080
TRACK  9 ISRC: FRI420040090
TRACK 10 ISRC: FRI420040100
TRACK 11 ISRC: FRI420040110
TRACK 12 ISRC: FRI420040120
Last CD Session LSN: 0
audio status: no status
volume level port 0: 255 (0..255) 100 (0..100)
volume level port 1: 255 (0..255) 100 (0..100)
volume level port 2:   0 (0..255)   0 (0..100)
volume level port 3:   0 (0..255)   0 (0..100)
__________________________________
CD Analysis Report
Audio CD, CDDB disc ID is 8f08fd0c
++ WARN: unknown host name
++ WARN: command data missing
cd-info: command data missing
No CD-TEXT on Disc.

Notez que toutes les pistes mentionnées sont de type audio, et aucune n'est de type data. Par ailleurs le listing mentionne Last CD Session LSN: 0, indiquant que la dernière session du disque démarre à zéro. Autrement dit : il n'y a qu'une seule session, et toutes ses pistes sont de type audio, nous avons affaire à un CD audio numérique (CDDA) Red Book standard. On peut donc continuer.

Ensuite, je vais utiliser la commande¹ cdparanoia -O 102 -XB pour effectuer mon rip. La valeur « 102 » est spécifique à mon lecteur de CD, et correspond à un décalage de tout le train d'octets pour obtenir un résultat exact. Il existe des tableaux qui listent ces décalage en fonction du modèle². Le paramètre « X » va faire échouer la commande dès la première erreur, et le paramètre « B » va produire 1 fichier par piste. À ce stade on obtient une liste de fichier du type :

track01.cdda.wav  track02.cdda.wav  track03.cdda.wav
track04.cdda.wav  track05.cdda.wav  track06.cdda.wav
track07.cdda.wav  track08.cdda.wav  track09.cdda.wav
track10.cdda.wav  track11.cdda.wav  track12.cdda.wav

On souhaite maintenant s'assurer que le rip est correct. Pour cela on va utiliser la commande arver *.wav > accuraterip.log pendant que le disque est encore dans le lecteur. Cette commande³ va calculer des sommes de contrôle des fichiers wav en utilisant l'aglorithme AccurateRip et comparer les résultats avec la base de données d'AccurateRip. Plus de gens auront rippé le même disque et obtenu le même résultat, plus on pourra avoir confiance dans notre propre rip. Ici on obtient un rapport comme suit :

AccurateRip disc ID: 012-0012b2fc-00ad6d29-9e09bc0c
MusicBrainz disc ID: Er1eeCGmvoB_zcPaisukIRK3MU8-
Disc type: Audio CD

track     length     frames
-----    --------    ------
    1     3:51.38     17363
    2     4:07.71     18596
    3     2:44.36     12336
    4     3:02.39     13689
    5     3:36.24     16224
    6     4:05.20     18395
    7     3:26.30     15480
    8     3:07.28     14053
    9     2:39.02     11927
   10     3:35.43     16168
   11     3:25.12     15387
   12     3:50.57     17307

Got 2 AccurateRip responses (max confidence: 18)

Verifying 12 tracks:

Track 1:
        Path: track01.cdda.wav
        Copy CRC: fdf6fe36
        AccurateRip: c5e5365b (ARv2), confidence 17, response 1
Track 2:
        Path: track02.cdda.wav
        Copy CRC: 6465af95
        AccurateRip: bc4d24ea (ARv2), confidence 18, response 1
Track 3:
        Path: track03.cdda.wav
        Copy CRC: 5273a2db
        AccurateRip: e2ed53cc (ARv2), confidence 18, response 1
Track 4:
        Path: track04.cdda.wav
        Copy CRC: 04810779
        AccurateRip: 94ad0e74 (ARv2), confidence 18, response 1
Track 5:
        Path: track05.cdda.wav
        Copy CRC: 7644702c
        AccurateRip: 7a91bb3e (ARv2), confidence 18, response 1
Track 6:
        Path: track06.cdda.wav
        Copy CRC: 2c41212e
        AccurateRip: b44171af (ARv2), confidence 17, response 1
Track 7:
        Path: track07.cdda.wav
        Copy CRC: beb6f071
        AccurateRip: 1f3330b0 (ARv2), confidence 18, response 1
Track 8:
        Path: track08.cdda.wav
        Copy CRC: 601f71fd
        AccurateRip: aff8466b (ARv2), confidence 18, response 1
Track 9:
        Path: track09.cdda.wav
        Copy CRC: 9ad2b7b2
        AccurateRip: 2ce3f58a (ARv2), confidence 17, response 1
Track 10:
        Path: track10.cdda.wav
        Copy CRC: 592318b6
        AccurateRip: 3c7ae124 (ARv2), confidence 17, response 1
Track 11:
        Path: track11.cdda.wav
        Copy CRC: d0b29cf6
        AccurateRip: b8555446 (ARv2), confidence 18, response 1
Track 12:
        Path: track12.cdda.wav
        Copy CRC: 86173d2a
        AccurateRip: b2a80fe2 (ARv2), confidence 18, response 1

          file name               result    checksum    type    conf    resp
------------------------------    ------    --------    ----    ----    ----
track01.cdda.wav                      OK    c5e5365b    ARv2      17       1
track02.cdda.wav                      OK    bc4d24ea    ARv2      18       1
track03.cdda.wav                      OK    e2ed53cc    ARv2      18       1
track04.cdda.wav                      OK    94ad0e74    ARv2      18       1
track05.cdda.wav                      OK    7a91bb3e    ARv2      18       1
track06.cdda.wav                      OK    b44171af    ARv2      17       1
track07.cdda.wav                      OK    1f3330b0    ARv2      18       1
track08.cdda.wav                      OK    aff8466b    ARv2      18       1
track09.cdda.wav                      OK    2ce3f58a    ARv2      17       1
track10.cdda.wav                      OK    3c7ae124    ARv2      17       1
track11.cdda.wav                      OK    b8555446    ARv2      18       1
track12.cdda.wav                      OK    b2a80fe2    ARv2      18       1

All tracks verified successfully.

Ici la base AccurateRip dispose de 2 réponses, et notre rip est en accord avec celui ayant le plus grand indice de confiance. C'est rassurant. Vous pouvez noter également les identifiant AccurateRip (012-0012b2fc-00ad6d29-9e09bc0c) et MusicBrainz (Er1eeCGmvoB_zcPaisukIRK3MU8-). Ils sont calculés à partir du support, et identifient donc la release. En particulier la dernière partie de l'identifiant AccurateRip (9e09bc0c) est calculée à partir de la table des matières. On peut également la retrouver avec la commande cd-discid et correspond à l'identifiant CDDB du disque.

Nous allons maintenant extraire la table des matières de notre disque avec la commande cdrdao read-toc data.toc qui va écrire dans le fichier « data.toc » :

CD_DA


// Track 1
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
ISRC "FRI420700010"
FILE "data.wav" 0 03:50:38


// Track 2
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
ISRC "FRI420700020"
FILE "data.wav" 03:50:38 04:05:71
START 00:01:00


// Track 3
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
ISRC "FRI420700030"
FILE "data.wav" 07:56:34 02:47:36
START 00:03:00


// Track 4
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
ISRC "FRI420700040"
FILE "data.wav" 10:43:70 03:02:39


// Track 5
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
ISRC "FRI420700050"
FILE "data.wav" 13:46:34 03:34:27


// Track 6
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
ISRC "FRI420700060"
FILE "data.wav" 17:20:61 04:05:19
START 00:01:72


// Track 7
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
ISRC "FRI420700070"
FILE "data.wav" 21:26:05 03:27:30
START 00:01:73


// Track 8
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
ISRC "FRI420700080"
FILE "data.wav" 24:53:35 03:07:63
START 00:00:73


// Track 9
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
ISRC "FRI420700090"
FILE "data.wav" 28:01:23 02:37:43
START 00:00:38


// Track 10
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
ISRC "FRI420700100"
FILE "data.wav" 30:38:66 03:36:41
START 00:01:72


// Track 11
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
ISRC "FRI420700110"
FILE "data.wav" 34:15:32 03:23:13
START 00:00:74


// Track 12
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
ISRC "FRI420700120"
FILE "data.wav" 37:38:45 03:53:55
START 00:02:73

Ici ce n'est pas le cas, mais s'il y avait des informations complémentaires du type CD-TEXT sur le CD, elles auraient été intégrées dans cette sortie. Une autre information importante est ressortie ici : ce sont les « pregaps », ces temps entre la fin d'une piste et le début de la suivante, qui sont plus fréquents sur les albums live que studio.

Nous allons maintenant changer le format de cette table des matières pour le format CUE avec la commande cueconvert data.toc > data.cue, ce qui produit le fichier data.cue :

FILE "data.wav" WAVE
TRACK 01 AUDIO
ISRC FRI420700010
INDEX 01 00:00:00

TRACK 02 AUDIO
ISRC FRI420700020
INDEX 00 03:50:38
INDEX 01 03:51:38

TRACK 03 AUDIO
ISRC FRI420700030
INDEX 00 07:56:34
INDEX 01 07:59:34

TRACK 04 AUDIO
ISRC FRI420700040
INDEX 01 10:43:70

TRACK 05 AUDIO
ISRC FRI420700050
INDEX 01 13:46:34

TRACK 06 AUDIO
ISRC FRI420700060
INDEX 00 17:20:61
INDEX 01 17:22:58

TRACK 07 AUDIO
ISRC FRI420700070
INDEX 00 21:26:05
INDEX 01 21:28:03

TRACK 08 AUDIO
ISRC FRI420700080
INDEX 00 24:53:35
INDEX 01 24:54:33

TRACK 09 AUDIO
ISRC FRI420700090
INDEX 00 28:01:23
INDEX 01 28:01:61

TRACK 10 AUDIO
ISRC FRI420700100
INDEX 00 30:38:66
INDEX 01 30:40:63

TRACK 11 AUDIO
ISRC FRI420700110
INDEX 00 34:15:32
INDEX 01 34:16:31

TRACK 12 AUDIO
ISRC FRI420700120
INDEX 00 37:38:45
INDEX 01 37:41:43

On serait tenté d'utiliser la commande toc2cue qui vient avec cdrdao mais hélas elle omet les ISRC, et peut-être ausi les CD-TEXT…

Vous avez peut-être remarqué que les fichiers toc et cue mentionnaient un fichier data.wav, dont nous ne disposons pas puisque nous avons rippé les pistes de manière indépendantes. Nous allons maintenant les joindre pour obtenir ce fichier avec la commande¹¹  shnjoin track{01..12}.cdda.wav; mv joined.wav data.wav.

Pour se réassurer plus tard que tout ce que nous faisons est sans perte et réversible, nous pouvons calculer l'empreinte MD5 de nos fichiers wav : md5sum track{01..12}.cdda.wav data.wav.

5e28c57952eabf504273253fdaee40f3  track01.cdda.wav
9a191693b31787d7ebe1a68cb7adf18a  track02.cdda.wav
38fb34241788fb902ce426d6421a37ed  track03.cdda.wav
5b7de2131bb2c25f1460754ce27e5693  track04.cdda.wav
1d0493a7d7271c4eff5784ffab32cd17  track05.cdda.wav
118d34ad57251c894b86eafffa5bf223  track06.cdda.wav
ab35a05025029ad2c631a1974666c4ca  track07.cdda.wav
a3e910ff435f09c82e9b8705c3086830  track08.cdda.wav
c56b7b6b185a4b83c40478556f432b3e  track09.cdda.wav
dcd5ace2a84201de79d0e5a677f65b4d  track10.cdda.wav
092c98347a1d26299a7a24d4289f0a5b  track11.cdda.wav
dfde6165644354c831540b09b9f0e893  track12.cdda.wav
efa0712d5c9b43cf2580f0c75582a283  data.wav

Intéressons-nous maintenant aux métadonnées du disque. Nous allons préparer un fichier data.meta qui va toutes les contenir. Les métadonnées pour le format flac sont des commentaires Vorbis. En soit les champs sont libres, mais xiph.org liste des noms standardisés pour les métadonnées de bases. Nous les utiliserons au maximum, et nous en créerons d'autres pour l'occasion.

Tout d'abord nous allons regarder au dos du disque, sur la partie brillante à l'intérieur du disque, que l'on appelle la zone matricielle. Sur mon disque, on peut voir un code barre puis lire « M0041424 », puis « ifpi L596 » et enfin « 1 / 3127482 ». Ensuite sur la partie non brillante, encore plus à l'intérieur du disque on peut lire « IFPI 1A19 ». Ce sont des codes SID (Source Identification Code) et ils identifient le master en verre ainsi que l'usine et le moule. « ifpi L596 » est un code attribué à la société SNA. « IFPI 1A19 » identifie le moule. Éditons le fichier data.meta :

MATRIX_INFO=M0041424 ifpi L596 1 / 3127482
MOULD_SID=IFPI 1A19

Grâce à ces codes, on peut croiser nos informations avec le site discogs.com et on trouve la page correspondant à notre release. On retrouve « 3127482 », également présent au dos du boitier et qui est clairement un numéro de catalogue, ainsi que « M0041424  (mais je ne sais pas à quoi cela correspond)».

CATALOGNUMBER=3127482

Au dos du boitier, on peut trouver la mention « LC 12545 ». Un recherche nous apprends que ce code identifie le label Wagram Music (également mentionné sur le disque et sur le boitier), « LC » signifiant Label Code.

ORGANIZATION=Wagram Music
LABEL_CODE=LC 12545

On peut reporter le code EAN à 13 chiffres présent sous le code barre :

BARCODE=3596971274825

Reportons également les identifiants MusicBrainz, AccurateRip, CDDB et Discogs que nous avons trouvé jusque là :

MUSICBRAINZ_DISCID=Er1eeCGmvoB_zcPaisukIRK3MU8-
CDDB_DISCID=9e09bc0c
ACCURATERIP_DISCID=012-0012b2fc-00ad6d29-9e09bc0c
DISCOGS_RELEASEID=r1929160

On trouve également un mention de copyright (et donc de date) sur le disque et sur le boitier :

COPYRIGHT=(P) & (C) 2007 accelera son
DATE=2007

On peut finir avec le nom de l'artiste et le titre de l'album :

ARTIST=Pauline Croze
ALBUM=Un Bruit Qui Court

Puisque nous allons produire un fichier unique au format flac pour tout l'album, nous ne pouvons pas donner les métadonnées de chaque piste. Le format ne le permet pas. Nous pourrions le faire en encapsulant notre futur flac dans un conteneur matroska par exemple, mais ce n'est pas mon objectif ici. En revanche, nous allons embarquer nos fichiers de toc et cue en tant que métadonnées. Ici la table des matières ne contenant pas de métadonnées pour les pistes en dehors de l'ISRC, le fichier cue non plus. Mais nous pouvons l'alimenter à la main si nous le souhaitons. Cela nous permettra de définir une procédure pour l'extraire puis découper l'album par piste puis tagguer chaque piste grâce au fichier cue extrait. En se basant sur le livret, on obtient cette nouvelle version de data.cue :

REM DATE 2007
CATALOG 3596971274825
PERFORMER "Pauline Croze"
TITLE "Un Bruit Qui Court"

FILE "data.wav" WAVE
TRACK 01 AUDIO
ISRC FRI420700010
TITLE "Faux Contacts"
PERFORMER "Pauline Croze"
INDEX 01 00:00:00

TRACK 02 AUDIO
ISRC FRI420700020
TITLE "Un Bruit Qui Court"
PERFORMER "Pauline Croze"
INDEX 00 03:50:38
INDEX 01 03:51:38

TRACK 03 AUDIO
ISRC FRI420700030
TITLE "Décembre"
PERFORMER "Pauline Croze"
INDEX 00 07:56:34
INDEX 01 07:59:34

TRACK 04 AUDIO
ISRC FRI420700040
TITLE "Les Gens Qui Jasent"
PERFORMER "Pauline Croze"
INDEX 01 10:43:70

TRACK 05 AUDIO
ISRC FRI420700050
TITLE "Jour De Foule"
PERFORMER "Pauline Croze"
INDEX 01 13:46:34

TRACK 06 AUDIO
ISRC FRI420700060
TITLE "Nous Voulons Vivre"
PERFORMER "Pauline Croze"
INDEX 00 17:20:61
INDEX 01 17:22:58

TRACK 07 AUDIO
ISRC FRI420700070
TITLE "A L'Evidence"
PERFORMER "Pauline Croze"
INDEX 00 21:26:05
INDEX 01 21:28:03

TRACK 08 AUDIO
ISRC FRI420700080
TITLE "Légère (Soulève-moi)"
PERFORMER "Pauline Croze"
INDEX 00 24:53:35
INDEX 01 24:54:33

TRACK 09 AUDIO
ISRC FRI420700090
TITLE "La Couleur De La Mer"
PERFORMER "Pauline Croze"
INDEX 00 28:01:23
INDEX 01 28:01:61

TRACK 10 AUDIO
ISRC FRI420700100
TITLE "Baiser D'Adieu"
PERFORMER "Pauline Croze"
SONGWRITER "Arthur H"
INDEX 00 30:38:66
INDEX 01 30:40:63

TRACK 11 AUDIO
ISRC FRI420700110
TITLE "Sur Ton Front"
PERFORMER "Pauline Croze"
INDEX 00 34:15:32
INDEX 01 34:16:31

TRACK 12 AUDIO
ISRC FRI420700120
TITLE "Valparaiso"
PERFORMER "Pauline Croze"
INDEX 00 37:38:45
INDEX 01 37:41:43

On ne touche pas à data.toc, que l'on veut garder comme à l'original..

Il faut maintenant s'occuper des visuels. Un jour j'écrirais peut-être un autre article expliquant comment les numériser. Pour l'instant je vais supposer que vous avez numérisé la première de couverture du livret. Sachez qu'en flac, tous les visuels peuvent être enregistrés dans le fichier avec un type normalisé indiquant la nature du visuel¹⁰.

Nous sommes maintenant enfin prêts à produir le fichier flac. flac --best --verify --cuesheet=data.cue --picture='3|image/jpeg|||image_3_cover_front.jpg' --tag-from-file CDRDAO_TOC=data.toc --tag-from-file=ACCURATERIP_LOG=data.accuraterip.log --tag-from-file CUE_SHEET=data.cue --tag-from-file CDINFO_LOG=cd-info.log --output-name=data.flac -- data.wav produit le fichier data.flac.

flac 1.4.3
Copyright (C) 2000-2009  Josh Coalson, 2011-2023  Xiph.Org Foundation
flac comes with ABSOLUTELY NO WARRANTY.  This is free software, and you are
welcome to redistribute it under certain conditions.  Type `flac' for details.

data.wav: Verify OK, wrote 254109835 bytes, ratio=0,578

Enfin la commande metaflac --import-tags-from=data.meta data.flac injecte les tags trouvés dans le fichier data.meta dans le fichier flac.


À ce stade le fichier est terminé. On peut maintenant tenter de récupérer les fichiers wav d'origine afin de déterminer si la procédure est bel et bien sans perte. D'abord on va créer un répertoire temp et s'y déplacer : mkdir temp; cd temp. Ensuite nous allons regénérer le fichier wav à partir du flac : flac -d ../data.flac -o data.wav.

Nous allons maintenant extraire le fichier cue que nous avons embarqué dans les métadonnées : metaflac --show-tag=CUE_SHEET data.flac|sed -e 's/^CUE_SHEET=//'|head -c -1 > data.cue. Il va nous servir à découper le fichier data.wav avec la commande¹¹ shnsplit : shnsplit -f data.cue -t track%n.cdda data.wav. Nous pouvons calculer l'empreinte MD5 de nos nouveaux fichiers wav et constater que ce sont les mêmes que nos originaux : md5sum track{01..12}.cdda.wav data.wav.

5e28c57952eabf504273253fdaee40f3  track01.cdda.wav
9a191693b31787d7ebe1a68cb7adf18a  track02.cdda.wav
38fb34241788fb902ce426d6421a37ed  track03.cdda.wav
5b7de2131bb2c25f1460754ce27e5693  track04.cdda.wav
1d0493a7d7271c4eff5784ffab32cd17  track05.cdda.wav
118d34ad57251c894b86eafffa5bf223  track06.cdda.wav
ab35a05025029ad2c631a1974666c4ca  track07.cdda.wav
a3e910ff435f09c82e9b8705c3086830  track08.cdda.wav
c56b7b6b185a4b83c40478556f432b3e  track09.cdda.wav
dcd5ace2a84201de79d0e5a677f65b4d  track10.cdda.wav
092c98347a1d26299a7a24d4289f0a5b  track11.cdda.wav
dfde6165644354c831540b09b9f0e893  track12.cdda.wav
efa0712d5c9b43cf2580f0c75582a283  data.wav

Supprimons ces wav : rm *.wav.


On peut également s'amuser à découper le flac en pistes et les tagguer grâce au fichier cue embarqué. Cela peut s'avérer plus pratique de manipuler les pistes isolées plutôt que l'album entier.

On réutilise la command shnsplit mais cette fois-ci en sortant du flac à partir du flac complet : shnsplit -f data.cue -t track%n.cdda -o flac ../data.flac. On obtient 1 fichier flac par piste.

On va utiliser la commande cuetag.sh pour tagguer ces pistes grâce au fichier cue que nous avons alimenté avecle nom des pistes : cuetag.sh data.cue track{01..12}.cdda.flac.

C'est à vous de décider s'il est plus pratique pour vous de travailler avec 1 seul fichier pour tout l'album ou avec autant de fichier que de pistes.


1 : Cf. https://xiph.org/paranoia/

2 : Cf. http://www.accuraterip.com/driveoffsets.htm

3 : Cf. https://github.com/arcctgx/ARver.

4 : Cf. http://www.accuraterip.com/.

5 : Cf. https://github.com/taem/cd-discid.

6 : Cf. https://github.com/cdrdao/cdrdao.

7 : Cf. https://github.com/svend/cuetools.

8 : Cf. https://xiph.org/vorbis/doc/v-comment.html#fieldnames.

9 : Cf. https://musicbrainz.org/label/8387a032-b837-4bbf-b6e5-99ad9f7a0bdd.

10 : Cf. https://xiph.org/flac/format.html#metadata_block_picture.

11 : Cf. https://github.com/bayun/shntool.