Debian-facile

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

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

#1 22-09-2020 08:34:28

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

cdda2wav Wav + cue

Bonjour,

je met cette commande qui peut servir pour ripper vite fait un cd audio en fichier wave unique avec son cuesheet ( avec les titres )


cdda2wav -cddbp-server=gnudb.gnudb.org -cuefile speed=48 -paraopts=disable -L 0 -t all -D /dev/sr0 SORTIE.wav




FREEDB : -cddbp-server=gnudb.gnudb.org
Choix si plusieurs infos FREEDB : -L 0
Fichier Unique : -t all
CUE : -cuefile
VITESSE ( à choisir selon son lecteur) : speed=48  
PARANOIA ( je le désactive, pas de vérification "c'est rapide") : -paraopts=disable
 



EDIT : Par contre, impossible de trouver cdda2wav dans le paquet icedax sous Buster hmm

Dernière modification par golgot200 (22-09-2020 08:41:32)

Hors ligne

#2 29-09-2020 14:27:34

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

Re : cdda2wav Wav + cue

Bonjour,

histoire de me garder une trace :


Download AlbumArt.jpg
WAV + CUE + fichiers Tag & Toc
Sauvegarde du fichier CDDB en local avec son identifiant
Single Flac + Tags
Split du Single Flac en multi Flac + Tags + m3u
 





#!/bin/bash

#https://unix.stackexchange.com/questions/92890/reading-amount-of-tracks-from-an-audio-cd
## https://hydrogenaud.io/index.php?topic=94660.0
## https://stackoverflow.com/questions/53445290/shell-add-double-quotes-at-the-begging-and-end-of-specific-variable

## sudo cdda2wav -J -L 1 -D /dev/sr1
## cat /proc/sys/dev/cdrom/info | grep "drive name:" | awk '{print $3}'

CDDA=$(cdparanoia -Q 2>&1 | grep -c 'audio only')
if [ "$CDDA" -eq 1 ]; then

DEVICE=/dev/sr0

ALBUMNAME=$(curl -s "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)


PERFORMER=$(echo $ALBUMNAME |  awk -F' -' '{print $1}')
SACAD_PERFORMER=\"${PERFORMER}\"
ALBUM_TITLE=$(echo $ALBUMNAME |  awk -F'- ' '{print $2}')
SACAD_ALBUM_TITLE=\"${ALBUM_TITLE}\"



    echo "Artist detected as: $ALBUMNAME"
read -r -p "Ce nom convient-il ? [Y/n] " input
case $input in
    [yY][eE][sS]|[yY])
 
    echo "Oui"  
    mkdir -p "$ALBUMNAME"
    sacad "$SACAD_PERFORMER" "$SACAD_ALBUM_TITLE"  500 "$ALBUMNAME/AlbumArt.jpg"
  ;;
    [nN][oO]|[nN])
    echo -e "Non"
read -r -p "Entrer un nouveau nom: " ALBUMNAME
if [[ -z "$ALBUMNAME" ]]; then
    echo "Invalid input..."
    echo "Quit"
     exit 1
else    
    mkdir -p "$ALBUMNAME"
    sacad "$SACAD_PERFORMER" "$SACAD_ALBUM_TITLE"  500 "$ALBUMNAME/AlbumArt.jpg"
fi
  ;;
    *)
 echo "Invalid input..."
 echo "Quit"
 exit 1
 ;;
esac



discid=$(curl -s "http://freedb.freac.org/~cddb/cddb.cgi?cmd=cddb+query+$(cd-discid "$DEVICE" | sed 's/ /+/g')&hello=user+hostname+cdparanoia+3&proto=3" | head -n1 | awk '{print $3}';)

SPEED=$(more /proc/sys/dev/cdrom/info | egrep -i --color 'drive speed:' | awk '{print $3}')
sudo cdda2wav -cddbp-server=gnudb.gnudb.org speed="$SPEED" -paraopts=disable -L 0 -t all -D "$DEVICE" "$ALBUMNAME/$ALBUMNAME.wav"



## Nina Hagen - rangeh´n.cddb: text/x-xmcd; charset=iso-8859-1
CODE=$( file -i "$ALBUMNAME/$ALBUMNAME.cddb" | sed 's/^.*charset=/charset=/')


if [[ "$CODE" == "charset=iso-8859-1" ]]; then
echo "Conversion iso-8859-1 en utf-8."
iconv --from-code=ISO-8859-1 --to-code=UTF-8 "$ALBUMNAME/$ALBUMNAME.cddb" > "$ALBUMNAME/$discid"
rm -f "$ALBUMNAME/$ALBUMNAME.cddb"
else
    echo "Ce n'est pas un fichier iso-8859-1 - Pas de conversion"
mv "$ALBUMNAME/$ALBUMNAME.cddb" "$ALBUMNAME/$discid"


fi




cdrdao read-toc --fast-toc --device "$DEVICE" --driver generic-mmc:0x20000 --paranoia-mode 0 --with-cddb --cddb-servers freedb.freac.org:/~cddb/cddb.cgi "$ALBUMNAME/$ALBUMNAME.toc"
rm -f "$ALBUMNAME/$ALBUMNAME.cdind"
rm -f "$ALBUMNAME/$ALBUMNAME.cdindex"
rm -f "$ALBUMNAME/$ALBUMNAME.cdtext"




## 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"

#sed -i -e 's/\\"//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"



# CRÉATION DU SCRIPT "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"

cat "$ALBUMNAME/$ALBUMNAME.toc" | "$ALBUMNAME"/./toc2tag.pl > "$ALBUMNAME/$ALBUMNAME.tags"


rm -f "$ALBUMNAME/toc2tag.pl"


yatoc2cue "$ALBUMNAME/$ALBUMNAME.toc" "$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"


shnsplit -d "$ALBUMNAME"/FLACS "$ALBUMNAME"/"$ALBUMNAME.flac" -f "$ALBUMNAME"/"$ALBUMNAME.cue" -o "cust ext=flac flac -V --fast -o %f -" -t "%n - %t"
rm -f "$ALBUMNAME"/FLACS/00*pregap*
cuetag.sh "$ALBUMNAME"/"$ALBUMNAME.cue" "$ALBUMNAME"/FLACS/*.flac


## CRÉER UN FICHIER M3U POUR LES FLACS SÉPARÉS.
( cd "$ALBUMNAME"/FLACS

  echo '#EXTM3U'
for file in *.flac; do
  echo '#EXTINF:0,'"$file"
  echo "$file"
done ) >> "$ALBUMNAME/FLACS/$ALBUMNAME.m3u"



else
echo "Pas de CD Audio ... Terminé."

exit 0


fi


 




Files.png

Flacs_m3u.png

Dernière modification par golgot200 (29-09-2020 14:41:04)

Hors ligne

#3 08-10-2020 08:52:16

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

Re : cdda2wav Wav + cue

Bonjour,

une améioration à venir sur le choix du titre à choisir :

Choix.png



CD Audio détecté.

Choississez votre titre:
1.  ACDC - Rock Or Bust
2.  AC \\\\ DC - Rock Or Bust
3.  Choix manuel

Entrer votre choix, 0 pour quitter: 2


Le nom ne dépasse pas les 94 caractères
AC \\\\ DC - Rock Or Bust

Type: ROM, Vendor 'LITE-ON ' Model 'DVDRW LH-20A1P  ' Revision 'KL05' MMC+CDDA
536576 bytes buffer memory requested, transfer size 122880 bytes, 4 buffers, 52 sectors
#Cdda2wav version 3.02a09_linux_4.15.0-54-generic_x86_64_x86_64, real time sched., soundcard, libparanoia support
Disc identification: 88875034852
AUDIOtrack pre-emphasis  copy-permitted tracktype channels
      1-11           no              no     audio    2
Table of Contents: total tracks:11, (total time 34:58.14)
  1.( 3:03.04),  2.( 2:47.10),  3.( 3:24.28),  4.( 2:57.19),  5.( 3:35.33),
  6.( 3:22.44),  7.( 2:44.17),  8.( 3:30.15),  9.( 2:42.63), 10.( 3:09.54),
 11.( 3:41.27)

Table of Contents: starting sectors
  1.(       0),  2.(   13729),  3.(   26264),  4.(   41592),  5.(   54886),
  6.(   71044),  7.(   86238),  8.(   98555),  9.(  114320), 10.(  126533),
 11.(  140762), lead-out(  157364)
CDINDEX discid: l1xkeXZIVEjPOWABE13RWUqT7e4-
CDDB discid: 0x9e08320b
CD-Text: detected
CD-Extra: not detected
Album title: 'Rock or Bust' [from AC/DC]
Track  1: 'Rock or Bust'
Track  2: 'Play Ball'
Track  3: 'Rock The Blues Away'
Track  4: 'Miss Adventure'
Track  5: 'Dogs of War'
Track  6: 'Got Some Rock & Roll Thunder'
Track  7: 'Hard Times'
Track  8: 'Baptism By Fire'
Track  9: 'Rock the House'
Track 10: 'Sweet Candy'
Track 11: 'Emission Control'
W Option -tall 'all tracks into one file' disables generation of info files!
samplefile size will be 370120172 bytes.
'...\\\\\\\\ DC - Rock Or Bustereo with 16 bits @ 44100.0 Hz ->'AC \\\\\\\\ DC - Rock Or Bust
using lib paranoia for reading.
percent_done:
100%  track  1 'Rock or Bust' recorded successfully
100%  0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift
100%  280 reads(101,6%) 0 overlap(0 .. 0)
100%  track  2 'Play Ball' recorded successfully
100%  0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift
100%  248 reads(98,9%) 0 overlap(0 .. 0)
100%  track  3 'Rock The Blues Away' recorded successfully
100%  0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift
100%  304 reads(99,4%) 0 overlap(0 .. 0)
100%  track  4 'Miss Adventure' recorded successfully
100%  0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift
100%  272 reads(102,2%) 0 overlap(0 .. 0)
100%  track  5 'Dogs of War' recorded successfully
100%  0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift
100%  320 reads(98,9%) 0 overlap(0 .. 0)
100%  track  6 'Got Some Rock & Roll Thunder' recorded successfully
100%  0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift
100%  304 reads(100,1%) 0 overlap(0 .. 0)
100%  track  7 'Hard Times' recorded successfully
100%  0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift
100%  248 reads(100,6%) 0 overlap(0 .. 0)
100%  track  8 'Baptism By Fire' recorded successfully
100%  0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift
100%  312 reads(99,0%) 0 overlap(0 .. 0)
100%  track  9 'Rock the House' recorded successfully
100%  0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift
100%  248 reads(101,5%) 0 overlap(0 .. 0)
100%  track 10 'Sweet Candy' recorded successfully
100%  0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift
100%  280 reads(98,6%) 0 overlap(0 .. 0)
100%  track 11 'Emission Control' recorded successfully
100%  0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift
100%  332 reads(99,8%) 0 overlap(0 .. 0)
OK, Rip terminé!

 

Dernière modification par golgot200 (08-10-2020 08:56:02)

Hors ligne

#4 16-10-2020 19:27:01

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

Re : cdda2wav Wav + cue

Bonsoir,

il est possible de porter ce script sur Debian Buster.
Il faudra donc oublier le programme "yatoc2cue" seulement sur Archlinux pour se fixer sur cueconvert (on oublie toc2cue).
Ainsi que cdda2wav "Icedax" qui apparement n'est pas non plus dans le paquet sous Buster et utiliser cdparanoia et l'option de correction sur "disable".
Utiliser cueconvert peut poser un problème avec le silence en début de disque sur certains CD, mais c'est jouable.
Et le duo "cuebreakpoints | shnsplit" qui split bien le single Flac mais qui ne renomme pas les fichiers séparés par leurs noms respectifs.
Un for i in ..  done pourrait faire le job. Bref, si l'envie ne me manque pas trop, je verrai ça ...

Dernière modification par golgot200 (16-10-2020 19:50:07)

Hors ligne

#5 17-10-2020 08:20:04

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

Re : cdda2wav Wav + cue

Bonjour,

Sur Debian Buster.


Est-ce qu'une personne charitable pourrait tester ce script sous Debian Buster et éventuellement me mettre les paquets Debian à utiliser pour le Job. Le rip se fait en moins de 4 minutes ( Rip, encodage, tag et split ) . Une connection internet est souhaitée. smile Pleeeease !!!  tongue

Programmes chez moi :

cdparanoia cdrdao flac cuebreakpoints




#!/bin/bash
## Programmes : cdparanoia cdrdao flac cuebreakpoints
START_TIME=$(date +%s)



CDDA=$(cdparanoia -Q 2>&1 | grep -c 'audio only')
if [ "$CDDA" -eq 1 ]; then
echo "CD Audio détecté."
echo ""
else
echo "Pas de CD Audio ... Terminé."
exit 0


   fi


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.
freac=$(curl -s "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=$(curl -s "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=$(curl -s "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)

## ## http://freedb.dbpoweramp.com:80

while true; do
echo "Choississez votre titre:"
echo -e "\e[3;32m1. \033[m \e[3;94m$freac\033[m"
echo -e "\e[3;32m2. \033[m \e[3;94m$gnudb\033[m"
echo -e "\e[3;32m3. \033[m \e[3;94m$dbpoweramp\033[m"
echo -e "\e[3;32m4. \033[m Choix manuel"
echo

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

case $choice in
     1)
ALBUMNAME="$freac"
 
    mkdir -p "$ALBUMNAME"
    ( cd "$ALBUMNAME" || exit
    cdparanoia -Z -S "$SPEED" 1- -w "$ALBUMNAME.wav" )
    echo "OK, Rip terminé!"
    break
     ;;
     2)
ALBUMNAME="$gnudb"
     
    mkdir -p "$ALBUMNAME"
    ( cd "$ALBUMNAME" || exit
    cdparanoia -Z -S "$SPEED" 1- -w "$ALBUMNAME.wav" )
    echo "OK, Rip terminé!"
    break
     ;;
     3)
ALBUMNAME="$dbpoweramp"
     
    mkdir -p "$ALBUMNAME"
    ( cd "$ALBUMNAME" || exit
    cdparanoia -Z -S "$SPEED" 1- -w "$ALBUMNAME.wav" )
    echo "OK, Rip terminé!"
    break
     ;;
     4)
     read -r -p "Entrer un nouveau nom de dossier: " ALBUMNAME
if [[ -z "$ALBUMNAME" ]]; then
    echo "Invalid input..."
    echo "Quit"
    exit 1
else    
    mkdir -p "$ALBUMNAME"
    ( cd "$ALBUMNAME" || exit
    cdparanoia -Z -S "$SPEED" 1- -w "$ALBUMNAME.wav" )  
    echo "OK, Rip terminé!"
fi
    break
    ;;
    0)
    echo "OK, see you!"
    break
    ;;
    *)
    echo "Invalid input..."
    echo "Quit"
    exit 1
    ;;
esac  
done



#### Récupération du fichier CDDB.
#### Conversion en UTF-8 si necessaire.
#### Supression de la première et dernière dans le CDDB
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}')" > "$ALBUMNAME/$NAME_FILE"
sed -i -e '$d' -e '1d' "$ALBUMNAME/$NAME_FILE"

CODE=$( file -i "$ALBUMNAME/$NAME_FILE" | sed 's/^.*charset=/charset=/')

if [[ "$CODE" == "charset=iso-8859-1" ]]; then
echo "Conversion iso-8859-1 en utf-8."
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 "Ce n'est pas un fichier iso-8859-1 - Pas de conversion"



fi













#### --driver generic-mmc:0x20000 n'est pas nécessaire pour la génération seule du TOC
cdrdao read-toc --fast-toc --device "$DEVICE" --driver generic-mmc:0x20000 --paranoia-mode 0 \
            --with-cddb --cddb-servers gnudb.gnudb.org:/~cddb/cddb.cgi "$ALBUMNAME/$ALBUMNAME.toc"




## 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"





# 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"

#### 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 -"
cuetag.sh "$ALBUMNAME/$ALBUMNAME.cue" "$ALBUMNAME/FLACS"/split-track*.flac


#   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'`


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')
#       track=$( mediainfo "$i" | awk '/Track name/ && /Position/ { print $4 }' )
       

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.
( cd "$ALBUMNAME/FLACS" || exit

  echo '#EXTM3U'
for file in *.flac; do
  echo '#EXTINF:0,'"$file"
  echo "$file"
done ) >> "$ALBUMNAME/FLACS/$ALBUMNAME.m3u"


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

Dernière modification par golgot200 (17-10-2020 08:20:37)

Hors ligne

#6 17-10-2020 10:44:30

Cram28
Membre
Lieu : Eure-et-Loir
Distrib. : Debian Buster
Noyau : Linux 4.19.0-11-amd64
(G)UI : Xfce
Inscription : 14-09-2020

Re : cdda2wav Wav + cue

Bonjour,

Bon je m'y colle... wink
Mais j'ai déjà sans doute des choses installées, visiblement pas tout le nécessaire.

  1. Après recherche, l’outil cuebreakpoints appartient au paquet 'cuetools':


    $ apt-cache policy cdparanoia cdrdao flac cuetools
    cdparanoia:
      Installé : (aucun)
      Candidat : 3.10.2+debian-13
     Table de version :
         3.10.2+debian-13 500
            500 http://deb.debian.org/debian buster/main amd64 Packages
    cdrdao:
      Installé : 1:1.2.4-1
      Candidat : 1:1.2.4-1
     Table de version :
     *** 1:1.2.4-1 500
            500 http://deb.debian.org/debian buster/main amd64 Packages
            100 /var/lib/dpkg/status
    flac:
      Installé : (aucun)
      Candidat : 1.3.2-3
     Table de version :
         1.3.2-3 500
            500 http://deb.debian.org/debian buster/main amd64 Packages
    cuetools:
      Installé : (aucun)
      Candidat : 1.4.0-2+b1
     Table de version :
         1.4.0-2+b1 500
            500 http://deb.debian.org/debian buster/main amd64 Packages
     

  2. J'installe ce qui manque:

    $ sudo apt install -y cdparanoia flac cuetools

  3. Lancement:

    $ ./df_rip_audio.sh
    CD Audio détecté.

    ./df_rip_audio.sh: ligne 25: cd-discid : commande introuvable
    ./df_rip_audio.sh: ligne 29: cd-discid : commande introuvable
    ./df_rip_audio.sh: ligne 33: cd-discid : commande introuvable
    Choississez votre titre:
    1.  error.
    2.  error.
    3.  error.
    4.  Choix manuel

    Entrer votre choix, 0 pour quitter:
     

  4. Manque un bout...
    J'ajoute:

    $ sudo apt install -y cd-discid

  5. Relance ...

    $ ./df_rip_audio.sh
    CD Audio détecté.

    Choississez votre titre:
    1.  Paco de Lucía - Entre Dos Aguas
    2.  Paco de Lucía - Entre Dos Aguas
    3.  Paco de Lucía - Entre Dos Aguas
    4.  Choix manuel

    Entrer votre choix, 0 pour quitter:
     



    Heu... voyons... hop au milieu wink choix <2>
    J'imagine qu'il s'agit de la liste des réponses du serveur cddb.
    Peut-être afficher un élément différenciant les retours ? Peut-être choix "album" plutôt que "titre" ?

    Et après, ça se gatte: Validation du choix <2> donc:


    cdparanoia III release 10.2 (September 11, 2008)

    Attempting to set speed to 48x...
    Ripping from sector      33 (track  1 [0:00.00])
        to sector  243234 (track 14 [2:51.46])

    outputting to Paco de Lucía - Entre Dos Aguas.wav

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

    Done.


    OK, Rip terminé!
    ./df_rip_audio.sh: ligne 113: cddb-tool : commande introuvable
    ./df_rip_audio.sh: ligne 115: cddb-tool : commande introuvable
    Ce n'est pas un fichier iso-8859-1 - Pas de conversion
    Cdrdao version 1.2.4 - (C) Andreas Mueller <andreas@daneb.de>
    /dev/sr0: ATAPI iHAS124   C Rev: LL06
    Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x20000)

    Reading toc data...

    Track   Mode    Flags  Start                Length
    ------------------------------------------------------------
     1      AUDIO   0      00:00:33(    33)     06:05:67( 27442)
     2      AUDIO   0      06:06:25( 27475)     02:58:08( 13358)
     3      AUDIO   0      09:04:33( 40833)     04:31:62( 20387)
     4      AUDIO   0      13:36:20( 61220)     03:24:68( 15368)
     5      AUDIO   0      17:01:13( 76588)     05:10:32( 23282)
     6      AUDIO   0      22:11:45( 99870)     04:54:43( 22093)
     7      AUDIO   0      27:06:13(121963)     02:40:07( 12007)
     8      AUDIO   0      29:46:20(133970)     03:25:25( 15400)
     9      AUDIO   0      33:11:45(149370)     03:59:48( 17973)
    10      AUDIO   0      37:11:18(167343)     03:02:02( 13652)
    11      AUDIO   0      40:13:20(180995)     04:15:00( 19125)
    12      AUDIO   0      44:28:20(200120)     03:24:20( 15320)
    13      AUDIO   0      47:52:40(215440)     03:18:73( 14923)
    14      AUDIO   0      51:11:38(230363)     02:51:47( 12872)
    Leadout AUDIO   0      54:03:10(243235)

    PQ sub-channel reading (audio track) is supported, data format is BCD.
    Raw P-W sub-channel reading (audio track) is supported.
    Cooked R-W sub-channel reading (audio track) is supported.
    Analyzing track 01 (AUDIO): start 00:00:33, length 06:05:67...
    Found pre-gap: 00:00:33
    Analyzing track 02 (AUDIO): start 06:06:25, length 02:58:08...
    Analyzing track 03 (AUDIO): start 09:04:33, length 04:31:62...
    Analyzing track 04 (AUDIO): start 13:36:20, length 03:24:68...
    Analyzing track 05 (AUDIO): start 17:01:13, length 05:10:32...
    Analyzing track 06 (AUDIO): start 22:11:45, length 04:54:43...
    Analyzing track 07 (AUDIO): start 27:06:13, length 02:40:07...
    Analyzing track 08 (AUDIO): start 29:46:20, length 03:25:25...
    Analyzing track 09 (AUDIO): start 33:11:45, length 03:59:48...
    Analyzing track 10 (AUDIO): start 37:11:18, length 03:02:02...
    Analyzing track 11 (AUDIO): start 40:13:20, length 04:15:00...
    Analyzing track 12 (AUDIO): start 44:28:20, length 03:24:20...
    Analyzing track 13 (AUDIO): start 47:52:40, length 03:18:73...
    Analyzing track 14 (AUDIO): start 51:11:38, length 02:51:47...
    Found disk catalogue number.
             
    CDDB: Connecting to http://gnudb.gnudb.org:80/~cddb/cddb.cgi ...
    CDDB: Ok.
    Reading CDDB record for: c90cab0e-folk-Paco de Luca / Entre Dos Aguas
    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.

    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.

    Paco de Lucía - Entre Dos Aguas.wav: wrote 285130577 bytes, ratio=0,498
    ./df_rip_audio.sh: ligne 294: shnsplit : commande introuvable
    ./df_rip_audio.sh: ligne 295: cuetag.sh : commande introuvable
    Paco de Lucía - Entre Dos Aguas/FLACS/split-track*: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE"

    The FLAC file could not be opened.  Most likely the file does not exist
    or is not readable.
    Paco de Lucía - Entre Dos Aguas/FLACS/split-track*: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE"

    The FLAC file could not be opened.  Most likely the file does not exist
    or is not readable.
    Paco de Lucía - Entre Dos Aguas/FLACS/split-track*: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE"

    The FLAC file could not be opened.  Most likely the file does not exist
    or is not readable.
    Paco de Lucía - Entre Dos Aguas/FLACS/split-track*: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE"

    The FLAC file could not be opened.  Most likely the file does not exist
    or is not readable.
    mv: impossible d'évaluer 'Paco de Lucía - Entre Dos Aguas/FLACS/split-track*': Aucun fichier ou dossier de ce type

    Le fichier Paco de Lucía - Entre Dos Aguas/FLACS/split-track* a bien été renommé avec son numéro, ainsi que son titre:
     - .flac

    Temps total écoulé: 00:07:54  (HH:MM:SS)

  6. manquent: 'cddb-tool', 'shnsplit' et 'cuetag.sh' pas trouvé...
    Après recherches, pour 'shnsplit' c'est dans le paquet 'shntool':

    $ sudo apt install -y shntool



Par contre on dirait bien que pour 'cddb-tool' il faille installer 'abcde', outil "à part entière".
Je crois comprendre que 'cuetag.sh' appartient à 'cuetools' mais je ne sais pas pourquoi il ne le trouve pas du coup... Un chemin ?
Faut installer 'abcd' ?

Il y a quand même un retour:


$ tree Paco\ de\ Lucía\ -\ Entre\ Dos\ Aguas/
Paco de Lucía - Entre Dos Aguas/
├── c90cab0e
├── FLACS
│   └── Paco de Lucía - Entre Dos Aguas.m3u
├── Paco de Lucía - Entre Dos Aguas.cue
├── Paco de Lucía - Entre Dos Aguas.flac
├── Paco de Lucía - Entre Dos Aguas.tags
├── Paco de Lucía - Entre Dos Aguas.toc
├── Paco de Lucía - Entre Dos Aguas.wav
└── toc2tag.pl

1 directory, 8 files
 



@+


Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."

Hors ligne

#7 17-10-2020 18:19:34

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

Re : cdda2wav Wav + cue

@Cram28

Bonsoir et tout d'abord, merci pour le test smile

Oui, je viens de voir que cddb-tool sous debian se trouve dans le paquet abcde contrairement à moi sous Arch.

Ton retour est déja bien, on voit que le Wav, le cue, le cddb, le flac unique,le tag et le toc sont bien là. le m3u aussi mais pas les splits du flac unique dans dossier FLACS
Mais je pense qu'on tient le bont bout. wink

Cram28 a écrit :


Je crois comprendre que 'cuetag.sh' appartient à 'cuetools' mais je ne sais pas pourquoi il ne le trouve pas du coup... Un chemin ?
Faut installer 'abcd' ?



Si, j'en crois ce lien :
https://github.com/NixOS/nixpkgs/pull/56397

Dans le script, mais je peux me gourrer, il faudrait mettre cuetag au lieu de cuetag.sh

EDIT: Oui, c'est bien ça dans Buster pour le paquet cuetools


/usr/bin/cuebreakpoints
/usr/bin/cueconvert
/usr/bin/cueprint
/usr/bin/cuetag
/usr/share/doc/cuetools/README
/usr/share/doc/cuetools/changelog.Debian.amd64.gz
/usr/share/doc/cuetools/changelog.Debian.gz
/usr/share/doc/cuetools/changelog.gz
/usr/share/doc/cuetools/copyright
/usr/share/man/man1/cuebreakpoints.1.gz
/usr/share/man/man1/cueconvert.1.gz
/usr/share/man/man1/cueprint.1.gz
/usr/share/man/man1/cuetag.1.gz
 

Dernière modification par golgot200 (17-10-2020 18:28:26)

Hors ligne

#8 17-10-2020 18:31:30

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

Re : cdda2wav Wav + cue

Je vais reproduire l'erreur inverse sous ma Arch en mettant dans le script cuetag au lieu de cuetag.sh. Je devrait avoir le même résultat que toi au final. smile

EDIT:

Un truc tout bête pour cuetag ou cuetag.sh

Dans le script

Détection Archlinux ou Debian et condition :


Si Debian
commande cuetag bla bla bla
ou alors
commande cuetag.sh bla bla bla
 

Dernière modification par golgot200 (17-10-2020 18:37:20)

Hors ligne

#9 17-10-2020 18:41:12

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

Re : cdda2wav Wav + cue

En faisant avec cuetag

toi

./df_rip_audio.sh: ligne 295: cuetag.sh : commande introuvable



moi

./case7_test+condition_paranoia+cueconvert: ligne 295: cuetag : commande introuvable



Et même résulat final wink

Hors ligne

#10 17-10-2020 19:28:47

Cram28
Membre
Lieu : Eure-et-Loir
Distrib. : Debian Buster
Noyau : Linux 4.19.0-11-amd64
(G)UI : Xfce
Inscription : 14-09-2020

Re : cdda2wav Wav + cue

Bonsoir,

Super ! yes.gif

J'ai relancé en virant le .sh de cuetag.sh; mais je n'ai pas installé 'abcde'.
'cddb-tool' est toujours en erreur donc, mais çà va beaucoup plus loin:


CD Audio détecté.

Choississez votre titre:
1.  Paco de Lucía - Entre Dos Aguas
2.  Paco de Lucía - Entre Dos Aguas
3.  Paco de Lucía - Entre Dos Aguas
4.  Choix manuel

Entrer votre choix, 0 pour quitter: 2

cdparanoia III release 10.2 (September 11, 2008)

 

Attempting to set speed to 48x...
Ripping from sector      33 (track  1 [0:00.00])
    to sector  243234 (track 14 [2:51.46])

outputting to Paco de Lucía - Entre Dos Aguas.wav

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

Done.


OK, Rip terminé!
./df_rip_audio.sh: ligne 113: cddb-tool : commande introuvable
./df_rip_audio.sh: ligne 115: cddb-tool : commande introuvable
Ce n'est pas un fichier iso-8859-1 - Pas de conversion
Cdrdao version 1.2.4 - (C) Andreas Mueller <andreas@daneb.de>
/dev/sr0: ATAPI iHAS124   C Rev: LL06
Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x20000)

Reading toc data...

Track   Mode    Flags  Start                Length
------------------------------------------------------------
 1      AUDIO   0      00:00:33(    33)     06:05:67( 27442)
 2      AUDIO   0      06:06:25( 27475)     02:58:08( 13358)
 3      AUDIO   0      09:04:33( 40833)     04:31:62( 20387)
 4      AUDIO   0      13:36:20( 61220)     03:24:68( 15368)
 5      AUDIO   0      17:01:13( 76588)     05:10:32( 23282)
 6      AUDIO   0      22:11:45( 99870)     04:54:43( 22093)
 7      AUDIO   0      27:06:13(121963)     02:40:07( 12007)
 8      AUDIO   0      29:46:20(133970)     03:25:25( 15400)
 9      AUDIO   0      33:11:45(149370)     03:59:48( 17973)
10      AUDIO   0      37:11:18(167343)     03:02:02( 13652)
11      AUDIO   0      40:13:20(180995)     04:15:00( 19125)
12      AUDIO   0      44:28:20(200120)     03:24:20( 15320)
13      AUDIO   0      47:52:40(215440)     03:18:73( 14923)
14      AUDIO   0      51:11:38(230363)     02:51:47( 12872)
Leadout AUDIO   0      54:03:10(243235)

PQ sub-channel reading (audio track) is supported, data format is BCD.
Raw P-W sub-channel reading (audio track) is supported.
Cooked R-W sub-channel reading (audio track) is supported.
Analyzing track 01 (AUDIO): start 00:00:33, length 06:05:67...
Found pre-gap: 00:00:33
Analyzing track 02 (AUDIO): start 06:06:25, length 02:58:08...
Analyzing track 03 (AUDIO): start 09:04:33, length 04:31:62...
Analyzing track 04 (AUDIO): start 13:36:20, length 03:24:68...
Analyzing track 05 (AUDIO): start 17:01:13, length 05:10:32...
Analyzing track 06 (AUDIO): start 22:11:45, length 04:54:43...
Analyzing track 07 (AUDIO): start 27:06:13, length 02:40:07...
Analyzing track 08 (AUDIO): start 29:46:20, length 03:25:25...
Analyzing track 09 (AUDIO): start 33:11:45, length 03:59:48...
Analyzing track 10 (AUDIO): start 37:11:18, length 03:02:02...
Analyzing track 11 (AUDIO): start 40:13:20, length 04:15:00...
Analyzing track 12 (AUDIO): start 44:28:20, length 03:24:20...
Analyzing track 13 (AUDIO): start 47:52:40, length 03:18:73...
Analyzing track 14 (AUDIO): start 51:11:38, length 02:51:47...
Found disk catalogue number.
         
CDDB: Connecting to http://gnudb.gnudb.org:80/~cddb/cddb.cgi ...
CDDB: Ok.
Reading CDDB record for: c90cab0e-folk-Paco de Luca / Entre Dos Aguas
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.

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.

Paco de Lucía - Entre Dos Aguas.wav: wrote 285130577 bytes, ratio=0,498
Splitting [Paco de Lucía - Entre Dos Aguas/Paco de Lucía - Entre Dos Aguas.flac] (54:02.52) --> [Paco de Lucía - Entre Dos Aguas/FLACS/split-track01.flac] (6:05.67) : 100% OK
Splitting [Paco de Lucía - Entre Dos Aguas/Paco de Lucía - Entre Dos Aguas.flac] (54:02.52) --> [Paco de Lucía - Entre Dos Aguas/FLACS/split-track02.flac] (2:58.08) : 100% OK
Splitting [Paco de Lucía - Entre Dos Aguas/Paco de Lucía - Entre Dos Aguas.flac] (54:02.52) --> [Paco de Lucía - Entre Dos Aguas/FLACS/split-track03.flac] (4:31.62) : 100% OK
Splitting [Paco de Lucía - Entre Dos Aguas/Paco de Lucía - Entre Dos Aguas.flac] (54:02.52) --> [Paco de Lucía - Entre Dos Aguas/FLACS/split-track04.flac] (3:24.68) : 100% OK
Splitting [Paco de Lucía - Entre Dos Aguas/Paco de Lucía - Entre Dos Aguas.flac] (54:02.52) --> [Paco de Lucía - Entre Dos Aguas/FLACS/split-track05.flac] (5:10.32) : 100% OK
Splitting [Paco de Lucía - Entre Dos Aguas/Paco de Lucía - Entre Dos Aguas.flac] (54:02.52) --> [Paco de Lucía - Entre Dos Aguas/FLACS/split-track06.flac] (4:54.43) : 100% OK
Splitting [Paco de Lucía - Entre Dos Aguas/Paco de Lucía - Entre Dos Aguas.flac] (54:02.52) --> [Paco de Lucía - Entre Dos Aguas/FLACS/split-track07.flac] (2:40.07) : 100% OK
Splitting [Paco de Lucía - Entre Dos Aguas/Paco de Lucía - Entre Dos Aguas.flac] (54:02.52) --> [Paco de Lucía - Entre Dos Aguas/FLACS/split-track08.flac] (3:25.25) : 100% OK
Splitting [Paco de Lucía - Entre Dos Aguas/Paco de Lucía - Entre Dos Aguas.flac] (54:02.52) --> [Paco de Lucía - Entre Dos Aguas/FLACS/split-track09.flac] (3:59.48) : 100% OK
Splitting [Paco de Lucía - Entre Dos Aguas/Paco de Lucía - Entre Dos Aguas.flac] (54:02.52) --> [Paco de Lucía - Entre Dos Aguas/FLACS/split-track10.flac] (3:02.02) : 100% OK
Splitting [Paco de Lucía - Entre Dos Aguas/Paco de Lucía - Entre Dos Aguas.flac] (54:02.52) --> [Paco de Lucía - Entre Dos Aguas/FLACS/split-track11.flac] (4:15.00) : 100% OK
Splitting [Paco de Lucía - Entre Dos Aguas/Paco de Lucía - Entre Dos Aguas.flac] (54:02.52) --> [Paco de Lucía - Entre Dos Aguas/FLACS/split-track12.flac] (3:24.20) : 100% OK
Splitting [Paco de Lucía - Entre Dos Aguas/Paco de Lucía - Entre Dos Aguas.flac] (54:02.52) --> [Paco de Lucía - Entre Dos Aguas/FLACS/split-track13.flac] (3:18.73) : 100% OK
Splitting [Paco de Lucía - Entre Dos Aguas/Paco de Lucía - Entre Dos Aguas.flac] (54:02.52) --> [Paco de Lucía - Entre Dos Aguas/FLACS/split-track14.flac] (2:51.47) : 100% OK

Le fichier Paco de Lucía - Entre Dos Aguas/FLACS/split-track01.flac a bien été renommé avec son numéro, ainsi que son titre:
01 - Entre Dos Aguas (Rumba).flac


Le fichier Paco de Lucía - Entre Dos Aguas/FLACS/split-track02.flac a bien été renommé avec son numéro, ainsi que son titre:
02 - Zorongo Gitano.flac


Le fichier Paco de Lucía - Entre Dos Aguas/FLACS/split-track03.flac a bien été renommé avec son numéro, ainsi que son titre:
03 - Río Ancho (Rumba).flac


Le fichier Paco de Lucía - Entre Dos Aguas/FLACS/split-track04.flac a bien été renommé avec son numéro, ainsi que son titre:
04 - En la Caleta.flac


Le fichier Paco de Lucía - Entre Dos Aguas/FLACS/split-track05.flac a bien été renommé avec son numéro, ainsi que son titre:
05 - Convite (Rumba).flac


Le fichier Paco de Lucía - Entre Dos Aguas/FLACS/split-track06.flac a bien été renommé avec son numéro, ainsi que son titre:
06 - Moasteri de Sal.flac


Le fichier Paco de Lucía - Entre Dos Aguas/FLACS/split-track07.flac a bien été renommé avec son numéro, ainsi que son titre:
07 - Panaderos Flamencos.flac


Le fichier Paco de Lucía - Entre Dos Aguas/FLACS/split-track08.flac a bien été renommé avec son numéro, ainsi que son titre:
08 - Punta Umbría.flac


Le fichier Paco de Lucía - Entre Dos Aguas/FLACS/split-track09.flac a bien été renommé avec son numéro, ainsi que son titre:
09 - Chanela.flac


Le fichier Paco de Lucía - Entre Dos Aguas/FLACS/split-track10.flac a bien été renommé avec son numéro, ainsi que son titre:
10 - La Niña de Puerta Oscura.flac


Le fichier Paco de Lucía - Entre Dos Aguas/FLACS/split-track11.flac a bien été renommé avec son numéro, ainsi que son titre:
11 - Castro Marín (Fandangos).flac


Le fichier Paco de Lucía - Entre Dos Aguas/FLACS/split-track12.flac a bien été renommé avec son numéro, ainsi que son titre:
12 - Gua'iras de Lucía.flac


Le fichier Paco de Lucía - Entre Dos Aguas/FLACS/split-track13.flac a bien été renommé avec son numéro, ainsi que son titre:
13 - Mantilla de Feria.flac


Le fichier Paco de Lucía - Entre Dos Aguas/FLACS/split-track14.flac a bien été renommé avec son numéro, ainsi que son titre:
14 - El Vito.flac

Temps total écoulé: 00:07:25  (HH:MM:SS)
 



Le résultat:


tree Paco\ de\ Lucía\ -\ Entre\ Dos\ Aguas/
Paco de Lucía - Entre Dos Aguas/
├── c90cab0e
├── FLACS
│   ├── 01 - Entre Dos Aguas (Rumba).flac
│   ├── 02 - Zorongo Gitano.flac
│   ├── 03 - Río Ancho (Rumba).flac
│   ├── 04 - En la Caleta.flac
│   ├── 05 - Convite (Rumba).flac
│   ├── 06 - Moasteri de Sal.flac
│   ├── 07 - Panaderos Flamencos.flac
│   ├── 08 - Punta Umbría.flac
│   ├── 09 - Chanela.flac
│   ├── 10 - La Niña de Puerta Oscura.flac
│   ├── 11 - Castro Marín (Fandangos).flac
│   ├── 12 - Gua'iras de Lucía.flac
│   ├── 13 - Mantilla de Feria.flac
│   ├── 14 - El Vito.flac
│   └── Paco de Lucía - Entre Dos Aguas.m3u
├── Paco de Lucía - Entre Dos Aguas.cue
├── Paco de Lucía - Entre Dos Aguas.flac
├── Paco de Lucía - Entre Dos Aguas.tags
├── Paco de Lucía - Entre Dos Aguas.toc
├── Paco de Lucía - Entre Dos Aguas.wav
└── toc2tag.pl

1 directory, 22 files
 



Je note donc:
- Ma modeste machine ne fait pas ça en 4 mn...
- Pré-requis pour debian les paquets: cdparanoia cdrdao flac cuetools cd-discid
- Et donc pour cddb-tool et sous debian il faut aussi installer 'abcde': pas d'autre solution à ton avis (passk'on a une sorte de doublon quand même...) ? Il sert à quoi exactement ? Mon RIP à l'air complet...
- Qu'est-ce qu'il a mon CD: "Ce n'est pas un fichier iso-8859-1 - Pas de conversion" ??
- L'est sympa ce script !! Manque plus qu'il trouve la pochette... wink

$ apt-cache show abcde
Package: abcde
Version: 2.9.3-1
Installed-Size: 333
Maintainer: Steve McIntyre <93sam@debian.org>
Architecture: all
Depends: cd-discid, wget, cdparanoia | icedax, vorbis-tools (>= 1.0beta4-1) | lame | flac | speex | musepack-tools | opus-tools, libmusicbrainz-discid-perl, libwebservice-musicbrainz-perl (>= 1.0.4-1.1), sensible-utils
Recommends: vorbis-tools, libdigest-sha-perl, bsd-mailx, glyrc, imagemagick
Suggests: eject, distmp3, id3 (>= 0.12), id3v2, eyed3 (<< 0.7~), normalize-audio, vorbisgain, mkcue, mp3gain, atomicparsley
Description-fr: meilleur encodeur de CD
 Abcde est une interface à cdparanoia, wget, cd-discid, id3 et un format
 d’encodage préféré, Ogg/Vorbis, MP3, FLAC, Ogg/Speex, M4A, Opus, WavPack,
 Monkey's Audio (ape), MPP/MP+ (Musepack) et/ou AIFF (par défaut, oggenc).
 Ce programme récupère un CD complet et convertit chaque piste dans les
 formats indiqués pour ensuite appliquer des annotations ou des étiquettes à
 chaque fichier, en une seule commande.
 .
 Avec abcde, il est possible d’encoder dans plusieurs formats en une seule
 commande, en utilisant une seule opération de lecture du CD. Il permet
 également de lire et d'encoder tout en n’étant pas connecté à Internet et
 par la suite questionner un serveur CDDB ou Musicbrainz pour des
 métadonnées et étiqueter les fichiers.
Description-md5: da35113f2508604b50014e0ccf6a31ac
Homepage: https://abcde.einval.com/
Tag: hardware::storage, hardware::storage:cd, interface::commandline,
 role::program, scope::utility, use::converting, use::storing,
 works-with-format::mp3, works-with-format::oggvorbis,
 works-with-format::wav, works-with::audio
Section: sound
Priority: optional
Filename: pool/main/a/abcde/abcde_2.9.3-1_all.deb
Size: 148572
MD5sum: bb90f4c4aed18633f6aa4ca8d681fa88
SHA256: e89b6ad571196de93df6311570f10e5b325323b171f4ed26857859cd4be3c0df
 



Merci, @+

Dernière modification par Cram28 (17-10-2020 20:15:34)


Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."

Hors ligne

#11 17-10-2020 19:39:51

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

Re : cdda2wav Wav + cue

Cram28 a écrit :


Qu'est-ce qu'il a mon CD: "Ce n'est pas un fichier iso-8859-1 - Pas de conversion" ??



ça veut dire que le fichier cddb que tu télécharges est bien en UTF-8 est que tu n'auras pas de surprise avec les caractères accentués. Si le fichier est détecté en iso-8859-1, il le convertira en UTF8 pour que tu es les accents wink

Oui, il faut sur debian Buster, installer abcde ...... mais c'est un trés bon programme. big_smile


Cram28 a écrit :

Manque plus qu'il trouve la pochette...



Oui, l'option est déjà faite, reste plus qu'à la placer wink


Ton résultat ci-dessus est nickel chrome !!! smile

Dernière modification par golgot200 (17-10-2020 19:43:43)

Hors ligne

#12 17-10-2020 20:15:00

Cram28
Membre
Lieu : Eure-et-Loir
Distrib. : Debian Buster
Noyau : Linux 4.19.0-11-amd64
(G)UI : Xfce
Inscription : 14-09-2020

Re : cdda2wav Wav + cue

Oupsss! j'en ai oublié un... ops.gif
Dépendances: cdparanoia cdrdao flac cuetools cd-discid + shntool et donc abcde aussi...

Nickel !

Du coup j'aurais des questions pour être moins bête:

  1. Je n'arrive pas à comprendre à quoi sert cddb-tool:


    # #113
    CD=$(cddb-tool query "$CDDBURL" 1 "$MYUSER" "$MYHOST" "$DISCID")
    # #115
    cddb-tool read "$CDDBURL" 3 "$MYUSER" "$MYHOST" \
    "$(echo "$CD" | head -1 | awk '{print $2 " " $3}')" > "$ALBUMNAME/$NAME_FILE"
     


    "Supression de la première et dernière dans le CDDB": permière et dernière quoi ?

  2. Tu as moyen d'aider l'utilisateur à choisir son album au début ?
    Avec un discriminant entre les propositions ?
    Le nombre de pistes par exemple si c'est retourné ?
    Ou même carrément la liste pour s'approcher de la version qu'on a en main (bon çà, çà peut être plus ou moins long/chiant à présenter...) ?

  3. Chouette pour les pochettes ! Je suis très curieux de voir comment tu as fait !


Merci, @+


Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."

Hors ligne

#13 17-10-2020 20:36:35

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

Re : cdda2wav Wav + cue

Cram28 a écrit :


"Supression de la première et dernière dans le CDDB": permière et dernière quoi ?



Dans le fichier CDDB, il y a en haut de texte :

210 folk 9d09b80b CD database entry follows (until terminating `.')


et donc un :

.


à la dernière ligne du fichier.

Dans le vrai fichier, il n'y as pas ça, je le vire par :

sed -i -e '$d' -e '1d' "$ALBUMNAME/$NAME_FILE"



smile

Qui me donne donc :


# xmcd
#
# Track frame offsets:
#     150
#     19445
#     35680
#     54177
#     66640
#     88575
#     94292
#     112342
#     130007
#     146570
#     163950
#
# Disc length: 2500
#
# Revision: 13
# Processed by: cddbd v1.5.2PL0 Copyright (c) Steve Scherf et al.
# Submitted via: fre:ac v1.0.17
#
DISCID=9d09b80b,a609c20b
DTITLE=Renaud / Mistral gagnant
TTITLE0=Miss Maggie
TTITLE1=La pêche à la ligne
TTITLE2=Si t'es mon pote
TTITLE3=Mistral gagnant
TTITLE4=Trois matelots
TTITLE5=Tu vas au bal
TTITLE6=Morts les enfants
TTITLE7=Baby-sitting blues
TTITLE8=P'tite conne
TTITLE9=Le retour de la Pépette
TTITLE10=Fatigué
EXTD= YEAR: 1985
EXTT0=
EXTT1=
EXTT2=
EXTT3=
EXTT4=
EXTT5=
EXTT6=
EXTT7=
EXTT8=
EXTT9=
EXTT10=
PLAYORDER=
 



Ce qui correspond au vrai fichier sur http://gnudb.gnudb.org

Cram28 a écrit :


Chouette pour les pochettes ! Je suis très curieux de voir comment tu as fait !



Oui, mais problème c'est avec SACAD et sous Debian, c'est encore la galère !!!

Qui fonctionne bien :


PERFORMER=$(echo $ALBUMNAME |  awk -F' -' '{print $1}')
SACAD_PERFORMER=\"${PERFORMER}\"
ALBUM_TITLE=$(echo $ALBUMNAME |  awk -F'- ' '{print $2}')
SACAD_ALBUM_TITLE=\"${ALBUM_TITLE}\"

sacad "$SACAD_PERFORMER" "$SACAD_ALBUM_TITLE"  500 "$ALBUMNAME/AlbumArt.jpg"
 



Pour le reste de tes questions, je n'ai pas tout compris .... on verra demain à tête reposée smile
Bonne nuit wink

Dernière modification par golgot200 (17-10-2020 20:46:50)

Hors ligne

#14 17-10-2020 20:49:11

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

Re : cdda2wav Wav + cue

golgot200 a écrit :



Un truc tout bête pour cuetag ou cuetag.sh

Dans le script

Détection Archlinux ou Debian et condition :


Si Debian
commande cuetag bla bla bla
ou alors
commande cuetag.sh bla bla bla
 





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

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

fi
 

Dernière modification par golgot200 (17-10-2020 20:49:30)

Hors ligne

#15 17-10-2020 23:45:23

Cram28
Membre
Lieu : Eure-et-Loir
Distrib. : Debian Buster
Noyau : Linux 4.19.0-11-amd64
(G)UI : Xfce
Inscription : 14-09-2020

Re : cdda2wav Wav + cue

Hello bonsoir,

Ok, merci: compris.

J'ai fait mes devoirs...  wink

SACAD: Smart Automatic Cover Art Downloader.

Il n'y a en effet pas de paquet pour debian à date.
En revanche, c'est écrit en Python (python3) et çà peut s'installer via la pip:


$ sudo python3 -m pip install
$ sudo pip3 install sacad
 



Manque de pot, le programme semble utiliser une fonctionnalité dépréciée - depuis ce jour 17/10 ! -  de la bibliothèque bitarray: bitarray.bitdiff(sig1, sig2) dans une comparaison de signature d'image, j'imagine pour faire un choix... C'est remplacé par bitarray.util.count_xor(sig1, sig2).
(cf. change log en bas de page)

Je l'ai donc changé dans /usr/local/lib/python3.7/dist-packages/sacad/cover.py.


## au début
import bitarray
# Ajout util
from bitarray.util import (zeros, make_endian, rindex, strip, count_n,
                           count_and, count_or, count_xor, subset,
                           ba2hex, hex2ba, ba2int, int2ba, huffman_code)
[ ... ]
[ ... ]
## A la fin
  def areImageSigsSimilar(sig1, sig2):
    """ Compare 2 image "signatures" and return True if they seem to come from a similar image, False otherwise. """
    # DEPRECATED return bitarray.bitdiff(sig1, sig2) < 100
    return bitarray.util.count_xor(sig1, sig2) < 100
 



J'ai ajouté deux outils - optionnels:

$ sudo apt-get install optipng jpegoptim



Puis j'ai ajouté ton bout de code à la fin du script:


echo -e "Ajout pochette..."
PERFORMER=$(echo $ALBUMNAME |  awk -F' -' '{print $1}')
SACAD_PERFORMER=\"${PERFORMER}\"
ALBUM_TITLE=$(echo $ALBUMNAME |  awk -F'- ' '{print $2}')
SACAD_ALBUM_TITLE=\"${ALBUM_TITLE}\"

sacad "$SACAD_PERFORMER" "$SACAD_ALBUM_TITLE"  500 "$ALBUMNAME/AlbumArt.jpg"
 



Ça semble fonctionner, mais c'est clairement "bidouille & bricolage" en attendant la mise à jour... big_smile

Sortie console:


[ .. ]
Temps total écoulé: 00:03:43  (HH:MM:SS)
Ajout pochette...
LastFmCoverSource: Got 0 relevant (5 excluded) results from source 'LastFmCoverSource'
AmazonCdCoverSource: Got 3 relevant (0 excluded) results from source 'AmazonCdCoverSource'
AmazonDigitalCoverSource: Got 16 relevant (0 excluded) results from source 'AmazonDigitalCoverSource'
DeezerCoverSource: Got 0 relevant (0 excluded) results from source 'DeezerCoverSource'
GoogleImagesWebScrapeCoverSource: Got 0 relevant (0 excluded) results from source 'GoogleImagesWebScrapeCoverSource'
Cover: Removed 4 duplicate results
Cover: Reference is: LastFmCoverSourceResult 'https://lastfm.freetls.fastly.net/i/u/300x300/e50936aa78e3e45b7c4fbe8da779890d.png'
Cover: Downloading cover 'https://m.media-amazon.com/images/I/41GvdLgJIDL.jpg' (part 1/1)...
 



Et j'ai un AlbumArt.jpg dans le dossier qui correspond bien à mon CD...
J'va m'amuser avec d'autres, voir comment il s'en sort.

Merci bien M'Sieur, j'apprends plein de trucs idea.giftongue

@+

PS: Pour ma question, ton script d'après ce que je comprends interroge 3 sites pour proposer 3 choix de nom de dossier (lignes 22 à 33).
Il se trouve que dans mes manip. j'ai 3 fois la même chose, mais si un moment çà diffère : c'est quoi le critère de choix du coup ?
Enfin plus sûrement, j'ai pas compris à quoi ça sert en fait ...ops.gif


Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."

Hors ligne

#16 18-10-2020 08:52:13

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

Re : cdda2wav Wav + cue

Bonjour smile
Et merci pour tes recherches et ton job.

Alors :

Cram28 a écrit :



PS: Pour ma question, ton script d'après ce que je comprends interroge 3 sites pour proposer 3 choix de nom de dossier (lignes 22 à 33).
Il se trouve que dans mes manip. j'ai 3 fois la même chose, mais si un moment çà diffère : c'est quoi le critère de choix du coup ?
Enfin plus sûrement, j'ai pas compris à quoi ça sert en fait ...https://debian-facile.org/img/smilies/xtras/ops.gif




Je vais te faire voir sur deux CDs qui m'ont décidé à faire cette fonction.
Un CD pour le citer: Deep Purple - Made in Japan

Il interroge 3 sites qui me proposent chacun :


Choississez votre titre:
1.  Deep Purple - Made in JaMade In Japan - The Remastered Edition (CD2)
2.  Deep Purple - Made in Japan (CD 2)
3.  Deep Purple - Made in JaMade In Japan - The Remastered Edition (CD2)
4.  Choix manuel
 



ou encore un autre  Deep Purple - Machine Head


Choississez votre titre:
1.  Deep Purple - Machine Head [25th Anniversary Edition CD1
2.  ????????? - ??????????????????????? CD1
3.  Deep Purple - Machine Head [25th Anniversary Edition CD1
4.  Choix manuel
 



Quand tu te retrouves avec ????????? - ??????????????????????? .... tu es obligé de te poser la question, non ????????? - ???????????????????????  lol lol lol
D'où aussi le choix manuel.

Il y a aussi le problème du site down.


Par contre, il y a une coquille pour le choix 0 pour quitter. Il faut virer break pour exit. On évite la suite du job sur les autres commandes.


    0)
    echo "OK, see you!"
    exit 1
    ;;
 

Dernière modification par golgot200 (18-10-2020 08:56:23)

Hors ligne

#17 18-10-2020 09:08:36

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

Re : cdda2wav Wav + cue

Parr contre, il y a un truc qui va pas. C'est à ce niveau


cdrdao read-toc --fast-toc --device "$DEVICE" --driver generic-mmc:0x20000 --paranoia-mode 0 \
            --with-cddb --cddb-servers gnudb.gnudb.org:/~cddb/cddb.cgi "$ALBUMNAME/$ALBUMNAME.toc"
 



Le choix est sur :

gnudb.gnudb.org



qui me donne :


CD_DA

CATALOG "0801031603484"
CD_TEXT {
  LANGUAGE_MAP {
    0: 9
  }
  LANGUAGE 0 {
    TITLE "??????????????????????? CD1"
    PERFORMER "?????????"
    MESSAGE " YEAR: 1997"
  }
}

// Track 1
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "?????????(1997?????)"
    PERFORMER "?????????"
    MESSAGE ""
  }
...
 



Sur le toc, j'aurai les ??????  du choix 2 qui est gnudb. Il faut mettre le choix du site dans la commande cdrdao hmm

Hors ligne

#18 18-10-2020 09:15:39

Cram28
Membre
Lieu : Eure-et-Loir
Distrib. : Debian Buster
Noyau : Linux 4.19.0-11-amd64
(G)UI : Xfce
Inscription : 14-09-2020

Re : cdda2wav Wav + cue

Bonjour,

Ok, merci à toi pour les précisions: j'ai compris ton message #16, pas le #17...

Donc il faut en faire pas mal pour tomber sur ... "des cas" !

Et justement,  je suis tombé sur un vieux CD qui fait des trucs bizarres avec un nom qui a un retour charriot au milieu...


CD Audio détecté.

Choississez votre titre:
1.  matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik
2.  matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik
3.  matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik
4.  Choix manuel

Entrer votre choix, 0 pour quitter: 1

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  222166 (track 10 [12:28.61])

outputting to matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.wav

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

Done.


OK, Rip terminé!
Ce n'est pas un fichier iso-8859-1 - Pas de conversion
Cdrdao version 1.2.4 - (C) Andreas Mueller <andreas@daneb.de>
/dev/sr0: ATAPI iHAS124   C Rev: LL06
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:54:67( 13117)
 2      AUDIO   0      02:54:67( 13117)     03:54:23( 17573)
 3      AUDIO   0      06:49:15( 30690)     04:28:10( 20110)
 4      AUDIO   0      11:17:25( 50800)     02:55:37( 13162)
 5      AUDIO   0      14:12:62( 63962)     04:11:10( 18835)
 6      AUDIO   0      18:23:72( 82797)     03:01:35( 13610)
 7      AUDIO   0      21:25:32( 96407)     03:18:08( 14858)
 8      AUDIO   0      24:43:40(111265)     04:47:55( 21580)
 9      AUDIO   0      29:31:20(132845)     07:22:10( 33160)
10      AUDIO   0      36:53:30(166005)     12:28:62( 56162)
Leadout AUDIO   0      49:22:17(222167)

PQ sub-channel reading (audio track) is supported, data format is BCD.
Raw P-W sub-channel reading (audio track) is supported.
Cooked R-W sub-channel reading (audio track) is supported.
Analyzing track 01 (AUDIO): start 00:00:00, length 02:54:67...
Analyzing track 02 (AUDIO): start 02:54:67, length 03:54:23...
Analyzing track 03 (AUDIO): start 06:49:15, length 04:28:10...
Analyzing track 04 (AUDIO): start 11:17:25, length 02:55:37...
Analyzing track 05 (AUDIO): start 14:12:62, length 04:11:10...
Analyzing track 06 (AUDIO): start 18:23:72, length 03:01:35...
Analyzing track 07 (AUDIO): start 21:25:32, length 03:18:08...
Analyzing track 08 (AUDIO): start 24:43:40, length 04:47:55...
Analyzing track 09 (AUDIO): start 29:31:20, length 07:22:10...
Analyzing track 10 (AUDIO): start 36:53:30, length 12:28:62...
         
CDDB: Connecting to http://gnudb.gnudb.org:80/~cddb/cddb.cgi ...
CDDB: Ok.
Found following inexact match:

    DISKID   CATEGORY     TITLE

 1. 870b920a folk         Andor Trger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band / The Virtuosi of the Gipsy Musik


Select match, 0 for none [0-1]?
1
Reading CDDB record for: 870b920a-folk-Andor Trger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band / The Virtuosi of the Gipsy Musik
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.

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.

matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.wav: wrote 264219709 bytes, ratio=0,506
Splitting [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.flac] (49:22.17) --> [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track01.flac] (2:54.67) : 100% OK
Splitting [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.flac] (49:22.17) --> [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track02.flac] (3:54.23) : 100% OK
Splitting [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.flac] (49:22.17) --> [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track03.flac] (4:28.10) : 100% OK
Splitting [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.flac] (49:22.17) --> [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track04.flac] (2:55.37) : 100% OK
Splitting [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.flac] (49:22.17) --> [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track05.flac] (4:11.10) : 100% OK
Splitting [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.flac] (49:22.17) --> [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track06.flac] (3:01.35) : 100% OK
Splitting [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.flac] (49:22.17) --> [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track07.flac] (3:18.08) : 100% OK
Splitting [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.flac] (49:22.17) --> [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track08.flac] (4:47.55) : 100% OK
Splitting [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.flac] (49:22.17) --> [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track09.flac] (7:22.10) : 100% OK
Splitting [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.flac] (49:22.17) --> [matches, list follows (until terminating `.')
Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track10.flac] (12:28.62) : 100% OK

Le fichier matches, list follows (until terminating `.') Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track01.flac a bien été renommé avec son numéro, ainsi que son titre:
01 - Lament e-moll - Fast Dance G-dur.flac


Le fichier matches, list follows (until terminating `.') Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track02.flac a bien été renommé avec son numéro, ainsi que son titre:
02 - Time meant for Grief - Vidróczky's Famous Flock - You See, Mother.flac


Le fichier matches, list follows (until terminating `.') Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track03.flac a bien été renommé avec son numéro, ainsi que son titre:
03 - The Old Gypsy.flac


Le fichier matches, list follows (until terminating `.') Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track04.flac a bien été renommé avec son numéro, ainsi que son titre:
04 - Valse triste.flac


Le fichier matches, list follows (until terminating `.') Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track05.flac a bien été renommé avec son numéro, ainsi que son titre:
05 - The Larkspur's in Bloom.flac


Le fichier matches, list follows (until terminating `.') Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track06.flac a bien été renommé avec son numéro, ainsi que son titre:
06 - Sophisticated Lady.flac


Le fichier matches, list follows (until terminating `.') Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track07.flac a bien été renommé avec son numéro, ainsi que son titre:
07 - Old Russian Romance - Valse.flac


Le fichier matches, list follows (until terminating `.') Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track08.flac a bien été renommé avec son numéro, ainsi que son titre:
08 - On a May Night I'd Like to - Your Eyes Are Black - Fast.flac


Le fichier matches, list follows (until terminating `.') Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track09.flac a bien été renommé avec son numéro, ainsi que son titre:
09 - Witzh the Wandering Autumn Wind -  When I See the Coming of the Storm - Fast.flac


Le fichier matches, list follows (until terminating `.') Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik/FLACS/split-track10.flac a bien été renommé avec son numéro, ainsi que son titre:
10 - Stars Shine Brighter in Your Street - You Think You Are Happy- Oh How Long Ago It Was - Máry Bazsa's Goose - Resignation -My Fiddle Broke - It's No Good, Always, Every Night - One Kitten, Two Kittens.flac

Temps total écoulé: 00:03:31  (HH:MM:SS)
Ajout pochette...
LastFmCoverSource: Search with source 'LastFmCoverSource' failed: Exception Unexpected Last.fm response status: failed
DeezerCoverSource: Got 0 relevant (0 excluded) results from source 'DeezerCoverSource'
AmazonCdCoverSource: Got 0 relevant (0 excluded) results from source 'AmazonCdCoverSource'
GoogleImagesWebScrapeCoverSource: Got 0 relevant (0 excluded) results from source 'GoogleImagesWebScrapeCoverSource'
AmazonDigitalCoverSource: Got 14 relevant (2 excluded) results from source 'AmazonDigitalCoverSource'
Cover: No reference result found
Cover: Downloading cover 'https://m.media-amazon.com/images/I/711OIR+4poL.jpg' (part 1/1)...
Cover: Crunching JPEG image...
Cover: Resizing from 1400x1400 to 500x500...
Cover: Crunching JPEG image...

 



Note qu'entre temps j'ai installé 'abcde' (et donc cddb-tool).
Le nom d'album est "alambiqué" et semble correspondre à ce qui est enlevé et que tu décris juste au-dessus: c'est pas çà, ou bien il l'a pas fait ...


cram28@paprika:~/bin/matches, list follows (until terminating `.')Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik$ tree
.
├── 840b920a
├── AlbumArt.jpg
├── FLACS
│   ├── 01 - Lament e-moll - Fast Dance G-dur.flac
│   ├── 02 - Time meant for Grief - Vidróczky's Famous Flock - You See, Mother.flac
│   ├── 03 - The Old Gypsy.flac
│   ├── 04 - Valse triste.flac
│   ├── 05 - The Larkspur's in Bloom.flac
│   ├── 06 - Sophisticated Lady.flac
│   ├── 07 - Old Russian Romance - Valse.flac
│   ├── 08 - On a May Night I'd Like to - Your Eyes Are Black - Fast.flac
│   ├── 09 - Witzh the Wandering Autumn Wind -  When I See the Coming of the Storm - Fast.flac
│   ├── 10 - Stars Shine Brighter in Your Street - You Think You Are Happy- Oh How Long Ago It Was - Máry Bazsa's Goose - Resignation -My Fiddle Broke - It's No Good, Always, Every Night - One Kitten, Two Kittens.flac
│   └── matches, list follows (until terminating `.')\012Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.m3u
├── matches, list follows (until terminating `.')\012Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.cue
├── matches, list follows (until terminating `.')\012Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.flac
├── matches, list follows (until terminating `.')\012Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.tags
├── matches, list follows (until terminating `.')\012Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.toc
├── matches, list follows (until terminating `.')\012Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik.wav
└── toc2tag.pl

1 directory, 19 files
cram28@paprika:~/bin/matches, list follows (until terminating `.')Tréger (Cimbalom), Lajos Boross (Violin) and hist Gipsy Band - The Virtuosi of the Gipsy Musik$
 



Et la pochette est celle de l'album "The Wall" de Pink Floyd...  big_smile

Il se pourrait qu'une automatisation complète et au résultat toujours exact soit illusoire...
Dans ce monde de plus en plus digitalisé, un peu d' "analogique" de temps en temps, s'agissant de musique en plus, c'est pas mal...  wink

J'ai de quoi faire avec mon carton de CD... Mais pas aujourd'hui: il fait beau !

Bon dimanche, @+


Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."

Hors ligne

#19 18-10-2020 09:38:07

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

Re : cdda2wav Wav + cue

Pour le 17 regarde :

Tu vire la commande cdrdao qui est sur

--with-cddb --cddb-servers gnudb.gnudb.org:/~cddb/cddb.cgi



et tu en met 3 avec :

1) freedb.freac.org
2) gnudb.gnudb.org
3) freedb.dbpoweramp.com

ce qui donne dans la portion choix :


case $choice in
     1)
ALBUMNAME="$freac"
 
    mkdir -p "$ALBUMNAME"
    ( cd "$ALBUMNAME" || exit
    cdparanoia -Z -S "$SPEED" 1- -w "$ALBUMNAME.wav"
    cdrdao read-toc --fast-toc --device "$DEVICE" --driver generic-mmc:0x20000 --paranoia-mode 0 \
            --with-cddb --cddb-servers freedb.freac.org:/~cddb/cddb.cgi "$ALBUMNAME.toc")
    echo "OK, Rip terminé!"
    break
     ;;
     2)
ALBUMNAME="$gnudb"
     
    mkdir -p "$ALBUMNAME"
    ( cd "$ALBUMNAME" || exit
    cdparanoia -Z -S "$SPEED" 1- -w "$ALBUMNAME.wav"
    cdrdao read-toc --fast-toc --device "$DEVICE" --driver generic-mmc:0x20000 --paranoia-mode 0 \
            --with-cddb --cddb-servers gnudb.gnudb.org:/~cddb/cddb.cgi "$ALBUMNAME.toc")
    echo "OK, Rip terminé!"
    break
     ;;
     3)
ALBUMNAME="$dbpoweramp"
     
    mkdir -p "$ALBUMNAME"
    ( cd "$ALBUMNAME" || exit
    cdparanoia -Z -S "$SPEED" 1- -w "$ALBUMNAME.wav"
    cdrdao read-toc --fast-toc --device "$DEVICE" --driver generic-mmc:0x20000 --paranoia-mode 0 \
            --with-cddb --cddb-servers freedb.dbpoweramp.com:/~cddb/cddb.cgi "$ALBUMNAME.toc")
    echo "OK, Rip terminé!"
    break
     ;;
     4)
     read -r -p "Entrer un nouveau nom de dossier: " ALBUMNAME
if [[ -z "$ALBUMNAME" ]]; then
    echo "Invalid input..."
    echo "Quit"
    exit 1
else    
    mkdir -p "$ALBUMNAME"
    ( cd "$ALBUMNAME" || exit
    cdparanoia -Z -S "$SPEED" 1- -w "$ALBUMNAME.wav" )  
    echo "OK, Rip terminé!"
fi
    break
    ;;
    0)
    echo "OK, see you!"
    exit 1
    ;;
    *)
    echo "Invalid input..."
    echo "Quit"
    exit 1
    ;;
esac  
done
 




Sans cet modification mon fichier toc généré par cdrdao et callé sur gnudb.gnudb.org me donnait :


CD_DA

CATALOG "0801031603484"
CD_TEXT {
  LANGUAGE_MAP {
    0: 9
  }
  LANGUAGE 0 {
    TITLE "??????????????????????? CD1"
    PERFORMER "?????????"
    MESSAGE " YEAR: 1997"
  }
}

// Track 1
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "?????????(1997?????)"
    PERFORMER "?????????"
    MESSAGE ""
  }
}
FILE "data.wav" 0 06:39:62


// Track 2
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "?????????????(1997?????)"
    PERFORMER "?????????"
    MESSAGE ""
  }
}
FILE "data.wav" 06:39:62 05:26:10


// Track 3
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "????????????(1997?????)"
    PERFORMER "?????????"
    MESSAGE ""
  }
}
FILE "data.wav" 12:05:72 05:21:20


// Track 4
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "?????????(1997?????)"
    PERFORMER "?????????"
    MESSAGE ""
  }
}
FILE "data.wav" 17:27:17 03:59:10


// Track 5
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "???????????????(1997?????)"
    PERFORMER "?????????"
    MESSAGE ""
  }
}
FILE "data.wav" 21:26:27 06:18:08


// Track 6
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "????(1997?????)"
    PERFORMER "?????????"
    MESSAGE ""
  }
}
FILE "data.wav" 27:44:35 07:33:02


// Track 7
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "??????????(1997?????)"
    PERFORMER "?????????"
    MESSAGE ""
  }
}
FILE "data.wav" 35:17:37 04:52:23


// Track 8
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "????????(1997?????)"
    PERFORMER "?????????"
    MESSAGE ""
  }
}
FILE "data.wav" 40:09:60 03:32:37
 




mais maintenant la commande étant placée dans le choix avec l'adresse du site correspondant au choix, ça me donne :


CD_DA

CATALOG "0101032145480"
CD_TEXT {
  LANGUAGE_MAP {
    0: 9
  }
  LANGUAGE 0 {
    TITLE "Machine Head [25th Anniversary Edition CD1"
    PERFORMER "Deep Purple"
    MESSAGE "Re-Issue: 1997 25th Anniversary Edition (CD 1) 1997 Remixes"
  }
}

// Track 1
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "Highway Star"
    PERFORMER "Deep Purple"
    MESSAGE ""
  }
}
FILE "data.wav" 0 06:39:62


// Track 2
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "Maybe I'm A Leo"
    PERFORMER "Deep Purple"
    MESSAGE ""
  }
}
FILE "data.wav" 06:39:62 05:26:10


// Track 3
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "Pictures Of Home"
    PERFORMER "Deep Purple"
    MESSAGE ""
  }
}
FILE "data.wav" 12:05:72 05:21:20


// Track 4
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "Never Before"
    PERFORMER "Deep Purple"
    MESSAGE ""
  }
}
FILE "data.wav" 17:27:17 03:59:10


// Track 5
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "Smoke On The Water"
    PERFORMER "Deep Purple"
    MESSAGE ""
  }
}
FILE "data.wav" 21:26:27 06:18:08


// Track 6
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "Lazy"
    PERFORMER "Deep Purple"
    MESSAGE ""
  }
}
FILE "data.wav" 27:44:35 07:33:02


// Track 7
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "Space Truckin'"
    PERFORMER "Deep Purple"
    MESSAGE ""
  }
}
FILE "data.wav" 35:17:37 04:52:23


// Track 8
TRACK AUDIO
NO COPY
NO PRE_EMPHASIS
TWO_CHANNEL_AUDIO
CD_TEXT {
  LANGUAGE 0 {
    TITLE "When A Blind Man Cries"
    PERFORMER "Deep Purple"
    MESSAGE ""
  }
}
FILE "data.wav" 40:09:60 03:32:37

 



Et mes titres splittés n'auront pas cet gueule :


├── [ 49M]  01 - ?????????(1997?????).flac
├── [ 40M]  02 - ?????????????(1997?????).flac
├── [ 40M]  03 - ????????????(1997?????).flac
├── [ 29M]  04 - ?????????(1997?????).flac
├── [ 46M]  05 - ???????????????(1997?????).flac
├── [ 49M]  06 - ????(1997?????).flac
├── [ 37M]  07 - ??????????(1997?????).flac
├── [ 22M]  08 - ????????(1997?????).flac
└── [ 600]  Deep Purple - Machine Head [25th Anniversary Edition CD1].m3u

 



mais ça :


├── [ 49M]  01 - Highway Star.flac
├── [ 40M]  02 - Maybe I'm A Leo.flac
├── [ 40M]  03 - Pictures Of Home.flac
├── [ 29M]  04 - Never Before.flac
├── [ 46M]  05 - Smoke On The Water.flac
├── [ 49M]  06 - Lazy.flac
├── [ 37M]  07 - Space Truckin'.flac
├── [ 22M]  08 - When A Blind Man Cries.flac
└── [ 490]  Deep Purple - Machine Head [25th Anniversary Edition CD1,m3u

 




Maintenant, reste plus qu'a voir commant faire pour le choix manuel... et là, je peine tongue

Hors ligne

#20 18-10-2020 20:40:39

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

Re : cdda2wav Wav + cue

Bonsoir,

@Cram28

Je post juste la partie choix. Elle me parait mieux.
Si tu pouvais me donner ton avis ?


#!/bin/bash
## Programmes : cdparanoia cdrdao flac cuebreakpoints
#### --driver generic-mmc:0x20000 n'est pas nécessaire pour la génération seule du TOC
START_TIME=$(date +%s)



CDDA=$(cdparanoia -Q 2>&1 | grep -c 'audio only')
if [ "$CDDA" -eq 1 ]; then
echo "CD Audio détecté."
echo ""
else
echo "Pas de CD Audio ... Terminé."
exit 0


   fi


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.
freac=$(curl -s "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=$(curl -s "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=$(curl -s "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)

## ## http://freedb.dbpoweramp.com:80

while true; do
echo "Différents titres vous sont proposés:"
echo -e "\e[3;32m1. \033[m \e[3;94m$freac\033[m"
echo -e "\e[3;32m2. \033[m \e[3;94m$gnudb\033[m"
echo -e "\e[3;32m3. \033[m \e[3;94m$dbpoweramp\033[m"
echo

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

case $choice in
     1)
ALBUMNAME="$freac"
    break
     ;;
     2)
ALBUMNAME="$gnudb"
    break
     ;;
     3)
ALBUMNAME="$dbpoweramp"
    break
     ;;
    0)
    echo "OK, see you!"
    exit 1
    ;;
    *)
    echo "Invalid input..."
    echo "Quit"
    exit 1
    ;;
esac  
done



    echo "Le Titre choisi sera donc: $ALBUMNAME"
read -r -p "Confirmé vous ce choix ? [Y/n] " input
case $input in
    [yY][eE][sS]|[yY])
 
    echo "Oui"  
    mkdir -p "$ALBUMNAME"
    ( cd "$ALBUMNAME" || exit
    cdparanoia -Z -S "$SPEED" 1- -w "$ALBUMNAME.wav")
    echo "OK, Rip terminé!"
  ;;
    [nN][oO]|[nN])
    echo -e "Non"
read -r -p "Alors choisissé un nom personnalisé: " ALBUMNAME
if [[ -z "$ALBUMNAME" ]]; then
    echo "Invalid input..."
    echo "Quit"
     exit 1
else    
    mkdir -p "$ALBUMNAME"
    ( cd "$ALBUMNAME" || exit
    cdparanoia -Z -S "$SPEED" 1- -w "$ALBUMNAME.wav")
    echo "OK, Rip terminé!"
fi
  ;;
    *)
 echo "Invalid input..."
 echo "Quit"
 exit 1
 ;;
esac


if  [[ "$choice" == "1" ]]; then
    ( cd "$ALBUMNAME" || exit
    cdrdao read-toc --fast-toc --device "$DEVICE" --driver generic-mmc:0x20000 --paranoia-mode 0 \
            --with-cddb --cddb-servers freedb.freac.org:/~cddb/cddb.cgi "$ALBUMNAME.toc")

fi


if  [[ "$choice" == "2" ]]; then
    ( cd "$ALBUMNAME" || exit
    cdrdao read-toc --fast-toc --device "$DEVICE" --driver generic-mmc:0x20000 --paranoia-mode 0 \
            --with-cddb --cddb-servers gnudb.gnudb.org:/~cddb/cddb.cgi "$ALBUMNAME.toc")

fi


if  [[ "$choice" == "3" ]]; then
    ( cd "$ALBUMNAME" || exit
    cdrdao read-toc --fast-toc --device "$DEVICE" --driver generic-mmc:0x20000 --paranoia-mode 0 \
            --with-cddb --cddb-servers freedb.dbpoweramp.com:/~cddb/cddb.cgi "$ALBUMNAME.toc")

fi

 



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

#21 19-10-2020 05:19:20

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

Re : cdda2wav Wav + cue

Bonjour,

Voilà le dernier :



#!/bin/bash
## Programmes : cdparanoia cdrdao flac cuebreakpoints
#### --driver generic-mmc:0x20000 n'est pas nécessaire pour la génération seule du TOC
START_TIME=$(date +%s)



CDDA=$(cdparanoia -Q 2>&1 | grep -c 'audio only')
if [ "$CDDA" -eq 1 ]; then
echo "CD Audio détecté."
echo ""
else
echo "Pas de CD Audio ... Terminé."
exit 0


   fi


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.
freac=$(curl -s "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=$(curl -s "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=$(curl -s "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)

## ## http://freedb.dbpoweramp.com:80

while true; do
echo "Différents titres vous sont proposés:"
echo -e "\e[3;32m1. \033[m \e[3;94m$freac\033[m"
echo -e "\e[3;32m2. \033[m \e[3;94m$gnudb\033[m"
echo -e "\e[3;32m3. \033[m \e[3;94m$dbpoweramp\033[m"
echo

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

case $choice in
     1)
ALBUMNAME="$freac"
    break
     ;;
     2)
ALBUMNAME="$gnudb"
    break
     ;;
     3)
ALBUMNAME="$dbpoweramp"
    break
     ;;
    0)
    echo "OK, see you!"
    exit 1
    ;;
    *)
    echo "Invalid input..."
    echo "Quit"
    exit 1
    ;;
esac  
done



    echo "Le nom de l'album sera donc: $ALBUMNAME"
read -r -p "Confirmé vous ce choix ? [Y/n] " input
case $input in
    [yY][eE][sS]|[yY])
 
    echo "Oui"  
    mkdir -p "$ALBUMNAME"
    ( cd "$ALBUMNAME" || exit
    cdparanoia -Z -S "$SPEED" 1- -w "$ALBUMNAME.wav")
    echo "OK, Rip terminé!"
  ;;
    [nN][oO]|[nN])
    echo -e "Non"
read -r -p "Alors, veuillez choisir 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 -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
    ( cd "$ALBUMNAME" || exit
    cdrdao read-toc --fast-toc --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
    ( cd "$ALBUMNAME" || exit
    cdrdao read-toc --fast-toc --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
    ( cd "$ALBUMNAME" || exit
    cdrdao read-toc --fast-toc --device "$DEVICE" --driver generic-mmc:0x20000 --paranoia-mode 0 \
            --with-cddb --cddb-servers freedb.dbpoweramp.com:/~cddb/cddb.cgi "$ALBUMNAME.toc")

fi

 

#### Récupération du fichier CDDB.
#### Conversion en UTF-8 si necessaire.
#### Supression de la première et dernière dans le CDDB
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}')" > "$ALBUMNAME/$NAME_FILE"
sed -i -e '$d' -e '1d' "$ALBUMNAME/$NAME_FILE"

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;94mLe fichier à le bon encodage.\033[m"



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"

# 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"

#### 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


#   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'`


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')
#       track=$( mediainfo "$i" | awk '/Track name/ && /Position/ { print $4 }' )
       

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.
( cd "$ALBUMNAME/FLACS" || exit

  echo '#EXTM3U'
for file in *.flac; do
  echo '#EXTINF:0,'"$file"
  echo "$file"
done ) >> "$ALBUMNAME/FLACS/$ALBUMNAME.m3u"


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





CD Audio détecté.

Différents titres vous sont proposés:
1.  Deep Purple - Machine Head [25th Anniversary Edition CD1
2.  ????????? - ??????????????????????? CD1
3.  Deep Purple - Machine Head [25th Anniversary Edition CD1

Entrer votre choix, 0 pour quitter: 1

Le nom de l'album sera donc: Deep Purple - Machine Head [25th Anniversary Edition CD1
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  196671 (track  8 [3:32.36])

outputting to Deep Purple - Machine Head [25th Anniversary Edition CD1.wav

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

Done.


OK, Rip terminé!
Cdrdao version 1.2.4 - (C) Andreas Mueller <andreas@daneb.de>
/dev/sr0: LITE-ON DVDRW LH-20A1P  Rev: KL05
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)     06:39:62( 29987)
 2      AUDIO   0      06:39:62( 29987)     05:26:10( 24460)
 3      AUDIO   0      12:05:72( 54447)     05:21:20( 24095)
 4      AUDIO   0      17:27:17( 78542)     03:59:10( 17935)
 5      AUDIO   0      21:26:27( 96477)     06:18:08( 28358)
 6      AUDIO   0      27:44:35(124835)     07:33:02( 33977)
 7      AUDIO   0      35:17:37(158812)     04:52:23( 21923)
 8      AUDIO   0      40:09:60(180735)     03:32:37( 15937)
Leadout AUDIO   0      43:42:22(196672)

PQ sub-channel reading (audio track) is supported, data format is BCD.
Raw P-W sub-channel reading (audio track) is supported.
Cooked R-W sub-channel reading (audio track) is supported.
Analyzing track 01 (AUDIO): start 00:00:00, length 06:39:62...
Analyzing track 02 (AUDIO): start 06:39:62, length 05:26:10...
Analyzing track 03 (AUDIO): start 12:05:72, length 05:21:20...
Analyzing track 04 (AUDIO): start 17:27:17, length 03:59:10...
Analyzing track 05 (AUDIO): start 21:26:27, length 06:18:08...
Analyzing track 06 (AUDIO): start 27:44:35, length 07:33:02...
Analyzing track 07 (AUDIO): start 35:17:37, length 04:52:23...
Analyzing track 08 (AUDIO): start 40:09:60, length 03:32:37...
Found disk catalogue number.
         
CDDB: Connecting to http://freedb.freac.org:80/~cddb/cddb.cgi ...
CDDB: Ok.
Reading CDDB record for: 600a3e08-rock-Deep Purple / Machine Head [25th Anniversary Edition CD1
CDDB: Connecting to http://freedb.freac.org:80/~cddb/cddb.cgi ...
CDDB: Ok.
CD-TEXT data was added to toc-file.
Reading of toc data finished successfully.
Le fichier à le bon encodage.

flac 1.3.3
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.

Deep Purple - Machine Head [25th Anniversary Edition CD1.wav: wrote 306816351 bytes, ratio=0,663
Splitting [Deep Purple - Machine Head [25th Anniversary Edition CD1/Deep Purple - Machine Head [25th Anniversary Edition CD1.flac] (43:42.22) --> [Deep Purple - Machine Head [25th Anniversary Edition CD1/FLACS/split-track01.flac] (6:39.62) : 100% OK
Splitting [Deep Purple - Machine Head [25th Anniversary Edition CD1/Deep Purple - Machine Head [25th Anniversary Edition CD1.flac] (43:42.22) --> [Deep Purple - Machine Head [25th Anniversary Edition CD1/FLACS/split-track02.flac] (5:26.10) : 100% OK
Splitting [Deep Purple - Machine Head [25th Anniversary Edition CD1/Deep Purple - Machine Head [25th Anniversary Edition CD1.flac] (43:42.22) --> [Deep Purple - Machine Head [25th Anniversary Edition CD1/FLACS/split-track03.flac] (5:21.20) : 100% OK
Splitting [Deep Purple - Machine Head [25th Anniversary Edition CD1/Deep Purple - Machine Head [25th Anniversary Edition CD1.flac] (43:42.22) --> [Deep Purple - Machine Head [25th Anniversary Edition CD1/FLACS/split-track04.flac] (3:59.10) : 100% OK
Splitting [Deep Purple - Machine Head [25th Anniversary Edition CD1/Deep Purple - Machine Head [25th Anniversary Edition CD1.flac] (43:42.22) --> [Deep Purple - Machine Head [25th Anniversary Edition CD1/FLACS/split-track05.flac] (6:18.08) : 100% OK
Splitting [Deep Purple - Machine Head [25th Anniversary Edition CD1/Deep Purple - Machine Head [25th Anniversary Edition CD1.flac] (43:42.22) --> [Deep Purple - Machine Head [25th Anniversary Edition CD1/FLACS/split-track06.flac] (7:33.02) : 100% OK
Splitting [Deep Purple - Machine Head [25th Anniversary Edition CD1/Deep Purple - Machine Head [25th Anniversary Edition CD1.flac] (43:42.22) --> [Deep Purple - Machine Head [25th Anniversary Edition CD1/FLACS/split-track07.flac] (4:52.23) : 100% OK
Splitting [Deep Purple - Machine Head [25th Anniversary Edition CD1/Deep Purple - Machine Head [25th Anniversary Edition CD1.flac] (43:42.22) --> [Deep Purple - Machine Head [25th Anniversary Edition CD1/FLACS/split-track08.flac] (3:32.37) : 100% OK

On est sous Archlinux, on utilise la commande cuetag.sh

Le fichier Deep Purple - Machine Head [25th Anniversary Edition CD1/FLACS/split-track01.flac a bien été renommé avec son numéro, ainsi que son titre:
01 - Highway Star.flac


Le fichier Deep Purple - Machine Head [25th Anniversary Edition CD1/FLACS/split-track02.flac a bien été renommé avec son numéro, ainsi que son titre:
02 - Maybe I'm A Leo.flac


Le fichier Deep Purple - Machine Head [25th Anniversary Edition CD1/FLACS/split-track03.flac a bien été renommé avec son numéro, ainsi que son titre:
03 - Pictures Of Home.flac


Le fichier Deep Purple - Machine Head [25th Anniversary Edition CD1/FLACS/split-track04.flac a bien été renommé avec son numéro, ainsi que son titre:
04 - Never Before.flac


Le fichier Deep Purple - Machine Head [25th Anniversary Edition CD1/FLACS/split-track05.flac a bien été renommé avec son numéro, ainsi que son titre:
05 - Smoke On The Water.flac


Le fichier Deep Purple - Machine Head [25th Anniversary Edition CD1/FLACS/split-track06.flac a bien été renommé avec son numéro, ainsi que son titre:
06 - Lazy.flac


Le fichier Deep Purple - Machine Head [25th Anniversary Edition CD1/FLACS/split-track07.flac a bien été renommé avec son numéro, ainsi que son titre:
07 - Space Truckin'.flac


Le fichier Deep Purple - Machine Head [25th Anniversary Edition CD1/FLACS/split-track08.flac a bien été renommé avec son numéro, ainsi que son titre:
08 - When A Blind Man Cries.flac

Temps total écoulé: 00:02:55  (HH:MM:SS)

 

Dernière modification par golgot200 (19-10-2020 05:20:16)

Hors ligne

#22 Hier 19:06:28

Cram28
Membre
Lieu : Eure-et-Loir
Distrib. : Debian Buster
Noyau : Linux 4.19.0-11-amd64
(G)UI : Xfce
Inscription : 14-09-2020

Re : cdda2wav Wav + cue

Oupsss... Pardon golgot200,

J'essaie de regarder çà - et j'essaie d'essayer de tout comprendre scratchhead.gif- ce week-end...
Mais je préviens: ch'us pas un pro ni du codage en général, ni du bash en particulier....

@+

Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."

Hors ligne

#23 Hier 19:17:19

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

Re : cdda2wav Wav + cue

Cram28 a écrit :


Mais je préviens: ch'us pas un pro ni du codage en général, ni du bash en particulier....

@+



On est deux wink

Je met juste dans un script ce que j'ai compris du fonctionnement de certains programmes et des différences qu'il peut y avoir entres eux pour un même job.
Et faire un choix sur celui qui ira le mieux pour arriver à mes fins. smile

Exemple :

Asunder, qui présente plusieurs choix de CDDB, et la question bête ..... mais comment fait-il ??? tongue
Si un site cddb est down ....
Les protections .....
Les Tags ....
Récupérer le CDDB
Les caractères bizarroides .... traités avec iconv
Les pregaps (silence)
Le renommage etc etc etc ...

Dernière modification par golgot200 (Hier 19:36:14)

Hors ligne

Pied de page des forums