logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

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

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

#1 28-06-2020 14:24:23

Anonyme
Invité

Lire simplement un CD Audio avec mplayer (par "gnudb.gnudb.org")

Bonjour,

je pense qu'il faille juste mplayer pour le fonctionnement.

EDIT : non aussi cdparanoia et cd-discid

apt install mplayer cdparanoia cd-discid



Lire simplement un cdaudio avec mplayer dans un terminal ( choix des pistes )
Refusera tous les autres supports.

Lancer le script.

Entrer Le Numéro du Titre (ou plusieurs ex: 10-11) :





#!/bin/bash

DEVICE=/dev/sr0
cddb_folder=~/.cddb

  if [ ! -d "$cddb_folder" ]; then
echo "Le dossier n'existe pas ... création de .cddb"
mkdir  "$cddb_folder"

  fi

CDDA=$(cdparanoia -Q 2>&1 | grep -c 'audio only')

if [ "$CDDA" -eq 1 ]; then

CDDBURL="http://gnudb.gnudb.org/~cddb/cddb.cgi"
MYUSER="whoami"
MYHOST="hostname"
DISCID=$(cd-discid "$DEVICE" 2>/dev/null) || exit 1
NAME_FILE=$(cd-discid "$DEVICE" 2>/dev/null | awk '{print $1}')
CD=$(cddb-tool query "$CDDBURL" 1 "$MYUSER" "$MYHOST" "$DISCID")

cddb-tool read "$CDDBURL" 3 "$MYUSER" "$MYHOST" \
"$(echo "$CD" | head -1 | awk '{print $2 " " $3}')" > ~/.cddb/"$NAME_FILE"  

echo ""

iconv -f ISO-8859-1 -t UTF-8 ~/.cddb/"$NAME_FILE" | awk '/^TTITLE/{sub("^TTITLE[0-9]+=","",$0);printf"%02d - %s\n",(i+++1),$0}'  
echo ""
echo -n "Entrer Le Numéro du Titre (ou plusieurs ex: 10-11) : "
read -r num
echo "$num"

mplayer -ao alsa -noconfig all -nolirc -cdrom-device "$DEVICE" cdda://"$num" -cache 8000 -cache-min 80;

else
echo -n "Pas de CD Audio ... Terminé."
sleep 2
exit 0
fi
 

Dernière modification par Anonyme (28-06-2020 14:35:55)

#2 28-06-2020 15:14:52

Anonyme
Invité

Re : Lire simplement un CD Audio avec mplayer (par "gnudb.gnudb.org")

Il faut que je rajoute une option importante.

Si le fichier d'info cddb "xxxxxxx" est présent dans ~/.cddb et ne fasse pas 0 octet, ne pas le télécharger à nouveau.
C'est pour éviter de se retrouver avec un fichier vide si le site est hs.

Dernière modification par Anonyme (28-06-2020 15:21:31)

#3 28-06-2020 15:24:54

martinux_qc
Anar
Lieu : Montréal (Québec)
Distrib. : Debian 11 stable
Noyau : Linux 5.10.0-8-amd64
(G)UI : XFCE 4.16
Inscription : 12-10-2008

Re : Lire simplement un CD Audio avec mplayer (par "gnudb.gnudb.org")

Salut

gnudb.gnudb.org semble down lui aussi...

"L'éducation vise à former des citoyens pas trop tatas et non pas à envoyer le plus de tatas possible à l'université."
Pierre Foglia (Journaliste à la retraite à La Presse)
Note : au Québec, le mot tata a un sens péjoratif qui sert à désigner une personne un peu idiote ou insignifiante. D'où les expressions familières : Espèce de grand, de gros tata! Être, avoir l'air tata.

Hors ligne

#4 28-06-2020 15:40:48

Anonyme
Invité

Re : Lire simplement un CD Audio avec mplayer (par "gnudb.gnudb.org")

martinux_qc a écrit :

Salut

gnudb.gnudb.org semble down lui aussi...



Bonjour,

eh oui deux fois cet après-midi. C'est pénible hmm

C'est pour ça que j'ai mis :

Anonyme a écrit :


Il faut que je rajoute une option importante.

Si le fichier d'info cddb "xxxxxxx" est présent dans ~/.cddb et ne fasse pas 0 octet, ne pas le télécharger à nouveau.
C'est pour éviter de se retrouver avec un fichier vide si le site est hs.



echo  "Fichier non présent, on charge les infos"



et dans le pire des cas

echo  "Impossible d'accéder aux infos, on quitte !!!



wink

Dernière modification par Anonyme (28-06-2020 15:43:27)

#5 28-06-2020 19:21:39

Anonyme
Invité

Re : Lire simplement un CD Audio avec mplayer (par "gnudb.gnudb.org")

Voilà, c'est mieux au niveau fonctionnement.

On écrasera pas un fichier valide.

Si le fichier est présent et bien rempli en info, on peut lancer son choix
Si le fichier est présent mais vide en info, il essaie de les prendre sur le site pour le remplir.
Si après ça, le fichier est toujours vide, c'est que le site est hs. Le programme quitte.




#!/bin/bash

DEVICE=/dev/sr0
cddb_folder=~/.cddb

  if [ ! -d "$cddb_folder" ]; then
echo "Le dossier n'existe pas ... création de .cddb"
mkdir  "$cddb_folder"

  fi

CDDA=$(cdparanoia -Q 2>&1 | grep -c 'audio only')


if [ "$CDDA" -eq 1 ]; then

CDDBURL="http://gnudb.gnudb.org/~cddb/cddb.cgi"
MYUSER="whoami"
MYHOST="hostname"
DISCID=$(cd-discid "$DEVICE" 2>/dev/null) || exit 1
NAME_FILE=$(cd-discid "$DEVICE" 2>/dev/null | awk '{print $1}')
CD=$(cddb-tool query "$CDDBURL" 1 "$MYUSER" "$MYHOST" "$DISCID")




if [[ ! -f ~/.cddb/"$NAME_FILE" ]]; then
echo ""
echo  "Le fichier $NAME_FILE est absent."
sleep 2
cddb-tool read "$CDDBURL" 3 "$MYUSER" "$MYHOST" \
"$(echo "$CD" | head -1 | awk '{print $2 " " $3}')" > ~/.cddb/"$NAME_FILE"

fi

SIZE_NAME_FILE=$(stat -c%s ~/.cddb/"$NAME_FILE")

if [[ -f ~/.cddb/"$NAME_FILE" ]] &&  [[ "$SIZE_NAME_FILE" -eq 0 ]]; then
echo ""
echo  "Le fichier $NAME_FILE est vide, on re-télécharge les infos."
sleep 2
cddb-tool read "$CDDBURL" 3 "$MYUSER" "$MYHOST" \
"$(echo "$CD" | head -1 | awk '{print $2 " " $3}')" > ~/.cddb/"$NAME_FILE"  

fi

SIZE_NAME_FILE=$(stat -c%s ~/.cddb/"$NAME_FILE")



if [[ -f ~/.cddb/"$NAME_FILE" ]] && [[ "$SIZE_NAME_FILE" -ne 0 ]] ; then
echo ""
echo  "Le fichier $NAME_FILE est valide."
echo ""
iconv -f ISO-8859-1 -t UTF-8 ~/.cddb/"$NAME_FILE" | awk '/^TTITLE/{sub("^TTITLE[0-9]+=","",$0);printf"%02d - %s\n",(i+++1),$0}'
echo ""
echo -n "Entrer Le Numéro du Titre (ou plusieurs ex: 10-11) :"
read -r num
echo "$num"  
mplayer -ao alsa -noconfig all -nolirc -cdrom-device "$DEVICE" cdda://"$num" -cache 8000 -cache-min 80;
else
echo ""
echo  "Le fichier $NAME_FILE n'a pas été rempli en infos."
echo  "Le site est down, on quitte."
sleep 2

  fi

echo ""

else
echo -n "Pas de CD Audio ... Terminé."
sleep 2
exit 0
fi
 

Dernière modification par Anonyme (28-06-2020 19:26:26)

#6 29-06-2020 15:31:17

Anonyme
Invité

Re : Lire simplement un CD Audio avec mplayer (par "gnudb.gnudb.org")

Rajout dans le script l'option :


### vérification de l'encodage du fichier déjà présent et plein.
verif_charset=$(file -i ~/.cddb/"$NAME_FILE" | awk ' /charset=iso-8859-1/ {print $3}')

if [[ "$verif_charset" == "charset=iso-8859-1" ]]; then
echo  "Le fichier $NAME_FILE est encodé en charset=iso-8859-1, on le passe en UTF8."
sleep 2
iconv -f ISO-8859-1 -t UTF8 ~/.cddb/"$NAME_FILE" -o ~/.cddb/"$NAME_FILE-save"
rm -f ~/.cddb/"$NAME_FILE"
mv ~/.cddb/"$NAME_FILE-save" ~/.cddb/"$NAME_FILE"


  fi
 

Dernière modification par Anonyme (29-06-2020 15:39:26)

#7 29-06-2020 17:03:03

Anonyme
Invité

Re : Lire simplement un CD Audio avec mplayer (par "gnudb.gnudb.org")

ça fonctionne avec l'option ci dessus : smile


Le fichier e8110310 est absent.
Le fichier e8110310 est encodé en charset=iso-8859-1, on le passe en UTF8.
Le fichier e8110310 est présent, valide et bien encodé en UTF8.

01 - L'ascenseur de 22h43
02 - Exil sur planète fantôme
03 - Autoroutes jeudi d'automne
04 - Talking
05 - 113ème cigarette sans dormir
06 - Maison borniol
07 - Orphée nonante huit
08 - Méthode de dissection du pigeon à zone-la-ville
09 - Groupie 89 turbo 6
10 - Was ist das rock'n'roll
11 - Mathématiques souterraines
12 - La vierge au dodge 51
13 - Bipède à station verticale
14 - Septembre rose
15 - Tita dong dong song
16 - Je t'en remets au vent

Entrer Le Numéro du Titre (ou plusieurs ex: 10-11) :

 

#8 30-06-2020 08:26:41

Anonyme
Invité

Re : Lire simplement un CD Audio avec mplayer (par "gnudb.gnudb.org")

Bonjour,

voilà avec les modifications :


#!/bin/bash

DEVICE=/dev/sr0
cddb_folder=~/.cddb

  if [ ! -d "$cddb_folder" ]; then
echo "Le dossier n'existe pas ... création de .cddb"
mkdir "$cddb_folder"

  fi

CDDA=$(cdparanoia -Q 2>&1 | grep -c 'audio only')


if [ "$CDDA" -eq 1 ]; then

CDDBURL="http://gnudb.gnudb.org/~cddb/cddb.cgi"
MYUSER="whoami"
MYHOST="hostname"
DISCID=$(cd-discid "$DEVICE" 2>/dev/null) || exit 1
NAME_FILE=$(cd-discid "$DEVICE" 2>/dev/null | awk '{print $1}')
CD=$(cddb-tool query "$CDDBURL" 1 "$MYUSER" "$MYHOST" "$DISCID")



## Vérification de la présence du fichier.
## Si ce n'est pas le cas, on le télécharge.
if [[ ! -f ~/.cddb/"$NAME_FILE" ]]; then
echo ""
echo  "Le fichier $NAME_FILE est absent."
sleep 2
cddb-tool read "$CDDBURL" 3 "$MYUSER" "$MYHOST" \
"$(echo "$CD" | head -1 | awk '{print $2 " " $3}')" > ~/.cddb/"$NAME_FILE"



fi

## On vérifie si celui-ci est bien rempli.
## Si ce n'est pas le cas, on le re-télécharge.
SIZE_NAME_FILE=$(stat -c%s ~/.cddb/"$NAME_FILE")


if [[ -f ~/.cddb/"$NAME_FILE" ]] &&  [[ "$SIZE_NAME_FILE" -eq 0 ]]; then
echo ""
echo  "Le fichier $NAME_FILE est vide, on re-télécharge les infos."
sleep 2
cddb-tool read "$CDDBURL" 3 "$MYUSER" "$MYHOST" \
"$(echo "$CD" | head -1 | awk '{print $2 " " $3}')" > ~/.cddb/"$NAME_FILE"


  fi


### vérification de l'encodage du fichier.
### Conversion si besoin.
verif_charset=$(file -i ~/.cddb/"$NAME_FILE" | awk ' /charset=iso-8859-1/ {print $3}')

if [[ "$verif_charset" == "charset=iso-8859-1" ]]; then
echo  "Le fichier $NAME_FILE est encodé en charset=iso-8859-1, on le passe en UTF8."
sleep 2
iconv -f ISO-8859-1 -t UTF8 ~/.cddb/"$NAME_FILE" -o ~/.cddb/"$NAME_FILE-save"
rm -f ~/.cddb/"$NAME_FILE"
mv ~/.cddb/"$NAME_FILE-save" ~/.cddb/"$NAME_FILE"


  fi



SIZE_NAME_FILE=$(stat -c%s ~/.cddb/"$NAME_FILE")

### Le fichier a les conditions requises, on passe à la lecture.
### Si pas de fichier, on quitte.
if [[ -f ~/.cddb/"$NAME_FILE" ]] && [[ "$SIZE_NAME_FILE" -ne 0 ]] ; then
echo ""
echo  "Le fichier $NAME_FILE est présent, valide et bien encodé en UTF8."
echo ""
cat ~/.cddb/"$NAME_FILE" | awk '/^TTITLE/{sub("^TTITLE[0-9]+=","",$0);printf"%02d - %s\n",(i+++1),$0}'
echo ""
echo -n "Entrer Le Numéro du Titre (ou plusieurs ex: 10-11) :"
read -r num
echo "$num"  
mplayer -ao alsa -noconfig all -nolirc -cdrom-device "$DEVICE" cdda://"$num" -cache 8000 -cache-min 80;
else
echo ""
echo  "Le fichier $NAME_FILE n'a pas été rempli en infos."
echo  "Le site est down, on quitte."
rm -f ~/.cddb/"$NAME_FILE"
sleep 2

 
  fi


else
echo "Pas de CD Audio ... Terminé."
sleep 2
exit 0
fi
 



Coffret Queen 3 CD

Non présent :


Le fichier e00da811 est absent.

Le fichier e00da811 est présent, valide et bien encodé en UTF8.

01 - Bohemian rhapsody  (1975)
02 - Another one bites the dust  (1980)
03 - Killer Queen  (1974)
04 - Fat bottomed girls  (1978)
05 - Bicycle race  (1978)
06 - You're my best friend  (1976)
07 - Don't stop me now  (1979)
08 - Save me  (1980)
09 - Crazy little thing called love  (1979)
10 - Somebody to love  (1976)
11 - Now I'm here  (1975)
12 - Good old fashioned lover boy  (1977)
13 - Play the game  (1980)
14 - Flash  (1980)
15 - Seven seas of Rhye  (1974)
16 - We will rock you  (1977)
17 - We are the champions  (1977)

Entrer Le Numéro du Titre (ou plusieurs ex: 10-11) :

 




Maintenant, qu'il est présent, on peut relancer le script pour vérifier.


Le fichier e00da811 est présent, valide et bien encodé en UTF8.

01 - Bohemian rhapsody  (1975)
02 - Another one bites the dust  (1980)
03 - Killer Queen  (1974)
04 - Fat bottomed girls  (1978)
05 - Bicycle race  (1978)
06 - You're my best friend  (1976)
07 - Don't stop me now  (1979)
08 - Save me  (1980)
09 - Crazy little thing called love  (1979)
10 - Somebody to love  (1976)
11 - Now I'm here  (1975)
12 - Good old fashioned lover boy  (1977)
13 - Play the game  (1980)
14 - Flash  (1980)
15 - Seven seas of Rhye  (1974)
16 - We will rock you  (1977)
17 - We are the champions  (1977)

Entrer Le Numéro du Titre (ou plusieurs ex: 10-11) :
 




Le 3ème, le fichier est en charset=iso-8859-1


Le fichier 0a115111 est absent.
Le fichier 0a115111 est encodé en charset=iso-8859-1, on le passe en UTF8.

Le fichier 0a115111 est présent, valide et bien encodé en UTF8.

01 - The Show Must Go On (Queen & Elton John)
02 - Under Pressure (Queen & David Bowie Rah Mix)
03 - Barcelona (Freddie Mercury & Montserrat Caballé)
04 - Too Much Love Will Kill You
05 - Somebody To Love (Queen & George Michael)
06 - You Don't Fool Me
07 - Heaven For Everyone
08 - Las Palabras De Amor
09 - Driven By You (Brian May)
10 - Living On My Own (Freddie Mercury)
11 - Let Me Live
12 - The Great Pretender (Freddie Mercury)
13 - Princes Of The Universe
14 - Another One Bites The Dust (Queen & Wyclef Jean)
15 - No-One But You
16 - These Are The Days Of Our Lives
17 - Thank God It's Christmas

Entrer Le Numéro du Titre (ou plusieurs ex: 10-11) :

 



On vérifie ce 3ème CD :


Le fichier 0a115111 est présent, valide et bien encodé en UTF8.

01 - The Show Must Go On (Queen & Elton John)
02 - Under Pressure (Queen & David Bowie Rah Mix)
03 - Barcelona (Freddie Mercury & Montserrat Caballé)
04 - Too Much Love Will Kill You
05 - Somebody To Love (Queen & George Michael)
06 - You Don't Fool Me
07 - Heaven For Everyone
08 - Las Palabras De Amor
09 - Driven By You (Brian May)
10 - Living On My Own (Freddie Mercury)
11 - Let Me Live
12 - The Great Pretender (Freddie Mercury)
13 - Princes Of The Universe
14 - Another One Bites The Dust (Queen & Wyclef Jean)
15 - No-One But You
16 - These Are The Days Of Our Lives
17 - Thank God It's Christmas

Entrer Le Numéro du Titre (ou plusieurs ex: 10-11) :
 



MPLAYER_CDDB.png

Voilà smile

Dernière modification par Anonyme (30-06-2020 08:59:08)

Pied de page des forums