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

Debian-facile

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

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

#101 22-02-2024 09:46:30

JM38
Membre
Distrib. : LinuxMint 20.1 Ulyssa
Noyau : Linux Mint 5.4.0-66 generic Cinnamon 4.8.6
Inscription : 03-06-2020

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

bonjour
voici mes scripts finaux (presque )  car j'ai un double souci que je n'arrive pas à résoudre
1 un souci avec l'option /n
dans cette ligne
notify-send "____" "Début concaténation Artiste: "$Artiste"\n Le: "$list --icon=~/.cargo/songrec.svg
si je ne mets pas un texte ici "____"  avant l'autre texte  "Début concaténation Artiste: "$Artiste"
le /n n'est pas interprété et il s'affiche Début concaténation Artiste: Pierre \n Le:
si je   mets pas un texte ici "____"  avant l'autre texte  "Début concaténation Artiste: "$Artiste"
il s'affiche Début concaténation Artiste:  Pierre
Le:
j'ai à peu près tout essayé ,pas moyen

dans cette ligne
notify-send --urgency=critical "Opération terminée"\n "fichier créé:/home/jojo/JM/Chansons_CD/liste_recap_$Artiste.txt"
la ligne est bien sautée mais il est affiché  mais le n est affiché après terminée
Opération terminéen
fichier créé:/home/jojo/JM/Chansons_CD/liste_recap_Pierre.txt
si on met
notify-send --urgency=critical "Opération terminée"\ "fichier créé:/home/jojo/JM/Chansons_CD/liste_recap_$Artiste.txt"
il s'affiche:
Opération terminée fichier créé:/home/jojo/JM/Chansons_CD/liste_recap_Pierre.txt

autre souci avec le sed
j'aimerais mettre en variable au début de mes fichiers album le nom de l'artiste
sed -i 1i\$texte$Artiste*.txt
j'ai essayé plein de trucs pas moyen , je n'arrive pas à inscrire le contenu de la variable artiste
je l'ai mis avec la commande echo
echo $texte |tee -a $Artiste*.txt
mais le nom de  l'artiste apparait en fin de liste

__________________________________________
titre-Le temps des cerises___interprete-Yves Montand____album-Chansons populaires de France

______________________Pierre____________________________________


voici mes scripts  ,encore en phase de test , pour le problème des sauts de ligne /n et de l'incorporation du nom de l'artiste en début des albums
pour tester j'ai pris un cd avec une chanson (le temps des cerises) et en donnant comme nom d'artiste Pierre

#!/bin/bash
#reconnaissance audio d'un cd exotique, fichier non taggués,
#  Il faut corriger la Variable Artiste , sur la ligne suivante
Artiste="Cabrel"
max_fichier=$(ls /run/user/1000/gvfs/cdda:host=sr0/|wc -l)
list=$(date +%d-%m-%y_%H:%M:%S)
notify-send "Songrec" "Début du processus de reconnaissance Artiste: "$Artiste"\n Le: "$list --icon=~/.cargo/songrec.svg
cd /run/user/1000/gvfs/cdda:host=sr0/
while read -r line 
do songrec audio-file-to-recognized-song "$line"|tee /tmp/songrec.json

album=$(grep -B1 Album /tmp/songrec.json|awk '/"text"/ {sub(/",.*/, ""); print substr($0,22)}')
interprete=$(awk '/"subtitle"/ {sub(/",.*/, ""); print substr($0,18)}' /tmp/songrec.json)
titre=$(awk '/"title".*",/ {sub(/",.*/, ""); print substr($0,15)}' /tmp/songrec.json)

echo "titre-"$titre"___interprete-"$interprete"""____album-"$album|tee -a /home/jojo/JM/Chansons_CD/"$Artiste$list".txt
liste_fichier=$(cat /home/jojo/JM/Chansons_CD/"$Artiste$list".txt|wc -l)
#restant=$(($max_fichier-$liste_fichier))
notify-send  $Artiste" Lecture du titre:  "$liste_fichier" sur "$max_fichier --icon=~/.cargo/songrec.svg

done <<<$(ls -UN1 /run/user/1000/gvfs/cdda:host=sr0/|grep .wav)

paplay /home/jojo/JM/Linux/SONS/tada.wav
#paplay /home/jojo/JM/Linux/SONS/dangers.ogg
notify-send --urgency=critical "Songrec" "Fin" --icon=~/.cargo/songrec.svg
notify-send --urgency=critical "Songrec" "Opération terminée\nfichier créé:\n/home/jojo/JM/Chansons_CD/"$Artiste$list".txt"
eject

#!/bin/bash
#Concaténation  fichiers albums pour un fichier récap   changer Artiste par Anthony par exemple
Artiste="Pierre"
list=$(date +%d-%m-%y_%H:%M:%S)
cd /home/jojo/JM/Chansons_CD
notify-send "____" "Début concaténation Artiste: "$Artiste"\n Le: "$list --icon=~/.cargo/songrec.svg
texte="______________________"$Artiste"____________________________________"
notify-send $texte
sed -i 1i\$texte$Artiste*.txt
echo $texte |tee -a $Artiste*.txt
sed -i 1i__________________________________________ $Artiste*.txt
cat $Artiste*.txt>liste_recap_$Artiste.txt
paplay /home/jojo/JM/Linux/SONS/tada.wav
notify-send --urgency=critical "Opération terminée"\n "fichier créé:/home/jojo/JM/Chansons_CD/liste_recap_$Artiste.txt"

Hors ligne

#102 22-02-2024 13:03:32

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

oui geany est dans les dépôts

apt install geany geany-plugins


JM38 a écrit :

notify-send "____" "Début concaténation Artiste: "$Artiste"\n Le: "$list --icon=~/.cargo/songrec.svg
si je ne mets pas un texte ici "____"  avant l'autre texte  "Début concaténation Artiste: "$Artiste"
le /n n'est pas interprété et il s'affiche Début concaténation Artiste: Pierre \n Le:
si je   mets pas un texte ici "____"  avant l'autre texte  "Début concaténation Artiste: "$Artiste"
il s'affiche Début concaténation Artiste:  Pierre


la première option de notify-send c'est le titre et il ne prend que tu texte apparemment
les variables et retour a la ligne ne fonctionne que dans la 2éme option le corps du message
si tu ne veux aucun titre tu met un espace

notify-send " " "Début concaténation Artiste: "$Artiste"\n Le: "$list --icon=~/.cargo/songrec.svg


JM38 a écrit :

dans cette ligne

notify-send --urgency=critical "Opération terminée"\n "fichier créé:/home/jojo/JM/Chansons_CD/liste_recap_$Artiste.txt"
la ligne est bien sautée mais il est affiché  mais le n est affiché après terminée



oui le n est considéré comme fessant parti du titre de se que je vois il est affiché en gras, se retour a la ligne est de trop car après le titre il y aura retour a ligne

notify-send --urgency=critical "Opération terminée" "fichier créé:/home/jojo/JM/Chansons_CD/liste_recap_$Artiste.txt"



(met le code avec les balises code c'est plus clair et facile à lire)

Dernière modification par Croutons (22-02-2024 13:37:30)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#103 22-02-2024 13:56:12

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

JM38 a écrit :

autre souci avec le sed
j'aimerais mettre en variable au début de mes fichiers album le nom de l'artiste
sed -i 1i\$texte$Artiste*.txt
j'ai essayé plein de trucs pas moyen , je n'arrive pas à inscrire le contenu de la variable artiste
je l'ai mis avec la commande echo
echo $texte |tee -a $Artiste*.txt
mais le nom de  l'artiste apparait en fin de liste


oui tee option -a pour append , donc logique que ça soit ajouté a la fin
la syntaxe c'est

sed -e 1i\ $(echo $texte) $Artiste*.txt


par contre un script c'est fait pour automatiser, si tu dois l'éditer sans arrêt pour changer ta variable Artiste c'est pas super
tu devrais mettre en début de script Artiste=$1 ($1 le premier paramètre passé au script)
puis utiliser le script dans ton terminal

mon_script_recap nomdel'Artiste



exemple pour Sardou

mon_script_recap Sardou


le parametre $1 (Sardou) sera stocké dans la variable Artiste

autre méthode , utiliser read dans le script pour demander a l'utilisateur le nom de l'Artiste, la réponse sera stocké dans la variable Artiste

read -p "texte a afficher" variable


read -p " indiquer le nom de l'Artiste pour la liste récapitulative : " Artiste



pour contrôler le résultat de la syntaxe de tes scripts
pour voir le déroulé

bash -x nomduscript


un outil qui contrôle la syntaxe des script et conseille les bonne pratique

apt install shellcheck


shellcheck nomduscript
 

Dernière modification par Croutons (22-02-2024 17:52:31)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#104 22-02-2024 16:16:50

JM38
Membre
Distrib. : LinuxMint 20.1 Ulyssa
Noyau : Linux Mint 5.4.0-66 generic Cinnamon 4.8.6
Inscription : 03-06-2020

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

[

sed -e 1i\ $(echo $texte) $Artiste*.txt

quote]

ça a marché mais avec sed -i 1i\ $(echo $texte) $Artiste*.txt

sed -e 1i\ $(echo $texte) $Artiste*.txt

le Artiste c'est pas super


je ne sais pas lancer le script du terminal
ojo@jojo-Aspire-7720Z:~/JM/analyse/bat$ recap_artistes Pierre
recap_artistes : commande introuvable
jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$ recap_artistes.sh Pierre
recap_artistes.sh : commande introuvable

read -p 'indiquer le nom de l'Artiste pour la liste récapitulative : ' Artiste


je n'ai pas réussi même avec doublecote et en enlevant la cote (l'artiste)
le programme ne demande rien

voir mon script  (j'ai mis en commentaire les essais)
Concaténation  fichiers albums pour un fichier récap   changer Artiste par Anthony par exemple
#Artiste="Pierre"
#Artiste=$1
read -p "indiquer le nom de l Artiste pour la liste récapitulative : " Artiste
Artiste="Pierre"
list=$(date +%d-%m-%y_%H:%M:%S)


nb  avec bash
jjojo@jojo-Aspire-7720Z:~/JM/analyse/bat$ bash -x  recap_artistes.sh
+ read -p 'indiquer le nom de l Artiste pour la liste récapitulative : ' Artiste
indiquer le nom de l Artiste pour la liste récapitulative : Paul
++ date +%d-%m-%y_%H:%M:%S
+ list=22-02-24_16:15:19
+ cd /home/jojo/JM/Chansons_CD
+ notify-send ' ' 'Début concaténation Artiste: Paul\n Le: 22-02-24_16:15:19' '--icon=~/.cargo/songrec.svg'
+ texte=______________________Paul____________________________________
++ echo ______________________Paul____________________________________
+ sed -i '1i ______________________Paul____________________________________' 'Paul*.txt'
sed: impossible de lire Paul*.txt: Aucun fichier ou dossier de ce type
+ sed -i 1i_ 'Paul*.txt'
sed: impossible de lire Paul*.txt: Aucun fichier ou dossier de ce type
+ cat 'Paul*.txt'
cat: 'Paul*.txt': Aucun fichier ou dossier de ce type
+ paplay /home/jojo/JM/Linux/SONS/tada.wav
+ notify-send --urgency=critical 'Opération terminée JM' 'fichier créé:/home/jojo/JM/Chansons_CD/liste_recap_Paul.txt'
jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$

Hors ligne

#105 22-02-2024 16:19:17

JM38
Membre
Distrib. : LinuxMint 20.1 Ulyssa
Noyau : Linux Mint 5.4.0-66 generic Cinnamon 4.8.6
Inscription : 03-06-2020

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

du terminal,on lance un script avec bash c'est ça ?

j'execute mes scripts en cliquant dessus
il faut peut-etre le lancer via un lanceur !!!

Hors ligne

#106 22-02-2024 17:31:25

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

les scripts non inclus dans la variable PATH il faut leur donner le chemin
soit en relatif si tu te trouve le répertoire du script

./monscript



soit chemin complet

~/JM/analyse/bat/recap_artistes.sh Pierre
 


edit: mauvaise syntaxe, c'est entouré de double guillemet

read -p "indiquer le nom de l'Artiste pour la liste récapitulative :" Artiste


Sardou puis Entrée

echo $Artiste


Sardou

Dernière modification par Croutons (22-02-2024 17:51:31)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#107 22-02-2024 18:32:23

JM38
Membre
Distrib. : LinuxMint 20.1 Ulyssa
Noyau : Linux Mint 5.4.0-66 generic Cinnamon 4.8.6
Inscription : 03-06-2020

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

J étais dans mon répertoire où se trouve le script
Il faut saisir ./recap_artistes.sh Pierre  (le point et le / compris?) ?
Idem pour
~/JM/analyse/bat/recap_artistes.sh Pierre tilde compris ?
Désolé pour ces questions de débutant
J avais rectifié la double cote, après avoir testé la simple mais en supprimant l’ de l’artiste

Sur mon test avec Bash à la console ça a marché
Le fichier avec Paul a été créé à vide car le fichier en entrée Paul*txt n existait pas
Mais la concaténation a marché
Pourquoi as tu écrit écho $Artiste
Désolé pour l absence de citation mais avec une tablette c est la galère pour un senior roi du clavier et raccourci et clic droit et…
Merci encore
J ai bien conscience que c est mieux de demander une entrée , plutôt que corriger le script à « la main »
Je voulais justement te demander comment entrer des données évitant ainsi de rentrer dans le code
Pour mes cd, je voulais connaître certains que j avais gravés
Je ne veux pas faire d impression de l étiquette
Le script de creation de la liste d un album est très bien surtout qu il contient en son nom de fichier le nom de l artiste
Ces programmes ne pouvant être excutes que sur une bécane Linux, il est aisé de corriger le nom?
Mais je créerai les scripts avec demande du nom pour avoir un modèle , c est plus logique
Pourquoi en cliquant sur le script , le read ne marche pas ?

Hors ligne

#108 22-02-2024 20:04:03

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

oui point compris ./ représente le chemin relatif , répertoire courant
~ représente le répertoire home de l'utilisateur (donc attention a bien être en user et pas en root)
ou on peut aussi appeler la variable environnement $HOME

j'avais pas fais gaffe , forcement le (l') est interprété comme une ouverture de guillemet
pour mes script je les met dans /home/stephane/bin
j'ai inclus le répertoire dans le PATH comme ça je lance mes script comme si c'était une commande juste avec leur nom
un peu comme on a fait pour l'installation de songrec

echo $PATH


/home/stephane/.cargo/bin:/home/stephane/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/games



les variables d’environnement

env



JM38 a écrit :

Pourquoi as tu écrit écho $Artiste


juste pour montre que la variable Artiste contient Sardou

Dernière modification par Croutons (22-02-2024 20:04:40)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#109 22-02-2024 21:42:48

JM38
Membre
Distrib. : LinuxMint 20.1 Ulyssa
Noyau : Linux Mint 5.4.0-66 generic Cinnamon 4.8.6
Inscription : 03-06-2020

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

Il faut donc corriger le fichier bashrc pour inscrire mon répertoire bat dans le path
Sinon si je saisis ./recap_artistes.sh  en me positionnant dans mon répertoire où se trouve mon script ça devrait marcher ?

Pourquoi en cliquant sur mon script, la commande Fread n est pas exécutée alors que le script est bien lancé , et les commandes notifysend s exécutent bien !!
Elles encadrent le fread
Je verrai demain je suis sur ma tablette sic je préfère celle en chocolat
Bonne nuit

Hors ligne

#110 22-02-2024 23:27:38

JM38
Membre
Distrib. : LinuxMint 20.1 Ulyssa
Noyau : Linux Mint 5.4.0-66 generic Cinnamon 4.8.6
Inscription : 03-06-2020

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

Finalement je suis retourné sur ma bécane
j'ai bien avancé
voici mon path
jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$ echo $PATH
/home/jojo/.cargo/bin:/home/jojo/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$

voici l’exécution en mode console derecap_artistes.sh qui a très bien marché
jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$ ./recap_artistes.sh
indiquer le nom de l Artiste pour la liste récapitulative : Paul
jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$

*************************
voici l’exécution via un raccourci lanceur sur le bureau de recap_artistes.sh  qui a bien marché

indiquer le nom de l Artiste pour la liste récapitulative : Souchon
jojo@jojo-Aspire-7720Z:~$ ^C
******************************************

voici l’exécution via un raccourci lanceur sur le bureau de  artistes_album_cpt.sh qui a marché quant au résultat (création du fichier résultat)
mais qui a deroulé le détail du processus de songrec sur la console (j'ai enlevé le milieu pour ne pas polluer mon post)
indiquer le nom de l Artiste pour la creation de l'album : Fugain
{
  "location": {
    "accuracy": 0.01,
    "altitude": 300.0,
    "latitude": 45.0,
    "longitude": 2.0
  },
  "matches": [
    {
      "frequencyskew": 0.0,
      "id": "227644437",
      "offset": 135.841375,
      "timeskew": -0.00010174513
 
        "metapages": [
          {
            "caption": "Yves Montand",
            "image": "https://is1-ssl.mzstatic.com/image/thum … x800cc.jpg"
          },
          {
            "caption": "Le temps des cerises",
            "image": "https://is1-ssl.mzstatic.com/image/thum … x400cc.jpg"
          }
        ],
        "tabname": "Song",
        "type": "SONG"
      },
      {
        "tabname": "Video",
        "type": "VIDEO",
        "youtubeurl": "https://cdn.shazam.com/video/v3/-/US/an … cerises%22"
      },
      {
        "tabname": "Related",
        "type": "RELATED",
        "url": "https://cdn.shazam.com/shazam/v3/en/US/ … connected="
      }
    ],
    "share": {
      "avatar": "https://is1-ssl.mzstatic.com/image/thum … x800cc.jpg",
      "href": "https://www.shazam.com/track/67703686/l … es-cerises",
      "html": "https://www.shazam.com/snippets/email-s … country=US",
      "image": "https://is1-ssl.mzstatic.com/image/thum … x400cc.jpg",
      "snapchat": "https://www.shazam.com/partner/sc/track/67703686",
      "subject": "Le temps des cerises - Yves Montand",
      "text": "Le temps des cerises by Yves Montand",
      "twitter": "I used @Shazam to discover Le temps des cerises by Yves Montand."
    },
    "subtitle": "Yves Montand",
    "title": "Le temps des cerises",
    "type": "MUSIC",
    "url": "https://www.shazam.com/track/67703686/l … es-cerises",
    "urlparams": {
      "{trackartist}": "Yves+Montand",
      "{tracktitle}": "Le+temps+des+cerises"
    }
  }
}
titre-Le temps des cerises___interprete-Yves Montand____album-Chansons populaires de France
jojo@jojo-Aspire-7720Z:~$

il doit y avoir un moyen de rendre le process moins verbeux !!!
A suivre

Hors ligne

#111 23-02-2024 07:20:04

JM38
Membre
Distrib. : LinuxMint 20.1 Ulyssa
Noyau : Linux Mint 5.4.0-66 generic Cinnamon 4.8.6
Inscription : 03-06-2020

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

Bonjour
voici la fin de mon bashrc,   logique car songrec a ajouté le path .cargo

********************************
if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi
export PATH="$HOME/.cargo/bin:$PATH"
***********************************************
voici mon lanceur qui se déroule avec les détails (heureusement que j'ai pris un CD avec une seule chanson=
Autre question ,comment interrompre le traitement (avec un kill?)
*****************
[Desktop Entry]
Name=Album
Exec=sh -ic "~/JM/analyse/bat/artistes_album_cpt.sh ; exec bash"
Comment=
Terminal=true
Icon=cinnamon-panel-launcher
Type=Application
Name[fr_FR]=Album
******************************************
A suivre
JM

Hors ligne

#112 23-02-2024 09:09:29

JM38
Membre
Distrib. : LinuxMint 20.1 Ulyssa
Noyau : Linux Mint 5.4.0-66 generic Cinnamon 4.8.6
Inscription : 03-06-2020

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

echo 'export PATH="$HOME/.cargo/bin:$PATH"' | tee -a ~/.profile ~/.bashrc


faut il une cote de fin ? avant le  | tee -a ~/.profile ~/.bashrc  ?
echo 'export PATH="$HOME/.cargo/bin:$PATH"' | tee -a ~/.profile ~/.bashrc

si je  veux inscrire mon path
soit je fais
export PATH="$HOME/.JM/analyse/bat:$PATH" | tee -a ~/.bashrc
soit j'ajoute avec l'éditeur en fin du fichier bashrc
la ligne
export PATH="$HOME/.JM/analyse/bat:$PATH"
est-ce necessaire de corriger profile?  qui se termine pareil que bashrc
**************
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi
export PATH="$HOME/.cargo/bin:$PATH"
***************************

Hors ligne

#113 23-02-2024 10:01:37

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

JM38 a écrit :

Sinon si je saisis ./recap_artistes.sh  en me positionnant dans mon répertoire où se trouve mon script ça devrait marcher ?


oui

JM38 a écrit :

Pourquoi en cliquant sur mon script, la commande Fread n est pas exécutée alors que le script est bien lancé , et les commandes notifysend s exécutent bien !!


parce que le script s’exécute en arrière plan , c'est pour ça que on ne voit pas les messages affiché avec echo

JM38 a écrit :

jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$ echo $PATH
/home/jojo/.cargo/bin:/home/jojo/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin


ok faut que je vérifie mais je crois bien que l'append vers le fichier ~/.profile pendant l'installation de songrec était de trop

JM38 a écrit :

mais qui a deroulé le détail du processus de songrec sur la console


normalement non, la sortie n'est pas envoyé sur l'entrée standard(écran) mais vers un fichier temporaire , qui sert pour récupéré les informations
des variables titre,interprete,album

JM38 a écrit :

Autre question ,comment interrompre le traitement (avec un kill?)


 killall songrec


plusieurs manière de faire, mais killall c'est facile a ce rappeler

pour ajouter dans le PATH , soit tu procede comme pour l'installation de songrec
avec export et tee

echo 'export PATH="$HOME/JM/bin:$PATH"' | tee -a ~/.bashrc


ou tu édites ~/.bashrc et tu complètes la ligne qui contient PATH
mais les répertoires dans le PATH sont des répertoire spécifique, qui normalement respecte la hiérarchie du système de fichiers
en mettant tes scripts dans des sous répertoires que toi seul comprend tu as pas fini d'allonger le PATH
a la longue je ne sais pas quel incidence peut avoir une tel pratique sur les performances du système

Dernière modification par Croutons (23-02-2024 10:09:50)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#114 23-02-2024 18:36:20

JM38
Membre
Distrib. : LinuxMint 20.1 Ulyssa
Noyau : Linux Mint 5.4.0-66 generic Cinnamon 4.8.6
Inscription : 03-06-2020

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

Bonsoir
   

mais qui a deroulé le détail du processus de songrec sur la console

normalement non, la sortie n'est pas envoyé sur l'entrée standard(écran) mais vers un fichier temporaire , qui sert pour récupéré les informations
des variables titre,interprete,album


c'est pourtant ce qui se passe !!!

Pourquoi en cliquant sur mon script, la commande Fread n est pas exécutée alors que le script est bien lancé , et les commandes notifysend s exécutent bien !!
parce que le script s’exécute en arrière plan , c'est pour ça que on ne voit pas les messages affiché avec echo


on ne peut pas y contourner ? (en modifiant le script) ou en essayant de visualiser l'arrière plan?

je vais garder mes scripts avec fread mais pour celui qui execute songrec,je vais mettre la variable artiste "avec l'editeur" avant le fread et lancer ce script en cliquant dessus,et non via le lanceur du bureau, car 23 chansons ,ça donnerait  un maximum de lignes sur le terminal
y aurait il un paramètre à mettre dans le lanceur ou dans le script lui meme pour ne pas avoir le déroulé sur l'écran (pour ma doc personnelle,j'ai bien compris la  leçon, Fread, lancement via terminal,lancement via un raccourci lanceur, lancement en cliquant sur le script)

Hors ligne

#115 23-02-2024 20:57:56

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

ah c'est la commande tee qui rend le terminal verbeux , affiche obligatoirement a l'écran avant d'enregistrer le fichier
du coup change la ligne

do songrec audio-file-to-recognized-song "$line"|tee /tmp/songrec.json



à la place tu rediriges dans le fichier avec un chevron, un seule chevron écrasera le fichier temporaire a chaque tour de boucle
ça fait plus propre c'est sur

do songrec audio-file-to-recognized-song "$line"> /tmp/songrec.json



JM38 a écrit :

on ne peut pas y contourner ? (en modifiant le script) ou en essayant de visualiser l'arrière plan?


on peut contourner, mais ça dépend du terminal utiliser, au lieu de lancer le script ouvrir le terminal avec une option
souvent -e ou -x
exemple sous Mate j'avais un script avec une variable a entrer avec read -p
sur la ligne du lanceur j'ai

mate-terminal -x /home/stephane/scripts/durée_record.sh


avec le terminal actuel (terminator) , c'est la même option -x

Dernière modification par Croutons (24-02-2024 18:19:54)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#116 23-02-2024 21:54:22

JM38
Membre
Distrib. : LinuxMint 20.1 Ulyssa
Noyau : Linux Mint 5.4.0-66 generic Cinnamon 4.8.6
Inscription : 03-06-2020

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

En le lançant du terminal le fread a marché
Voir mes messages précédents discussion 110
C est en cliquant sur le script via l affichage fichier que le fread passe en dessous
D ailleurs que devient il ? En arrière plan ? Il semble mourir !!
Qu ai je comme terminal ?
Bonne nuit

Hors ligne

#117 24-02-2024 09:04:55

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

d’après mes recherche , ce doit être gnome-terminal
en lisant le man vite fait je dirais que ce doit être la même option -x

man gnome-terminal

Dernière modification par Croutons (24-02-2024 09:05:04)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#118 24-02-2024 10:18:56

JM38
Membre
Distrib. : LinuxMint 20.1 Ulyssa
Noyau : Linux Mint 5.4.0-66 generic Cinnamon 4.8.6
Inscription : 03-06-2020

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

bonjour
avec  changement
#do songrec audio-file-to-recognized-song "$line"|tee /tmp/songrec.json
do songrec audio-file-to-recognized-song "$line">tee /tmp/songrec.json


jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$ ./artistes_album_cpt.sh
indiquer le nom de l Artiste pour la creation de l'album : inconnu
./artistes_album_cpt.sh: ligne 13: tee: Opération non supportée
titre-Le temps des cerises___interprete-Yves Montand____album-Chansons populaires de France
jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$ ^C
jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$

et gnome
jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$ ^C
jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$ gnome-terminal -x artistes_album_cpt.sh
file-R05e9b68e4bbbe49a6829d32b511fec57
file-R9ac23e4198b41168d180673b009c7168
avant d'afficher  le premier message il signale d'une obsolescence (le message est fugitif une demi-seconde)

Hors ligne

#119 24-02-2024 11:43:49

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

ah oui je connais ce fameux message d'erreur

gnome-terminal -- bash -c "ma-commande; bash"


d'apres le lien çà a l'air de fonctionner sans le -x , à vérifier
voir ici
https://forum.ubuntu-fr.org/viewtopic.php?id=2039999
https://debian-facile.org/viewtopic.php … 43#p333043


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#120 24-02-2024 14:13:29

JM38
Membre
Distrib. : LinuxMint 20.1 Ulyssa
Noyau : Linux Mint 5.4.0-66 generic Cinnamon 4.8.6
Inscription : 03-06-2020

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

gnome-terminal -- bash -c "artistes_album_cpt.sh; bash"

[Desktop Entry]

où placer cette ligne?
c'est pour éviter le deroulé verbeux ?
c'est pour avoir la commande fread ?
je  ne  sais plus

pour l'instant
mes scripts passent bien en mode terminal
le 1ER  mais il affiche ledéroulé
jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$ ./artistes_album_cpt.sh
indiquer le nom de l Artiste pour la creation de l'album : voulzy
{
  "location": {
    "accuracy": 0.01,

Le 2ième
jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$ ./recap_artistes.sh
indiquer le nom de l Artiste pour la liste récapitulative : voulzy
jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$
il marche nickel
Q
quant aux lanceurs

Name=Album
Exec=sh -ic "~/JM/analyse/bat/artistes_album_cpt.sh ; exec bash"
Comment=
Terminal=true
Icon=cinnamon-panel-launcher
Type=Application
Name[fr_FR]=Album

et

[Desktop Entry]
Name=CONCAT
Exec=sh -ic "~/JM/analyse/bat/recap_artistes.sh ; exec bash"
Comment=
Terminal=true
Icon=cinnamon-panel-launcher
Type=Application
Name[fr_FR]=concat

ils marchent, mais ils ouvrent un terminal et pour album  il y a le deroulé
mais ils passent en arrière plan la question fread (que j'ai donc mis en commentaire)
je pense que je vais en rester là
car avec mes scripts il suffit de corriger une donnée et de le lancer via l'explorateur

j'ai bien compris les passations de paramètres (via $1,  et via la demande fread)
s'il  faut lancer un script via un terminal en donnant le paramètre, c'est plus fastidieux que de corriger le fichier script via l'explorateur et de cliquer dessus

j'aurais aimé pouvoir lancer les script via un lanceur sur lebureau et qu'il me demande d'entrer le paramètre (via le fread contenu dans le script)
merci en tous cas
je ne vais pas tarder à clore la discussion

Hors ligne

#121 24-02-2024 16:16:53

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

sur la commande tu lanceur
dans le fichier.desktop correspondant çà donne la ligne suivante, fichier a retrouvé dans ton répertoire Bureau

Exec=gnome-terminal -- bash -c "artistes_album_cpt.sh; bash"



pour l'histoire du terminal verbeu , voir mon message #115

Dernière modification par Croutons (24-02-2024 16:18:08)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#122 24-02-2024 17:52:39

JM38
Membre
Distrib. : LinuxMint 20.1 Ulyssa
Noyau : Linux Mint 5.4.0-66 generic Cinnamon 4.8.6
Inscription : 03-06-2020

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

bonsoir
j'ai lancé
[Desktop Entry]
Name=CON-read
Exec=gnome-terminal --bash -c "~/JM/analyse/bat/recap_artistes.sh ;  bash"
Comment=
Terminal=true
Icon=cinnamon-panel-launcher
Type=Application
Name[fr_FR]=conc_read

il  s'affiche une ligne fugitive sur le terminal, que je n'ai pas le temps de visualiser

do songrec audio-file-to-recognized-song "$line">tee /tmp/songrec.json



mon script  artistes_album_cpt.sh
#!/bin/bash
#reconnaissance audio d'un cd exotique, fichier non taggués,
#  Il faut corriger la Variable Artiste , sur la ligne suivante
Artiste="Cabrel"
#read -p "indiquer le nom de l Artiste pour la creation de l'album : " Artiste
notify-send "Artiste= " $Artiste
max_fichier=$(ls /run/user/1000/gvfs/cdda:host=sr0/|wc -l)
list=$(date +%d-%m-%y_%H:%M:%S)
notify-send "Songrec" "Début du processus de reconnaissance Artiste: "$Artiste"\n Le: "$list --icon=~/.cargo/songrec.svg
cd /run/user/1000/gvfs/cdda:host=sr0/
while read -r line 
#do songrec audio-file-to-recognized-song "$line"|tee /tmp/songrec.json
do songrec audio-file-to-recognized-song "$line">tee /tmp/songrec.json

album=$(grep -B1 Album /tmp/songrec.json|awk '/"text"/ {sub(/",.*/, ""); print substr($0,22)}')
interprete=$(awk '/"subtitle"/ {sub(/",.*/, ""); print substr($0,18)}' /tmp/songrec.json)
titre=$(awk '/"title".*",/ {sub(/",.*/, ""); print substr($0,15)}' /tmp/songrec.json)

echo "titre-"$titre"___interprete-"$interprete"""____album-"$album|tee -a /home/jojo/JM/Chansons_CD/"$Artiste$list".txt
liste_fichier=$(cat /home/jojo/JM/Chansons_CD/"$Artiste$list".txt|wc -l)
#restant=$(($max_fichier-$liste_fichier))
notify-send  $Artiste" Lecture du titre:  "$liste_fichier" sur "$max_fichier --icon=~/.cargo/songrec.svg

done <<<$(ls -UN1 /run/user/1000/gvfs/cdda:host=sr0/|grep .wav)

paplay /home/jojo/JM/Linux/SONS/tada.wav
#paplay /home/jojo/JM/Linux/SONS/dangers.ogg
notify-send --urgency=critical "Songrec" "Fin" --icon=~/.cargo/songrec.svg
notify-send --urgency=critical "Songrec" "Opération terminée\nfichier créé:\n/home/jojo/JM/Chansons_CD/"$Artiste$list".txt"
eject


si je le lance en cliquant dessus
il crée  le fichier incomplet  Cabrel24-02-24_17:43:56.txt  (avec une seule ligne,car le songrec ne s'execute pas totalement)
titre-___interprete-____album-

et en lancement du terminal
jojo@jojo-Aspire-7720Z:~$ cd /home/jojo/JM/analyse/bat
jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$ ./artistes_album_cpt.sh
./artistes_album_cpt.sh: ligne 13: tee: Opération non supportée
grep: /tmp/songrec.json: Aucun fichier ou dossier de ce type
awk: fatal : impossible d'ouvrir le fichier « /tmp/songrec.json » en lecture (Aucun fichier ou dossier de ce type)
awk: fatal : impossible d'ouvrir le fichier « /tmp/songrec.json » en lecture (Aucun fichier ou dossier de ce type)
titre-___interprete-____album-
jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$

Hors ligne

#123 24-02-2024 18:23:15

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

dsl ma faute peace_flag.gif
j'ai fait un copier coller de la ligne avec tee et je l'ai pas enlevé

do songrec audio-file-to-recognized-song "$line"> /tmp/songrec.json


ça devrait être mieux
c'est soit l'un soit l'autre , mais le chevron + tee , il est pas content

enfin a par ça y'a plus l'autre message d'erreur sur le lanceur c'est plutôt bon signe

Dernière modification par Croutons (24-02-2024 18:30:27)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#124 24-02-2024 18:50:49

JM38
Membre
Distrib. : LinuxMint 20.1 Ulyssa
Noyau : Linux Mint 5.4.0-66 generic Cinnamon 4.8.6
Inscription : 03-06-2020

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

j'ai essayé avec
do songrec audio-file-to-recognized-song "$line"|tee /tmp/songrec.json    (comme  avant)
j'ai eu en fichier résultat
**************
titre-On est planté___interprete-Michel Sardou____album-Hors Format
titre-L'évangile (selon Robert) [Apocryphe]___interprete-Michel Sardou____album-Hors Format
titre-Valentine Day___interprete-Michel Sardou____album-Hors Format
titre-Ce qui s'offre___interprete-Michel Sardou____album-Hors Format
titre-Two友 (カラオケ)___interprete-カラオケ歌っちゃ王____album-
titre-l'oiseau tonnerre___interprete-Michel Sardou____album-Hors Format
titre-40 ans___interprete-Michel Sardou____album-Hors Format
titre-Le chant des hommes___interprete-Michel Sardou & Chimène Badi____album-Le Miroir
titre-Un motel à Keeseeme___interprete-Michel Sardou____album-Hors Format
titre-Je serai là___interprete-Michel Sardou____album-Hors Format
titre-Je ne sais plus rien___interprete-Michel Sardou____album-Hors Format
titre-Cette chanson n'en est pas une___interprete-Michel Sardou____album-Hors Format
*************
puis avec
do songrec audio-file-to-recognized-song "$line">tee /tmp/songrec.json
le traitement dure très peu (à mon avis il ne lit même pas le cd)
j'ai eu comme résultat
*****************
titre-Cette chanson n'en est pas une___interprete-Michel Sardou____album-Hors Format
titre-Cette chanson n'en est pas une___interprete-Michel Sardou____album-Hors Format
titre-Cette chanson n'en est pas une___interprete-Michel Sardou____album-Hors Format
titre-Cette chanson n'en est pas une___interprete-Michel Sardou____album-Hors Format
titre-Cette chanson n'en est pas une___interprete-Michel Sardou____album-Hors Format
titre-Cette chanson n'en est pas une___interprete-Michel Sardou____album-Hors Format
titre-Cette chanson n'en est pas une___interprete-Michel Sardou____album-Hors Format
titre-Cette chanson n'en est pas une___interprete-Michel Sardou____album-Hors Format
titre-Cette chanson n'en est pas une___interprete-Michel Sardou____album-Hors Format
titre-Cette chanson n'en est pas une___interprete-Michel Sardou____album-Hors Format
titre-Cette chanson n'en est pas une___interprete-Michel Sardou____album-Hors Format
titre-Cette chanson n'en est pas une___interprete-Michel Sardou____album-Hors Format
******************
soit 12 fois le  dernier titre

et en relançant avec  un autre CD qui a une chanson
le résultat est :
**************
titre-Cette chanson n'en est pas une___interprete-Michel Sardou____album-Hors Format
************************
tout se passe en écrivant sur un nombre de chansons trouvées, mais en inscrivant le sernier enregistrement stocké dans json
ici on devrait avoir
le temps des cerises (il n'y a qu'une chanson sur ce CD)

et on a
titre-Cette chanson n'en est pas une___interprete-Michel Sardou____album-Hors Format
qui est le  dernier titre écrit du CD précédent qui a 12 chansons
c'est de plus en plus le souc
je vais rester avec ma première version qui marche très bien et que  je peux lancer en cliquant sur le script

Hors ligne

#125 24-02-2024 19:10:55

JM38
Membre
Distrib. : LinuxMint 20.1 Ulyssa
Noyau : Linux Mint 5.4.0-66 generic Cinnamon 4.8.6
Inscription : 03-06-2020

Re : Résolu Merci Extraire les titres des chansons d'un CD ...exotique

j'ai écrit sans lire ton message précedent
effcitevement c'est bien mieux,on voit dans le terminal monter les titres
jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$ ./artistes_album_cpt.sh
titre-On est planté___interprete-Michel Sardou____album-Hors Format
titre-L'évangile (selon Robert) [Apocryphe]___interprete-Michel Sardou____album-Hors Format
titre-Valentine Day___interprete-Michel Sardou____album-Hors Format
titre-Ce qui s'offre___interprete-Michel Sardou____album-Hors Format
titre-Two友 (カラオケ)___interprete-カラオケ歌っちゃ王____album-
titre-l'oiseau tonnerre___interprete-Michel Sardou____album-Hors Format
titre-40 ans___interprete-Michel Sardou____album-Hors Format
titre-Le chant des hommes___interprete-Michel Sardou & Chimène Badi____album-Le Miroir
titre-Un motel à Keeseeme___interprete-Michel Sardou____album-Hors Format
titre-Je serai là___interprete-Michel Sardou____album-Hors Format
titre-Je ne sais plus rien___interprete-Michel Sardou____album-Hors Format
titre-Cette chanson n'en est pas une___interprete-Michel Sardou____album-Hors Format
jojo@jojo-Aspire-7720Z:~/JM/analyse/bat$

Hors ligne

Pied de page des forums