Debian Debian-France Debian-Facile Debian-fr.org Debian-fr.xyz Debian ? Communautés

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#76 28-01-2022 22:30:25

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : bookworm unstable sid / bullseye (stable)
Noyau : Linux sid 5.17.0-1-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : [En cours ...] Tester mon script pour archivage Compact Disc

amicalement ,

alain .

coyotus.png

si plus tard tu as besoin de moi ...

n'hésite pas .

je suis très loin de tout connaître mais ce sera avec plaisir .


woohoo.gif

Dernière modification par Debian Alain (28-01-2022 22:31:25)

Hors ligne

#77 28-01-2022 22:36:21

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.17.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : [En cours ...] Tester mon script pour archivage Compact Disc

wink

@++

Hors ligne

#78 29-01-2022 14:01:29

robert2a
Membre
Distrib. : Buster 10 version 10.11
Noyau : kernel buster backports
(G)UI : Mate
Inscription : 15-11-2014

Re : [En cours ...] Tester mon script pour archivage Compact Disc

re,

mon test


bash test4.sh
yatoc2cue présent, on peut donc continuer.
Un CD Audio détecté, on continue ...

Server(s) trouvé(s) :
1.   ====> sur le site freac.org
2.  Jethro Tull - The very best of ====> sur le site gnudb.org
3.   ====> sur le site dbpoweramp.com

Entrer votre choix, 0 pour quitter: 2

Le nom de l'album sera donc: Jethro Tull - The very best of
Confirmé vous ce choix ? [Y/n] Y
Oui
cdparanoia III release 10.2 (September 11, 2008)


Attempting to set speed to 48x...
Ripping from sector       0 (track  1 [0:00.00])
    to sector  319182 (track 15 [4:52.52])

outputting to Jethro Tull - The very best of.wav

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

Done.


OK, Rip terminé!
On cherche l'
info sur gnudb.gnudb.org
Cdrdao version 1.2.4 - (C) Andreas Mueller <andreas@daneb.de>
/dev/sr0: HL-DT-ST DVDRAM GH22NS40  Rev: NL00
Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x20000)

Reading toc data...

Track   Mode    Flags  Start                Length
------------------------------------------------------------
 1      AUDIO   0      00:00:00(     0)     03:19:43( 14968)
 2      AUDIO   0      03:19:43( 14968)     04:19:40( 19465)
 3      AUDIO   0      07:39:08( 34433)     03:47:25( 17050)
 4      AUDIO   0      11:26:33( 51483)     06:36:52( 29752)
 5      AUDIO   0      18:03:10( 81235)     04:24:53( 19853)
 6      AUDIO   0      22:27:63(101088)     04:09:22( 18697)
 7      AUDIO   0      26:37:10(119785)     03:02:60( 13710)
 8      AUDIO   0      29:39:70(133495)     03:21:28( 15103)
 9      AUDIO   0      33:01:23(148598)     03:46:42( 16992)
10      AUDIO   0      36:47:65(165590)     03:34:40( 16090)
11      AUDIO   0      40:22:30(181680)     06:10:23( 27773)
12      AUDIO   0      46:32:53(209453)     05:39:60( 25485)
13      AUDIO   0      52:12:38(234938)     04:55:10( 22135)
14      AUDIO   0      57:07:48(257073)     08:55:32( 40157)
15      AUDIO   0      66:03:05(297230)     04:52:53( 21953)
Leadout AUDIO   0      70:55:58(319183)

PQ sub-channel reading (audio track) is supported, data format is BCD.
Raw P-W sub-channel reading (audio track) is supported.
Analyzing track 01 (AUDIO): start 00:00:00, length 03:19:43...
Analyzing track 02 (AUDIO): start 03:19:43, length 04:19:40...
Analyzing track 03 (AUDIO): start 07:39:08, length 03:47:25...
Analyzing track 04 (AUDIO): start 11:26:33, length 06:36:52...
Analyzing track 05 (AUDIO): start 18:03:10, length 04:24:53...
Analyzing track 06 (AUDIO): start 22:27:63, length 04:09:22...
Analyzing track 07 (AUDIO): start 26:37:10, length 03:02:60...
Analyzing track 08 (AUDIO): start 29:39:70, length 03:21:28...
Analyzing track 09 (AUDIO): start 33:01:23, length 03:46:42...
Analyzing track 10 (AUDIO): start 36:47:65, length 03:34:40...
Analyzing track 11 (AUDIO): start 40:22:30, length 06:10:23...
Analyzing track 12 (AUDIO): start 46:32:53, length 05:39:60...
Analyzing track 13 (AUDIO): start 52:12:38, length 04:55:10...
Analyzing track 14 (AUDIO): start 57:07:48, length 08:55:32...
Analyzing track 15 (AUDIO): start 66:03:05, length 04:52:53...
         
CDDB: Connecting to http://gnudb.gnudb.org:80/~cddb/cddb.cgi ...
CDDB: Ok.
Reading CDDB record for: e6109f0f-rock-Jethro Tull / The very best of
CDDB: Connecting to http://gnudb.gnudb.org:80/~cddb/cddb.cgi ...
CDDB: Ok.
CD-TEXT data was added to toc-file.
Reading of toc data finished successfully.
Le fichier toc ne contient pas de messages trop longs ...
Slash de type AC/DC non détecté...
Le fichier CDDB à le bon encodage UTF-8.

flac 1.3.2
Copyright (C) 2000-2009  Josh Coalson, 2011-2016  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.

Jethro Tull - The very best of.wav: wrote 423848845 bytes, ratio=0,565
Splitting [Jethro Tull - The very best of/Jethro Tull - The very best of.flac] (70:55.58) --> [Jethro Tull - The very best of/FLACS/split-track01.flac] (3:19.43) : 100% OK
Splitting [Jethro Tull - The very best of/Jethro Tull - The very best of.flac] (70:55.58) --> [Jethro Tull - The very best of/FLACS/split-track02.flac] (4:19.40) : 100% OK
Splitting [Jethro Tull - The very best of/Jethro Tull - The very best of.flac] (70:55.58) --> [Jethro Tull - The very best of/FLACS/split-track03.flac] (3:47.25) : 100% OK
Splitting [Jethro Tull - The very best of/Jethro Tull - The very best of.flac] (70:55.58) --> [Jethro Tull - The very best of/FLACS/split-track04.flac] (6:36.52) : 100% OK
Splitting [Jethro Tull - The very best of/Jethro Tull - The very best of.flac] (70:55.58) --> [Jethro Tull - The very best of/FLACS/split-track05.flac] (4:24.53) : 100% OK
Splitting [Jethro Tull - The very best of/Jethro Tull - The very best of.flac] (70:55.58) --> [Jethro Tull - The very best of/FLACS/split-track06.flac] (4:09.22) : 100% OK
Splitting [Jethro Tull - The very best of/Jethro Tull - The very best of.flac] (70:55.58) --> [Jethro Tull - The very best of/FLACS/split-track07.flac] (3:02.60) : 100% OK
Splitting [Jethro Tull - The very best of/Jethro Tull - The very best of.flac] (70:55.58) --> [Jethro Tull - The very best of/FLACS/split-track08.flac] (3:21.28) : 100% OK
Splitting [Jethro Tull - The very best of/Jethro Tull - The very best of.flac] (70:55.58) --> [Jethro Tull - The very best of/FLACS/split-track09.flac] (3:46.42) : 100% OK
Splitting [Jethro Tull - The very best of/Jethro Tull - The very best of.flac] (70:55.58) --> [Jethro Tull - The very best of/FLACS/split-track10.flac] (3:34.40) : 100% OK
Splitting [Jethro Tull - The very best of/Jethro Tull - The very best of.flac] (70:55.58) --> [Jethro Tull - The very best of/FLACS/split-track11.flac] (6:10.23) : 100% OK
Splitting [Jethro Tull - The very best of/Jethro Tull - The very best of.flac] (70:55.58) --> [Jethro Tull - The very best of/FLACS/split-track12.flac] (5:39.60) : 100% OK
Splitting [Jethro Tull - The very best of/Jethro Tull - The very best of.flac] (70:55.58) --> [Jethro Tull - The very best of/FLACS/split-track13.flac] (4:55.10) : 100% OK
Splitting [Jethro Tull - The very best of/Jethro Tull - The very best of.flac] (70:55.58) --> [Jethro Tull - The very best of/FLACS/split-track14.flac] (8:55.32) : 100% OK
Splitting [Jethro Tull - The very best of/Jethro Tull - The very best of.flac] (70:55.58) --> [Jethro Tull - The very best of/FLACS/split-track15.flac] (4:52.53) : 100% OK
ID=debian
On n'
est pas sous Archlinux, on essaie d'utiliser la commande cuetag.sh

Le fichier Jethro Tull - The very best of/FLACS/split-track01.flac a bien été renommé avec son numéro, ainsi que son titre:
01 - A song for Jeffrey.flac


Le fichier Jethro Tull - The very best of/FLACS/split-track02.flac a bien été renommé avec son numéro, ainsi que son titre:
02 - Beggar'
s farm.flac


Le fichier Jethro Tull - The very best of/FLACS/split-track03.flac a bien été renommé avec son numéro, ainsi que son titre:
03 - Bouree.flac


Le fichier Jethro Tull - The very best of/FLACS/split-track04.flac a bien été renommé avec son numéro, ainsi que son titre:
04 - Aqualung.flac


Le fichier Jethro Tull - The very best of/FLACS/split-track05.flac a bien été renommé avec son numéro, ainsi que son titre:
05 - Locomotive breath.flac


Le fichier Jethro Tull - The very best of/FLACS/split-track06.flac a bien été renommé avec son numéro, ainsi que son titre:
06 - Cross-eyed Mary.flac


Le fichier Jethro Tull - The very best of/FLACS/split-track07.flac a bien été renommé avec son numéro, ainsi que son titre:
07 - Thick as a brick.flac


Le fichier Jethro Tull - The very best of/FLACS/split-track08.flac a bien été renommé avec son numéro, ainsi que son titre:
08 - Living in the past.flac


Le fichier Jethro Tull - The very best of/FLACS/split-track09.flac a bien été renommé avec son numéro, ainsi que son titre:
09 - A passion play (extract).flac


Le fichier Jethro Tull - The very best of/FLACS/split-track10.flac a bien été renommé avec son numéro, ainsi que son titre:
10 - Bungle in the jungle.flac


Le fichier Jethro Tull - The very best of/FLACS/split-track11.flac a bien été renommé avec son numéro, ainsi que son titre:
11 - Minstrel in the gallery.flac


Le fichier Jethro Tull - The very best of/FLACS/split-track12.flac a bien été renommé avec son numéro, ainsi que son titre:
12 - Too old to Rock'n'roll: Too young to die.flac


Le fichier Jethro Tull - The very best of/FLACS/split-track13.flac a bien été renommé avec son numéro, ainsi que son titre:
13 - Songs from the wood.flac


Le fichier Jethro Tull - The very best of/FLACS/split-track14.flac a bien été renommé avec son numéro, ainsi que son titre:
14 - Heavy horses.flac


Le fichier Jethro Tull - The very best of/FLACS/split-track15.flac a bien été renommé avec son numéro, ainsi que son titre:
15 - Broadsword.flac

Temps total écoulé: 00:04:21  (HH:MM:SS)
 


Machines : kabylake I7 7700 , AMD 1700(X) ,AMD threadripper gen1 , AMD Raven R3 2200G , AMD FX(tm)-8320

Hors ligne

#79 29-01-2022 17:11:53

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.17.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : [En cours ...] Tester mon script pour archivage Compact Disc

@robert2a

Bonjour,

test concluant non ?:)

Hors ligne

#80 29-01-2022 17:42:03

robert2a
Membre
Distrib. : Buster 10 version 10.11
Noyau : kernel buster backports
(G)UI : Mate
Inscription : 15-11-2014

Re : [En cours ...] Tester mon script pour archivage Compact Disc

Bonjour
il me semble tongue , mais ça fait de gros dossiers ,  va falloir trouver un gros disque  wink

Machines : kabylake I7 7700 , AMD 1700(X) ,AMD threadripper gen1 , AMD Raven R3 2200G , AMD FX(tm)-8320

Hors ligne

#81 29-01-2022 17:53:26

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.17.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : [En cours ...] Tester mon script pour archivage Compact Disc

C'est du sans perte mais c'est vrai qu'on peu passer une option pour le flac pour réduire un peu smile


J'ai rajouté une option qui peu paraitre inutile mais qui peu avoir son intérêt lors de l'utilisation de programmes qui utilise le dossier ~/.cddb pour afficher les titres, grace au fichier cddb qui se stock dedans.

Exemple avec Mplayer sans connection internet et mon script pour lire les cd-audio avec choix :


Un CD Audio est détecté sur le périphérique /dev/sr0 ...
On peut continuer ...
Le dossier .cddb existe.
Le fichier 240ad514 est présent.
Le fichier 240ad514 est bien rempli.
Le fichier 240ad514 est bien encodé en UTF8.
Le fichier 240ad514 est donc bien présent, valide et bien encodé en UTF8.

Pistes sur le CD Audio :

01 - La javanaise  [1963]
02 - L'appareil à sous  [1963]
03 - Chez les yé-yé  [1963]
04 - Elaeudanla téïtéïa  [1963]
05 - Scenic railway  [1963]
06 - Le temps des yoyos  [1963]
07 - Le talkie-walkie  [1963]
08 - La saison des pluies  [1963]
09 - Amour sans amour  [1963]
10 - No no thank's no  [1963]
11 - Negative blues  [1963]
12 - Joanna  [1964]
13 - Tatoué Jérémie  [1964]
14 - Couleur café  [1964]
15 - New York USA  [1964]
16 - Machins choses  [1964]
17 - Pauvre Lola  [1964]
18 - Là-bas c'est naturel  [1964]
19 - Coco and co  [1964]
20 - Ces petits riens  [1964]

Entrer Le Numéro du Titre (ou plusieurs ex: 10 3 13) ou sur la touche Entrée pour une écoute entière :

 






Sans connection internet, c'est pratique.
Comme ces fichiers dans le script sont un peu vérifiés et parfois corrigés, c'est bien d'en faire une copie dans ce dossier et surtout le conserver.


Le fichier toc ne contient pas de messages trop longs ...
Slash de type AC/DC non détecté...
Le dossier .cddb existe.
Le fichier 240ad514 est déjà présent
Le fichier CDDB à le bon encodage UTF-8.
 



ls ~/.cddb




140fcc14  180fcd11  240ad514  2a11d214  6007c708  770f5a09  8e08020a  9a0d800c  a10fbf0c  b80fd70c  c90d090f
170c5914  1f124613  26124013  3f115415  600a3e08  8309480a  9a0c780a  9e08320b  b00fb50c  bb0d8210
 

Dernière modification par golgot200 (29-01-2022 18:07:19)

Hors ligne

#82 29-01-2022 18:31:00

robert2a
Membre
Distrib. : Buster 10 version 10.11
Noyau : kernel buster backports
(G)UI : Mate
Inscription : 15-11-2014

Re : [En cours ...] Tester mon script pour archivage Compact Disc

tu a fais tout cela de 140fcc14 a bb0d8210  ?

moi ouvert avec MPV et le cue (pas trouvé de mu3 )

sinon oui l'option est intéressante  smile

Machines : kabylake I7 7700 , AMD 1700(X) ,AMD threadripper gen1 , AMD Raven R3 2200G , AMD FX(tm)-8320

Hors ligne

#83 29-01-2022 20:19:04

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.17.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : [En cours ...] Tester mon script pour archivage Compact Disc

robert2a a écrit :

tu a fais tout cela de 140fcc14 a bb0d8210  ?

moi ouvert avec MPV et le cue (pas trouvé de mu3 )

sinon oui l'option est intéressante  smile



C'est rien, j'avais passer plus de 200 CD avant de voir qu'un truc déconnait tongue

J'ai pas compris l'histoire "MPV et le cue (pas trouvé de mu3 )"

Hors ligne

#84 29-01-2022 21:08:16

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.17.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : [En cours ...] Tester mon script pour archivage Compact Disc

Je viens de m'apercevoir dans le script d'un petit bug mineur pour un cd
Les pistes dans le tag on déjà un numéro devant chaque piste.

01 - la chanson.flac



mais le script au déchirement dans le dossier FLACS comme il est conçu me mettra :

01 - 01 - la chanson.flac



C'est balo.

J'implante vite une condition tongue

Dernière modification par golgot200 (30-01-2022 10:15:36)

Hors ligne

#85 30-01-2022 10:17:28

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.17.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : [En cours ...] Tester mon script pour archivage Compact Disc

golgot200 a écrit :

Je viens de m'apercevoir dans le script d'un petit bug mineur pour un cd
Les pistes dans le tag on déjà un numéro devant chaque piste.

01 - la chanson.flac



mais le script au déchirement dans le dossier FLACS comme il est conçu me mettra :

01 - 01 - la chanson.flac



C'est balo.

J'implante vite une condition tongue



Non, je ne touche rien étant donné que c'est dans le fichier toc dès le départ. smile

Hors ligne

#86 30-01-2022 12:08:11

robert2a
Membre
Distrib. : Buster 10 version 10.11
Noyau : kernel buster backports
(G)UI : Mate
Inscription : 15-11-2014

Re : [En cours ...] Tester mon script pour archivage Compact Disc

Bonjour
j'ai un cd "Phil Collins no disc" , il faut entrer le nom manuellement "Phil Collins Serious Hits Live"
mais bon pas un problème  smile
le reste est correct toujours

ps: une question bête , du dossier audio tu garde quoi , tout ?

je vais tester plusieurs lecteurs audio  smile

nota : trouver le ".m3u" dans le dossier "flac"  tongue  ( et pas ".mu3" ).
des fois on tombe sur des trucs => extrait bande originale : "comme un aimant" (pas de titre cd (mit manuellement) , pas de titre des morceaux (2 track )
mais bon un cd audio exotique  wink (l'artiste Cunnie Williams )
je continue ..........

retour d'expérience :
petit souci sûrement avec le serveur choix 2
petit souci cd illisible (nettoyer)
souci sur cd 2 chansons ( single ) manque titre morceau
sinon ça roule suis a 12 ........  tongue
pas ce problème pour l'instant "01 - 01 - la chanson.flac" , mais ne me dérange pas

Dernière modification par robert2a (30-01-2022 17:46:16)


Machines : kabylake I7 7700 , AMD 1700(X) ,AMD threadripper gen1 , AMD Raven R3 2200G , AMD FX(tm)-8320

Hors ligne

#87 30-01-2022 21:04:30

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.17.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : [En cours ...] Tester mon script pour archivage Compact Disc

Bonsoir robert2a
Pour le cd audio, je garde tout

le wav et son fichier toc
le fichier tag ( pour retouche éventuelle )
le cue pour le wav ou le gros flac qui est en plus tagguer
le fichier cddb (utile)
les flacs déchirés et son m3u
enfin tout ( On sait jamais )

Le problème pour "01 - 01 - la chanson.flac", ce n'est pas la faute du script mais du CD mal foutu. En éditant le fichier toc, on arrive à virer cette aspect. ( mais il faut lancer les commandes en dehors du script petit à petit.

Le server des fois n'accroche pas mais ça on augmanter les requêtes et les temps dans le script :


--connect-timeout 3 --max-time 10 --retry 1
 



Donc, si je comprend bien tu es parti dans la sauvegarde big_smile

Hors ligne

#88 30-01-2022 22:08:49

robert2a
Membre
Distrib. : Buster 10 version 10.11
Noyau : kernel buster backports
(G)UI : Mate
Inscription : 15-11-2014

Re : [En cours ...] Tester mon script pour archivage Compact Disc

Bonsoir

oui sauvegarde , et je viens de trouver tous ceux de mon fils  , pas près de finir  ..............  roll

Machines : kabylake I7 7700 , AMD 1700(X) ,AMD threadripper gen1 , AMD Raven R3 2200G , AMD FX(tm)-8320

Hors ligne

#89 31-01-2022 14:25:45

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.17.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : [En cours ...] Tester mon script pour archivage Compact Disc

Bonjour,

cdrdao fait des siennes sur la création du fichier toc. Je m'explique. Il ne veut pas prendre en compte les <<'>> accollés derrière certains mots.
exemple sur un de mes CD :

"Bringin? On The Heartbreak" qui devrait être "Bringin' On The Heartbreak"

mais bizarrement les <<?>> du style question :

Voulez-vous ? (avec espaces en somme), ça passe.

J'ai donc mis une option pour vérifier le fichier TOC pour éventuellement le corriger. Si dans les 10 secondes, pas de réponse, le script continue.
Je trouve ça pas mal. Ça ne gène pas la poursuite du script et surtout ça nous évite un boulot chiant. big_smile


EDIT: Nickel cette option smile


Message(s) trop long(s)
Supression du message à la ligne 10
Slash de type AC/DC non détecté...
Voulez-vous vérifier le fichier TOC ? [Y/n]
Le dossier .cddb existe.
Le fichier ed113010 est déjà présent
Le fichier CDDB à le bon encodage UTF-8.
 



Je vais ajouter un message Wait 10 secondes ...

Dernière modification par golgot200 (31-01-2022 14:47:33)

Hors ligne

#90 01-02-2022 09:44:23

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.17.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : [En cours ...] Tester mon script pour archivage Compact Disc

Bonjour,

Pour test :


#!/bin/bash
## Programmes : cdparanoia cdrdao flac cuebreakpoints setcd shntool yatoc2cue
#### http://freedb.dbpoweramp.com:80
#### --driver generic-mmc:0x20000 n'est pas nécessaire pour la génération seule du TOC
#### metaflac --export-tags-to=file.txt "FICHIER.flac"
#### Supression de l'option --fast-toc dans la commande cdrdao -- SIZE_INFO & ISRC pour Nina Hagen résolu

#### Ajout de l'option --datafile "$ALBUMNAME.wav" dans la commande "cdrdao read-toc --fast-toc" pour changer "data.wav" dans le fichier toc.
#### Plus pratique pour une éventuelle gravure par le cue avec "ex: Brasero".
START_TIME=$(date +%s)



    if [ -e "/usr/bin/yatoc2cue" ] || [ -e "/usr/local/bin/yatoc2cue" ] ; then
    echo "yatoc2cue présent, on peut donc continuer."
    sleep 2
else
    echo "yatoc2cue est absent, veuillez installer ce programme avant de continer ... on quitte."
    sleep 2
    exit 0


fi

### (data/audio) Iron Maiden
CDDA=$(setcd -i /dev/sr* | grep -c "audio disc\|(data/audio)")
#CDDA=$( setcd -i /dev/sr* |  grep  "audio disc" | wc -l)
#CDDA=$(cdparanoia -Q 2>&1 | grep -c 'audio only')
if [ "$CDDA" -eq 1 ]; then
echo "Un CD Audio détecté, on continue ..."
echo ""
fi

if [ "$CDDA" -gt 1 ]; then
echo "Plus d'un CD audio détectés, on quitte."
echo ""
exit 0


   fi

if [ "$CDDA" -eq 0 ]; then
echo "Aucun CD Audio détecté, on quitte."
echo ""
exit 0

fi


DEVICE=$(setcd -i /dev/sr* | awk '/: audio disc|\(data\/audio\)/{sub(/:$/, "", l); print l; exit}; {l=$0}')
#DEVICE=$( setcd -i /dev/sr* |  grep -B1 "audio disc" | head -1 | sed -e 's/://g')
#DEVICE=/dev/sr0
SPEED=$(more /proc/sys/dev/cdrom/info | grep -E --color 'drive speed:' | awk '{print $3}')


#### Ici, pour avoir des propositions de noms de dossiers.

### https://stackoverflow.com/questions/32627658/how-to-timeout-part-of-a-shell-script-and-re-run-it-if-no-exit-code-0
### Curl
### curl --connect-timeout 3 --max-time 10 --retry 3
### Cela indique à la commande curl de expirer si la connexion n'est pas établie dans les 3 secondes,
### elle expirera si le transfert de données complet prend plus de 10 secondes et elle réessayera 3 fois. Ajustez selon vos besoins !


### https://www.unix.com/shell-programming-and-scripting/127668-getting-curl-output-verbose-file.html
freac_name_folder=$(curl -v --connect-timeout 3 --max-time 10 --retry 1 2>freac_stderr.log "http://freedb.freac.org/~cddb/cddb.cgi?cmd=cddb+query+$(cd-discid "$DEVICE" | sed 's/ /+/g')&hello=user+hostname+cdparanoia+3&proto=3" | \
            sed -e 's/AC\/DC/\ACDC/g' | sed 's/\// - /g'|awk '{$1=""; $2=""; $3=""; sub("  ", " "); print}'| sed s'/.$//' | \
            awk '{gsub(/^[ \t]+|[ \t]+$/,"")};1' | iconv --from-code=ISO-8859-1 --to-code=UTF-8)

gnudb_name_folder=$(curl --connect-timeout 3 --max-time 10 --retry 1 2>gnudb_stderr.log "http://gnudb.gnudb.org/~cddb/cddb.cgi?cmd=cddb+query+$(cd-discid "$DEVICE" | sed 's/ /+/g')&hello=user+hostname+cdparanoia+3&proto=3" | \
            sed -e 's/AC\/DC/\ACDC/g' | sed 's/\// - /g'|awk '{$1=""; $2=""; $3=""; sub("  ", " "); print}'| sed s'/.$//' | \
            awk '{gsub(/^[ \t]+|[ \t]+$/,"")};1' | iconv --from-code=ISO-8859-1 --to-code=UTF-8)

dbpoweramp_name_folder=$(curl --connect-timeout 3 --max-time 10 --retry 1 2>dbpoweramp_stderr.log "http://freedb.dbpoweramp.com/~cddb/cddb.cgi?cmd=cddb+query+$(cd-discid "$DEVICE" | sed 's/ /+/g')&hello=user+hostname+cdparanoia+3&proto=3" | \
            sed -e 's/AC\/DC/\ACDC/g' | sed 's/\// - /g'|awk '{$1=""; $2=""; $3=""; sub("  ", " "); print}'| sed s'/.$//' | \
            awk '{gsub(/^[ \t]+|[ \t]+$/,"")};1' | iconv --from-code=ISO-8859-1 --to-code=UTF-8)


timeout_freac=$( cat freac_stderr.log | grep -c 'Connection timeout')
timeout_gnudb=$( cat gnudb_stderr.log | grep -c 'Connection timeout')
timeout_dbpoweramp=$( cat dbpoweramp_stderr.log | grep -c 'Connection timeout')    



#ID_first_server=$( echo "$freac_name_folder" | grep "for disc ID" | awk '{print$1,$2,$3}')
#COUNT_first_server=$( echo "$freac_name_folder" | grep -c 'for disc ID')
#ID_second_server=$( echo "$gnudb_name_folder" | grep "for disc ID" | awk '{print$1,$2,$3}')
#COUNT_second_server=$( echo "$gnudb_name_folder" | grep -c 'for disc ID')
#ID_third_server=$( echo "$dbpoweramp_name_folder" | grep "for disc ID" | awk '{print$1,$2,$3}')
#COUNT_third_server=$( echo "$dbpoweramp_name_folder" | grep -c 'for disc ID')
#total_servers=$(("$COUNT_first_server" + "$COUNT_second_server" + "$COUNT_third_server"))




 while true; do
echo "Server(s) trouvé(s) :"

if  [[ "$timeout_freac" -eq 0 ]] ; then
echo -e "\e[3;32m1. \033[m \e[3;94m$freac_name_folder\033[m ====> sur le site freac.org"
else
echo -e "\e[3;32m1.  Connection timeout \033[m \e[3;94m$freac_name_folder\033[m ====> sur le site freac.org"


fi

if  [[ "$timeout_gnudb" -eq 0 ]] ; then
echo -e "\e[3;32m2. \033[m \e[3;94m$gnudb_name_folder\033[m ====> sur le site gnudb.org"
else
echo -e "\e[3;32m2.  Connection timeout \033[m \e[3;94m$gnudb_name_folder\033[m ====> sur le site gnudb.org"

fi

if  [[ "$timeout_dbpoweramp" -eq 0 ]] ; then
echo -e "\e[3;32m3. \033[m \e[3;94m$dbpoweramp_name_folder\033[m ====> sur le site dbpoweramp.com"
else
echo -e "\e[3;32m3.  Connection timeout \033[m \e[3;94m$dbpoweramp_name_folder\033[m ====> sur le site dbpoweramp.com"

fi

echo ""
echo -n "Entrer votre choix, 0 pour quitter: "
read -r choice
echo

case $choice in
     1)
ALBUMNAME="$freac_name_folder"
    break
     ;;
     2)
ALBUMNAME="$gnudb_name_folder"
    break
     ;;
     3)
ALBUMNAME="$dbpoweramp_name_folder"
    break
     ;;
    0)
    echo "OK, see you!"
rm -f "freac_stderr.log"
rm -f "gnudb_stderr.log"
rm -f "dbpoweramp_stderr.log"
    exit 1
    ;;
    *)
    echo "Invalid input..."
    echo "Quit"
    exit 1
    ;;
esac  
done



    echo -e "Le nom de l'album proposé est: \e[3;94m$ALBUMNAME\033[m"
read -r -p "Confirmez vous ce choix ? [Y/n] " input
case $input in
    [yY][eE][sS]|[yY])
 
    echo "Oui"  
    mkdir -p "$ALBUMNAME"
    ( cd "$ALBUMNAME" || exit
    cdparanoia -Z -d "$DEVICE" -S "$SPEED" 1- -w "$ALBUMNAME.wav")
    echo "OK, Rip terminé!"
  ;;
    [nN][oO]|[nN])
    echo -e "Non"
read -r -p "Alors, veuillez saisir un nom d'album personnalisé: " ALBUMNAME
if [[ -z "$ALBUMNAME" ]]; then
    echo "Invalid input..."
    echo "Quit"
     exit 1
else    
    mkdir -p "$ALBUMNAME"
    ( cd "$ALBUMNAME" || exit
    cdparanoia -Z -d "$DEVICE" -S "$SPEED" 1- -w "$ALBUMNAME.wav")
    echo "OK, Rip terminé!"
fi
  ;;
    *)
 echo "Invalid input..."
 echo "Quit"
 exit 1
 ;;
esac



#### http://freedb.freac.org
if  [[ "$choice" == "1" ]] ; then
echo "On cherche l'info sur freedb.freac.org"
sleep 5
    ( cd "$ALBUMNAME" || exit
    cdrdao read-toc --fast-toc --datafile "$ALBUMNAME.wav" --device "$DEVICE" --driver generic-mmc:0x20000 --paranoia-mode 0 \
            --with-cddb --cddb-servers freedb.freac.org:/~cddb/cddb.cgi "$ALBUMNAME.toc")

fi



#### http://gnudb.gnudb.org
if  [[ "$choice" == "2" ]] ; then
echo "On cherche l'info sur gnudb.gnudb.org"
sleep 5
    ( cd "$ALBUMNAME" || exit
    cdrdao read-toc --fast-toc --datafile "$ALBUMNAME.wav" --device "$DEVICE" --driver generic-mmc:0x20000 --paranoia-mode 0 \
            --with-cddb --cddb-servers gnudb.gnudb.org:/~cddb/cddb.cgi "$ALBUMNAME.toc")
       
fi



#### http://freedb.dbpoweramp.com
if  [[ "$choice" == "3" ]] ; then
echo "On cherche l'info sur freedb.dbpoweramp.com"
sleep 5
    ( cd "$ALBUMNAME" || exit
    cdrdao read-toc --fast-toc --datafile "$ALBUMNAME.wav" --device "$DEVICE" --driver generic-mmc:0x20000 --paranoia-mode 0 \
            --with-cddb --cddb-servers freedb.dbpoweramp.com:/~cddb/cddb.cgi "$ALBUMNAME.toc")

fi



## https://cryptii.com/pipes/text-octal
## https://pjb.com.au/comp/diacritics.html
## https://www.systutorials.com/docs/linux/man/7-iso_8859-15/
sed -i -e 's/\\240/ /g' -e 's/\\300/À/g' -e 's/\\340/à/g' \
       -e 's/\\241/¡/g' -e 's/\\301/Á/g' -e 's/\\341/á/g' \
       -e 's/\\242/¢/g' -e 's/\\302/Â/g' -e 's/\\342/â/g' \
       -e 's/\\243/£/g' -e 's/\\303/Ã/g' -e 's/\\343/ã/g' \
       -e 's/\\244/¤/g' -e 's/\\304/Ä/g' -e 's/\\344/ä/g' \
       -e 's/\\245/¥/g' -e 's/\\305/Å/g' -e 's/\\345/å/g' \
       -e 's/\\246/¦/g' -e 's/\\306/Æ/g' -e 's/\\346/æ/g' \
       -e 's/\\247/§/g' -e 's/\\307/Ç/g' -e 's/\\347/ç/g' \
       -e 's/\\250/¨/g' -e 's/\\310/È/g' -e 's/\\350/è/g' \
       -e 's/\\251/©/g' -e 's/\\311/É/g' -e 's/\\351/é/g' \
       -e 's/\\252/ª/g' -e 's/\\312/Ê/g' -e 's/\\352/ê/g' \
       -e 's/\\253/«/g' -e 's/\\313/Ë/g' -e 's/\\353/ë/g' \
       -e 's/\\254/¬/g' -e 's/\\314/Ì/g' -e 's/\\354/ì/g' \
       -e 's/\\255/ /g' -e 's/\\315/Í/g' -e 's/\\355/í/g' \
       -e 's/\\256/®/g' -e 's/\\316/Î/g' -e 's/\\356/î/g' \
       -e 's/\\257/¯/g' -e 's/\\317/Ï/g' -e 's/\\357/ï/g' \
       -e 's/\\260/°/g' -e 's/\\320/Ð/g' -e 's/\\360/ð/g' \
       -e 's/\\261/±/g' -e 's/\\321/Ñ/g' -e 's/\\361/ñ/g' \
       -e 's/\\262/²/g' -e 's/\\322/Ò/g' -e 's/\\362/ò/g' \
       -e 's/\\263/³/g' -e 's/\\323/Ó/g' -e 's/\\363/ó/g' \
       -e 's/\\264/´/g' -e 's/\\324/Ô/g' -e 's/\\364/ô/g' \
       -e 's/\\265/µ/g' -e 's/\\325/Õ/g' -e 's/\\365/õ/g' \
       -e 's/\\266/¶/g' -e 's/\\326/Ö/g' -e 's/\\366/ö/g' \
       -e 's/\\267/·/g' -e 's/\\327/×/g' -e 's/\\367/÷/g' \
       -e 's/\\270/¸/g' -e 's/\\330/Ø/g' -e 's/\\370/ø/g' \
       -e 's/\\271/¹/g' -e 's/\\331/Ù/g' -e 's/\\371/ù/g' \
       -e 's/\\272/º/g' -e 's/\\332/Ú/g' -e 's/\\372/ú/g' \
       -e 's/\\273/»/g' -e 's/\\333/Û/g' -e 's/\\373/û/g' \
       -e 's/\\274/¼/g' -e 's/\\334/Ü/g' -e 's/\\374/ü/g' \
       -e 's/\\275/½/g' -e 's/\\335/Ý/g' -e 's/\\375/ý/g' \
       -e 's/\\276/¾/g' -e 's/\\336/Þ/g' -e 's/\\376/þ/g' \
       -e 's/\\277/¿/g' -e 's/\\337/ß/g' -e 's/\\377/ÿ/g' "$ALBUMNAME/$ALBUMNAME.toc"


## https://unix.stackexchange.com/questions/155331/sed-replace-a-character-in-a-matched-line-in-place
sed -i -e '/TITLE/s/\\"//g' "$ALBUMNAME/$ALBUMNAME.toc"




#### AVEC CUECONVERT ( voir si on peut améliorer )
#### Message is too long -- (Deep Purple Europe MK III Final concert)
message_is_too_long=$(awk '{print $0}' "$ALBUMNAME/$ALBUMNAME.toc" | awk '/MESSAGE/ && length($0) > 100' | wc -l)
line=$(grep -n MESSAGE "$ALBUMNAME/$ALBUMNAME.toc" | awk '/MESSAGE/ && length($0) > 100' | cut -d : -f1 | tr "\n" " ")



if [[ "$message_is_too_long" -gt 0 ]] ; then
echo "Message(s) trop long(s)"
sleep 2
for i in $line; do
sed -i "${i}s/.*/    MESSAGE \"\"/" "$ALBUMNAME/$ALBUMNAME.toc"
echo -e "\e[3;94mSupression du message à la ligne $i\033[m"
sleep 2
done
else
echo -e  "\e[3;32mLe fichier toc ne contient pas de messages trop longs ...\033[m"
sleep 2
fi


### RETOUCHE FICHIER TOC POUR (AC/DC)
### Exemple dans le fichier toc :
###    TITLE "DC / Highway To Hell"
###    PERFORMER "AC"
TOC_ACDC=$(grep -c '    TITLE "DC /.*"' "$ALBUMNAME/$ALBUMNAME.toc")

if [[ "$TOC_ACDC" -eq 1 ]]  ; then
echo -e "\e[3;32mCorrection du fichier toc pour un problème du slash de type AC/DC\033[m"
sleep 2
sed -i -e 's/    PERFORMER "AC"/    PERFORMER "ACDC"/g' "$ALBUMNAME/$ALBUMNAME.toc"
sed -i -e 's/DC \/ //' "$ALBUMNAME/$ALBUMNAME.toc"
else
echo -e  "\e[3;32mSlash de type AC/DC non détecté...\033[m"
fi

## Vérification du fichier toc et édition le cas échéant.
#if  [[ "$input" == "n" ]] ; then
#echo -e "\e[3;32mVous avez opté pour un nom d'album personnalisé, veuillez changer title dans le fichier toc.\033[m"
#sleep 2
#nano "$ALBUMNAME/$ALBUMNAME.toc"
#else
#echo -e "\e[3;32mLe nom de l'album proposé n'a pas été modifié, alors on continue ....\033[m"
#sleep 2
#fi

## https://unix.stackexchange.com/questions/188264/want-to-substitute-only-first-occurence-with-sed
## Add quotes around a value using sed
## https://unix.stackexchange.com/questions/120211/add-quotes-around-a-value-using-sed

if  [[ "$input" == "n" ]] ; then
sed -i -e "0,/TITLE/ s/TITLE.*/TITLE \"${ALBUMNAME}\"/g" "$ALBUMNAME/$ALBUMNAME.toc"
echo -e "\e[3;94mTITLE \"${ALBUMNAME}\"\033[m\e[3;32m à bien été injecté dans le fichier toc.\033[m"
sleep 2
fi



## EDITION FICHIER TOC
read -t 10 -p "Voulez-vous vérifier le fichier TOC ? [Y/n] ou attendre 10 secondes." input
echo ""
case $input in
    [yY][eE][sS]|[yY])

    nano -w "$ALBUMNAME/$ALBUMNAME.toc" < /dev/tty
echo ""
echo -e "\e[3;94mLe fichier $ALBUMNAME.toc a été vérifié et éventuellement corrigé.\033[m"
echo -e "\e[3;94mOn continue ...\033[m"
sleep 2
 ;;
    [nN][oO]|[nN])
echo ""
    echo -e "\e[3;94mNon, on continue...\033[m"
sleep 2
 ;;
     *)
echo ""
echo -e "\e[3;94mles 10 secondes sont écoulées, on continue ...\033[m"
 ;;
esac












#### Création du fichier CDDB depuis le fichier toc avec l'utilitaire toc2cddb (cdrdao).
NAME_FILE=$(cd-discid "$DEVICE" 2>/dev/null | awk '{print $1}')
    toc2cddb "$ALBUMNAME/$ALBUMNAME.toc" > "$ALBUMNAME/$NAME_FILE"



#EXTRA PERSO A INTEGRER PLUS TARD POUR CREER LE DOSSIER ~/.cddb
cddb_folder=~/.cddb

  if [ ! -d "$cddb_folder" ]; then
echo -e "\e[3;32mLe dossier n'existe pas ... création du dossier .cddb\033[m"
mkdir -p "$cddb_folder"
else
echo -e "\e[3;32mLe dossier .cddb existe.\033[m"
sleep 2

  fi

 if [ -d "$cddb_folder" ] && [ -f "$cddb_folder/$NAME_FILE" ]; then
echo -e "\e[3;32mLe fichier $NAME_FILE est déjà présent\033[m"
sleep 2
else
echo -e "\e[3;32mLe fichier $NAME_FILE n'est pas présent, on le copie dans .cddb\033[m"
sleep 2
cp "$ALBUMNAME/$NAME_FILE" ~/.cddb/"$NAME_FILE"

 fi








#### Conversion en UTF-8 si necessaire du fichier cddb.
CODE=$( file -i "$ALBUMNAME/$NAME_FILE" | sed 's/^.*charset=/charset=/')

if [[ "$CODE" == "charset=iso-8859-1" ]]; then
    echo -e "\e[3;94mConversion du fichier CDDB en UTF-8.\033[m"
iconv --from-code=ISO-8859-1 --to-code=UTF-8 "$ALBUMNAME/$NAME_FILE" > "$ALBUMNAME/CONV_$NAME_FILE"
rm -f "$ALBUMNAME/$NAME_FILE"
mv "$ALBUMNAME/CONV_$NAME_FILE" "$ALBUMNAME/$NAME_FILE"

else
    echo -e "\e[3;32mLe fichier CDDB à le bon encodage UTF-8.\033[m"


fi



# CRÉATION DU SCRIPT "toc2tag.pl"
## https://gist.github.com/diresi/a1a905546aa0136eaf7399c3ae4ffedd#file-toc2tag-pl

{ echo "#!/usr/bin/perl -w" ;
echo '';  
echo '$GotAlbum=0;' ;
echo '$Tracknum=0;';
echo '#$IsVarious=0;';  
echo '$Artist="";';  
echo '';  
echo 'while (<>)';  
echo '{';  
echo 'if (/\/\/ Track (\d*)/)';  
echo '{';  
echo '$Tracknum=$1;';  
echo 'print "TRACKNUMBER[$Tracknum]=$Tracknum\n";';  
echo '}';  
echo '';  
echo 'if (/TITLE "(.*)"/)';  
echo '{';  
echo 'if (!$GotAlbum)';  
echo '{';  
echo '$GotAlbum=1;';  
echo '$Album=$1;';  
echo '$Album=~ s/\// - /;';  
echo 'print "ALBUM=$Album\n";';  
echo '}';  
echo 'else';  
echo '{';  
echo 'print "TITLE[$Tracknum]=$1\n";';  
echo '}';  
echo '}';  
echo '';  
echo 'if (/PERFORMER "(.*)"/)';  
echo '{';  
echo 'if ($Tracknum==0)';  
echo '{';  
echo '$Artist=$1;';  
echo '$Artist=~ s/\///;';  
echo 'print "ARTIST=$Artist\n";';  
echo '}';  
echo 'else';  
echo '{';  
echo 'if ($1 ne $Artist)';  
echo '{';
echo 'print "ARTIST[$Tracknum]=$1\n";';
echo '}';
echo '}';
echo '}';
echo '}';
} >> "$ALBUMNAME/toc2tag.pl"

chmod u+x "$ALBUMNAME/toc2tag.pl"


awk '{print $0}' "$ALBUMNAME/$ALBUMNAME.toc" | "$ALBUMNAME"/./toc2tag.pl > "$ALBUMNAME/$ALBUMNAME.tags"


#cueconvert -i toc -o cue "$ALBUMNAME/$ALBUMNAME.toc" "$ALBUMNAME/$ALBUMNAME.cue"
yatoc2cue "$ALBUMNAME/$ALBUMNAME.toc" "$ALBUMNAME/$ALBUMNAME.cue"

#### Vivaldi.wav: ERROR parsing cuesheet "Vivaldi/Vivaldi.cue" on line 5: illegal INDEX offset (not of the form MM:SS:FF)
#### ====>>

#### TRACK 01 AUDIO
#### PREGAP 00:00:38
#### INDEX 00 00:00:-38
#### INDEX 01 00:00:00

#### Supprimer toutes les lignes qui se trouvent entre PREGAP et TRACK
#### Créer un INDEX 00 00:00:00 au dessus de PREGAP
#### Remplacer le mot PREGAP par INDEX 01
#### Supprimer tous les espaces entre les lignes ( c'est pas utile )

sed -i -e '/PREGAP/,/TRACK/{//!d}' "$ALBUMNAME/$ALBUMNAME.cue"
sed -i -e '/^PREGAP.*/i INDEX 00 00:00:00' "$ALBUMNAME/$ALBUMNAME.cue"
sed -i -e 's/PREGAP/INDEX 01/g' "$ALBUMNAME/$ALBUMNAME.cue"
sed -i -e '/^[[:blank:]]*$/d' "$ALBUMNAME/$ALBUMNAME.cue"


flac --cuesheet="$ALBUMNAME/$ALBUMNAME.cue" "$ALBUMNAME/$ALBUMNAME.wav"


# IMPORTER TAGS DANS LE FICHIER FLAC
     metaflac --add-replay-gain --no-utf8-convert \
         --import-tags-from="$ALBUMNAME/$ALBUMNAME.tags" "$ALBUMNAME/$ALBUMNAME.flac"


mkdir -p "$ALBUMNAME/FLACS"


cuebreakpoints "$ALBUMNAME/$ALBUMNAME.cue" | shnsplit -d "$ALBUMNAME/FLACS" "$ALBUMNAME/$ALBUMNAME.flac" -o "cust ext=flac flac -V --fast -o %f -"


 tail /etc/os-release | awk '/^ID=/ { print $0 }'
arch=$(tail /etc/os-release | awk '/^ID=/ { print $0 }')

if  [ "$arch" = "ID=arch" ]; then
echo ""
echo -e "\e[3;94mOn est sous Archlinux, on utilise la commande cuetag.sh\033[m"
cuetag.sh "$ALBUMNAME/$ALBUMNAME.cue" "$ALBUMNAME/FLACS"/split-track*.flac
else
echo -e "\e[3;94mOn n'est pas sous Archlinux, on essaie d'utiliser la commande cuetag.sh\033[m"
cuetag "$ALBUMNAME/$ALBUMNAME.cue" "$ALBUMNAME/FLACS"/split-track*.flac


fi


for i in "$ALBUMNAME/FLACS"/split-track*; do

    title=$(metaflac --show-tag=TITLE "$i" | sed -e 's/TITLE=//' | sed -e 's/\//-/g')
    album=$(metaflac --show-tag=ALBUM "$i" | sed -e 's/ALBUM=//' | sed -e 's/\//-/g')
    artist=$(metaflac --show-tag=ARTIST "$i" | sed -e 's/ARTIST=//' | sed -e 's/\//-/g')
        track=$(metaflac --show-tag=TRACKNUMBER "$i" | sed -e 's/TRACKNUMBER=//' | sed -e 's/\//-/g')
       

mv "$i" "$ALBUMNAME/FLACS/$track - $title.flac"
echo ""
echo "Le fichier "$i" a bien été renommé avec son numéro, ainsi que son titre:"
echo -e "\e[3;94m$track - $title.flac\033[m"
echo ""
sleep 1
done


## CRÉER UN FICHIER M3U POUR LES FLACS SÉPARÉS.
## https://superuser.com/questions/650291/how-to-get-video-duration-in-seconds
( cd "$ALBUMNAME/FLACS" || exit

  echo '#EXTM3U'
for file in *.flac; do


duration=$( ffprobe "$file" -show_format 2>&1 | sed -n -E 's/duration=([0-9]+).*/\1/p')
TAG_ARTIST=$( ffprobe "$file" -show_format 2>&1 | sed -n 's/TAG:ARTIST=//p')
TAG_track=$( ffprobe "$file" -show_format 2>&1 | sed -n 's/TAG:track=//p')
TAG_TITLE=$( ffprobe "$file" -show_format 2>&1 | sed -n 's/TAG:TITLE=//p')


  echo '#EXTINF:'"$duration","$TAG_ARTIST" - "$TAG_TITLE"
  echo "$file"
done ) >> "$ALBUMNAME/FLACS/$ALBUMNAME.m3u"


eject $DEVICE

rm -f "freac_stderr.log"
rm -f "gnudb_stderr.log"
rm -f "dbpoweramp_stderr.log"

echo -e "\e[32mTemps total écoulé:\e[0m \e[3;6;94m$(date -ud "@$(($(date +%s) - START_TIME))" +%T)\e[0m  (HH:MM:SS)"

Hors ligne

#91 01-02-2022 10:19:55

robert2a
Membre
Distrib. : Buster 10 version 10.11
Noyau : kernel buster backports
(G)UI : Mate
Inscription : 15-11-2014

Re : [En cours ...] Tester mon script pour archivage Compact Disc

Bonjour

faut tester ?  (celui d'avant aucun problème pour moi , a part que le serveur souvent ne connaît pas l'album , j' utilise le titre de la pochette , et pour les morceaux parfois aucun titre juste "1 - "
sur des CD avec 2 pistes (single)

le serveur uniquement le "2" fonctionne ?

Machines : kabylake I7 7700 , AMD 1700(X) ,AMD threadripper gen1 , AMD Raven R3 2200G , AMD FX(tm)-8320

Hors ligne

#92 01-02-2022 10:23:17

robert2a
Membre
Distrib. : Buster 10 version 10.11
Noyau : kernel buster backports
(G)UI : Mate
Inscription : 15-11-2014

Re : [En cours ...] Tester mon script pour archivage Compact Disc

un exemple sur un single ( avec serveur correct)


On n'est pas sous Archlinux, on essaie d'utiliser la commande cuetag.sh

Le fichier The Corrs - Would You Be Happier?/FLACS/split-track01.flac a bien été renommé avec son numéro, ainsi que son titre:
01 - Would You Be Happier? (album version).flac


Le fichier The Corrs - Would You Be Happier?/FLACS/split-track02.flac a bien été renommé avec son numéro, ainsi que son titre:
02 - Would You Be Happier? (alternative mix).flac
 


Machines : kabylake I7 7700 , AMD 1700(X) ,AMD threadripper gen1 , AMD Raven R3 2200G , AMD FX(tm)-8320

Hors ligne

#93 01-02-2022 10:25:28

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.17.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : [En cours ...] Tester mon script pour archivage Compact Disc

robert2a a écrit :

...
le serveur uniquement le "2" fonctionne ?



Oui oui, le 1 et 3 malheureusement sont out depuis que jours. C'est bien dommage wink


robert2a a écrit :

... a part que le serveur souvent ne connaît pas l'album , j' utilise le titre de la pochette , et pour les morceaux parfois aucun titre juste "1 - "
sur des CD avec 2 pistes (single)


ça, on n'y peut rien si l'album n'a pas enregistré par un utilisateur sur le server hmm


Pour le nouveau script, rien ne change mise à part que je donne un peu plus la main à l'utilisateur wink

Dernière modification par golgot200 (01-02-2022 10:29:09)

Hors ligne

#94 01-02-2022 10:32:28

robert2a
Membre
Distrib. : Buster 10 version 10.11
Noyau : kernel buster backports
(G)UI : Mate
Inscription : 15-11-2014

Re : [En cours ...] Tester mon script pour archivage Compact Disc

je comprend rien a ta modif  tongue
mais a priori ça roule pour moi  wink


bash test5.sh
yatoc2cue présent, on peut donc continuer.
Un CD Audio détecté, on continue ...

Server(s) trouvé(s) :
1.   ====> sur le site freac.org
2.  Dr. Dre - Dr. Dre feat. Snoop Dogg (2 titles) ====> sur le site gnudb.org
3.   ====> sur le site dbpoweramp.com

Entrer votre choix, 0 pour quitter: 2

Le nom de l'album proposé est: Dr. Dre - Dr. Dre feat. Snoop Dogg (2 titles)
Confirmez vous ce choix ? [Y/n] y
Oui
cdparanoia III release 10.2 (September 11, 2008)


Attempting to set speed to 48x...
Ripping from sector       0 (track  1 [0:00.00])
    to sector   27689 (track  2 [3:26.21])

outputting to Dr. Dre - Dr. Dre feat. Snoop Dogg (2 titles).wav

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

Done.


OK, Rip terminé!
On cherche l'
info sur gnudb.gnudb.org
Cdrdao version 1.2.4 - (C) Andreas Mueller <andreas@daneb.de>
/dev/sr0: HL-DT-ST DVDRAM GH22NS40  Rev: NL00
Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x20000)

Reading toc data...

Track   Mode    Flags  Start                Length
------------------------------------------------------------
 1      AUDIO   0      00:00:00(     0)     02:42:68( 12218)
 2      AUDIO   0      02:42:68( 12218)     03:26:22( 15472)
Leadout AUDIO   0      06:09:15( 27690)

PQ sub-channel reading (audio track) is supported, data format is BCD.
Raw P-W sub-channel reading (audio track) is supported.
Analyzing track 01 (AUDIO): start 00:00:00, length 02:42:68...
Found ISRC code.
Analyzing track 02 (AUDIO): start 02:42:68, length 03:26:22...
Found ISRC code.
Found disk catalogue number.
         
CDDB: Connecting to http://gnudb.gnudb.org:80/~cddb/cddb.cgi ...
CDDB: Ok.
Reading CDDB record for: 0d017102-misc-Dr. Dre / Dr. Dre feat. Snoop Dogg (2 titles)
CDDB: Connecting to http://gnudb.gnudb.org:80/~cddb/cddb.cgi ...
CDDB: Ok.
CD-TEXT data was added to toc-file.
Reading of toc data finished successfully.
Le fichier toc ne contient pas de messages trop longs ...
Slash de type AC/DC non détecté...
Voulez-vous vérifier le fichier TOC ? [Y/n] ou attendre 10 secondes.

les 10 secondes sont écoulées, on continue ...
Le dossier n'existe pas ... création du dossier .cddb
Le fichier 0d017102 n'
est pas présent, on le copie dans .cddb
Le fichier CDDB à le bon encodage UTF-8.

flac 1.3.2
Copyright (C) 2000-2009  Josh Coalson, 2011-2016  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.

Dr. Dre - Dr. Dre feat. Snoop Dogg (2 titles).wav: wrote 40535479 bytes, ratio=0,622
Splitting [Dr. Dre - Dr. Dre feat. Snoop Dogg (2 titles)/Dr. Dre - Dr. Dre feat. Snoop Dogg (2 titles).flac] (6:09.15) --> [Dr. Dre - Dr. Dre feat. Snoop Dogg (2 titles)/FLACS/split-track01.flac] (2:42.68) : 100% OK
Splitting [Dr. Dre - Dr. Dre feat. Snoop Dogg (2 titles)/Dr. Dre - Dr. Dre feat. Snoop Dogg (2 titles).flac] (6:09.15) --> [Dr. Dre - Dr. Dre feat. Snoop Dogg (2 titles)/FLACS/split-track02.flac] (3:26.22) : 100% OK
ID=debian
On n'
est pas sous Archlinux, on essaie d'utiliser la commande cuetag.sh

Le fichier Dr. Dre - Dr. Dre feat. Snoop Dogg (2 titles)/FLACS/split-track01.flac a bien été renommé avec son numéro, ainsi que son titre:
01 - The Next Episode.flac


Le fichier Dr. Dre - Dr. Dre feat. Snoop Dogg (2 titles)/FLACS/split-track02.flac a bien été renommé avec son numéro, ainsi que son titre:
02 - Fuck You.flac

Temps total écoulé: 00:01:41  (HH:MM:SS)



ps: je n'ai que quelques centaines a faire encore  ...........  tongue


Machines : kabylake I7 7700 , AMD 1700(X) ,AMD threadripper gen1 , AMD Raven R3 2200G , AMD FX(tm)-8320

Hors ligne

#95 01-02-2022 10:36:57

robert2a
Membre
Distrib. : Buster 10 version 10.11
Noyau : kernel buster backports
(G)UI : Mate
Inscription : 15-11-2014

Re : [En cours ...] Tester mon script pour archivage Compact Disc

le prochain tu veut que je demande a vérifier le fichier ".toc"
pour ci dessus pas demandé


CD_DA

CATALOG "0606949733322"
CD_TEXT {
  LANGUAGE_MAP {
    0: 9
  }
  LANGUAGE 0 {
    TITLE "Dr. Dre feat. Snoop Dogg (2 titles)"
    PERFORMER "Dr. Dre"
    MESSAGE " YEAR: 2000"
  }
}

// Track 1
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
ISRC "USIR19915078"
CD_TEXT {
  LANGUAGE 0 {
    TITLE "The Next Episode"
    PERFORMER "Dr. Dre"
    MESSAGE ""
  }
}
FILE "Dr. Dre - Dr. Dre feat. Snoop Dogg (2 titles).wav" 0 02:42:68


// Track 2
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
ISRC "USIR19915067"
CD_TEXT {
  LANGUAGE 0 {
    TITLE "Fuck You"
    PERFORMER "Dr. Dre"
    MESSAGE ""
  }
}
FILE "Dr. Dre - Dr. Dre feat. Snoop Dogg (2 titles).wav" 02:42:68 03:26:22
 


Machines : kabylake I7 7700 , AMD 1700(X) ,AMD threadripper gen1 , AMD Raven R3 2200G , AMD FX(tm)-8320

Hors ligne

#96 01-02-2022 10:40:39

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.17.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : [En cours ...] Tester mon script pour archivage Compact Disc

Simple, avec l'option que j'ai rajouté :

admettons que dans le fichier toc (cd-text) qui se trouve en dur sur le Cd audio, des caractères soient mal encodés, une fois rippé, tu as la possibilité de le vérifier et le corriger.
Je rappel que le fichier cddb est généré par le programme toc2cddb en local.
Le cddb n'est pas chargé depuis le serveur. Tu te retrouve donc avec fichier personnellement corrigé et propre.

Lance juste ce bout de script et fait des choix, tu vas comprendre :


#!/bin/bash


read -t 10 -p "Voulez-vous vérifier le fichier TOC ? [Y/n] ou attendre 10 secondes." input
echo ""
case $input in
    [yY][eE][sS]|[yY])

    nano -w "$ALBUMNAME/$ALBUMNAME.toc" < /dev/tty
echo ""
echo -e "\e[3;94mLe fichier $ALBUMNAME.toc a été vérifié et éventuellement corrigé.\033[m"
echo -e "\e[3;94mOn continue ...\033[m"
sleep 2
 ;;
    [nN][oO]|[nN])
echo ""
    echo -e "\e[3;94mNon, on continue...\033[m"
sleep 2
 ;;
     *)
echo ""
echo -e "\e[3;94mles 10 secondes sont écoulées, on continue ...\033[m"
 ;;
esac
 



wink

EDIT : Post croisé

Dernière modification par golgot200 (01-02-2022 10:43:22)

Hors ligne

#97 01-02-2022 10:43:27

robert2a
Membre
Distrib. : Buster 10 version 10.11
Noyau : kernel buster backports
(G)UI : Mate
Inscription : 15-11-2014

Re : [En cours ...] Tester mon script pour archivage Compact Disc

avec vérification ( en fait juste fermé nano ) mais pour moi correct


TITLE "DR. DRE fearuring Snoop Dogg" à bien été injecté dans le fichier toc.
Voulez-vous vérifier le fichier TOC ? [Y/n] ou attendre 10 secondes.y


Le fichier DR. DRE fearuring Snoop Dogg.toc a été vérifié et éventuellement corrigé.
On continue ...
Le dossier .cddb existe.
Le fichier 0c021a02 n'est pas présent, on le copie dans .cddb
Le fichier CDDB à le bon encodage UTF-8.

flac 1.3.2
Copyright (C) 2000-2009  Josh Coalson, 2011-2016  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.

DR. DRE fearuring Snoop Dogg.wav: wrote 62216533 bytes, ratio=0,655
Splitting [DR. DRE fearuring Snoop Dogg/DR. DRE fearuring Snoop Dogg.flac] (8:58.52) --> [DR. DRE fearuring Snoop Dogg/FLACS/split-track01.flac] (4:29.50) : 100% OK
Splitting [DR. DRE fearuring Snoop Dogg/DR. DRE fearuring Snoop Dogg.flac] (8:58.52) --> [DR. DRE fearuring Snoop Dogg/FLACS/split-track02.flac] (4:29.02) : 100% OK
ID=debian
On n'est pas sous Archlinux, on essaie d'utiliser la commande cuetag.sh

Le fichier DR. DRE fearuring Snoop Dogg/FLACS/split-track01.flac a bien été renommé avec son numéro, ainsi que son titre:
01 - TAKE.flac


Le fichier DR. DRE fearuring Snoop Dogg/FLACS/split-track02.flac a bien été renommé avec son numéro, ainsi que son titre:
02 - TAKE [Instrumental].flac

Temps total écoulé: 00:03:39  (HH:MM:SS)
 


Machines : kabylake I7 7700 , AMD 1700(X) ,AMD threadripper gen1 , AMD Raven R3 2200G , AMD FX(tm)-8320

Hors ligne

#98 01-02-2022 10:45:49

robert2a
Membre
Distrib. : Buster 10 version 10.11
Noyau : kernel buster backports
(G)UI : Mate
Inscription : 15-11-2014

Re : [En cours ...] Tester mon script pour archivage Compact Disc

donc dans le cas ou aucun titre de morceau je peu compléter avec la pochette le .toc ?

Machines : kabylake I7 7700 , AMD 1700(X) ,AMD threadripper gen1 , AMD Raven R3 2200G , AMD FX(tm)-8320

Hors ligne

#99 01-02-2022 10:47:33

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.17.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : [En cours ...] Tester mon script pour archivage Compact Disc

C'est généralement a la fin, aux pistes renommées, qu'on peut voir un caractère bizarre. Moi, je recommence mais en choisissant quand c'est le momment la vérification et la correction à la mano. smile

Hors ligne

#100 01-02-2022 10:48:30

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.17.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : [En cours ...] Tester mon script pour archivage Compact Disc

robert2a a écrit :

donc dans le cas ou aucun titre de morceau je peu compléter avec la pochette le .toc ?



Expliques, car je connais pas la démarche.

Hors ligne

Pied de page des forums