<![CDATA[Forum Ubuntu-fr.org / Script pour renommer MP3 à partir du tag]]> http://forum.ubuntu-fr.org/viewtopic.php?id=541991 Mon, 29 Oct 2012 15:12:34 +0000 FluxBB <![CDATA[Réponse à : Script pour renommer MP3 à partir du tag]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=11311321#p11311321 Pour information (pour ceux qui auraient suivi ce bout de conversation) :
Le logiciel Tag est reconnu comme un malware par le cloud du pare-feu Comodo.
Je l'ai essayé via Sandboxie, et apparemment pas de malware... c'est néanmoins suspect.
Sinon j'ai trouvé un soft en ligne de commande qui est tout à fait satisfaitsant : metamp3
Vous pouvez lire tous les tags + d'autres informations utiles sur le fichier (kbps moyen, ...) avec le paramètre --info !
Vous pouvez bien sûr également modifier les tags

]]>
Mon, 29 Oct 2012 15:12:34 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=11311321#p11311321
<![CDATA[Réponse à : Script pour renommer MP3 à partir du tag]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=11280481#p11280481 Okai merci, et pas d'souci, apparemment c'est effectivement pas le logiciel qu'il me faut ^^
C'est juste que ma musique est sous windows, et que ça m'arrangerait d'avoir un script sous windows aussi pour extraire les tags.
Je vais essayer celui que tu proposes ^^
Et c'est vrai qu'y'a 50 000  fois plus de possibilités/facilités sous Linux x)
Mais j'aime bien mon piti Windows, je le connais bien, alors j'essaye aussi de m'entraîner au batch dessus smile
Enfin bref merci à toi !

]]>
Sat, 27 Oct 2012 12:57:34 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=11280481#p11280481
<![CDATA[Réponse à : Script pour renommer MP3 à partir du tag]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=11273141#p11273141 Ça fait un moment que je l'ai utilisé et je ne suis pas sûr que ce soit l'outil adapté pour faire ce que tu veux.  J'avais fait un exe qui installait en même temps mp3tagger et dans le script je faisait appel à celui-ci avec la commande

copy mp3tagger.jar "%userprofile%\Music\%artiste%\%album%\"

puis appliquais le tag avec

java -jar mp3tagger.jar "%fichier%.mp3"

. et finissais le script par

del mp3tagger.jar

pour supprimer celui-ci après avoir fait ce que je voulais. Ça fonctionne mais ce n'est pas très propre, mp3tagger n'est donc pas utilisé en ligne de commande.
Un autre outil qui serait plus adapté serait peut-être celui-ci. Il ne supporte que ID3v1.x, ID3v2.x (reading and removing), APE v1.0, APE v2.0, à voir si ça te convient, je pensais l'utiliser pour ré-écrire le script mais je ne l'ai pas fais ayant découvert Gnu/Linux entre temps.
Bah désolé mais je n'en dirai pas plus, je ne pense pas qu'un forum Ubuntu soit adapté pour parler de batch Windows tongue, d'autant plus que je n'utilise plus ce système d'exploitation pour mon usage perso. A défaut, tu peux me MP si tu veux + d'info.

]]>
Fri, 26 Oct 2012 20:03:43 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=11273141#p11273141
<![CDATA[Réponse à : Script pour renommer MP3 à partir du tag]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=11267431#p11267431 Oui je cherche bien à réaliser un script batch, donc sous Windows smile
J'ai déjà trouvé d'autres outils sur linux, comme id3 ou eyeD3
En fait je souhaite simplement pouvoir accéder aux tags sans modifier les fichiers...
J'avais trouvé des libs pour langage C, mais impossible de les compiler et j'ai pas envie de me casser la tête.

Donc si tu as une idée de comment utiliser Mp3Tagger en ligne de commande sous windows pour récupérer les tags, je suis preneur ^^ !
Merci de ta réponse rapide par ailleurs

]]>
Fri, 26 Oct 2012 12:03:30 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=11267431#p11267431
<![CDATA[Réponse à : Script pour renommer MP3 à partir du tag]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=11261801#p11261801 Salut TimmyG,
comme mentionné, c'était sous windows en batch et non pas en bash. je ne suis pas sûr que c'est ce que tu cherches. A toi de le confirmer.

]]>
Thu, 25 Oct 2012 19:57:03 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=11261801#p11261801
<![CDATA[Réponse à : Script pour renommer MP3 à partir du tag]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=11261561#p11261561 Salut Metalux !
En tout début de post tu dis que tu as réalisé des scripts batch avec Mp3Tagger, j'ai donc regardé ça de plus près et installer le logiciel mais impossible de mettre la main sur des infos concernant ces lignes de commandes... pourrais-tu m'aider à les retrouver ^^ ?
J'ai bien vu les %x dans les instructions de renommage, mais ça me paraît peu pour l'utiliser en ligne de commande O_o

]]>
Thu, 25 Oct 2012 19:40:09 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=11261561#p11261561
<![CDATA[Réponse à : Script pour renommer MP3 à partir du tag]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=5109581#p5109581

EDIT: finalement j'ai compris, ca serait pas plutôt #!/bin/bash au lieu de #/bin/bash au début du script? tongue

dsl, un petit oubli !

]]>
Fri, 24 Jun 2011 10:24:49 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=5109581#p5109581
<![CDATA[Réponse à : Script pour renommer MP3 à partir du tag]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=5105241#p5105241 Ok! Expliqué comme ça, ça parait tellement évident! Pourtant j'avais retourné le problème dans tous les sens et là ca me saute à la figure!Quand je dis qu'il ne s'exécute pas, c'est qu'il ne se passe rien. En console, il est bien exécuté. Faut-il lui mettre une extension particulière? j'ai essayé sans et avec l'extension .sh. Excuses moi pour mes questions de noob roll

EDIT: finalement j'ai compris, ca serait pas plutôt #!/bin/bash au lieu de #/bin/bash au début du script? tongue

]]>
Thu, 23 Jun 2011 22:58:11 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=5105241#p5105241
<![CDATA[Réponse à : Script pour renommer MP3 à partir du tag]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=5105121#p5105121 Bjr,
Je t'avais dit d'enlever toutes les occurrences à artiste big_smile

Il faut virer la ligne:

        [[ "$artist" =~ "artist:" ]] || [[ -z "$artist" ]] && artist=inconnu

enlever :

        [[ "$artist" == 'inconnu' ]] &&

enlever la variable ${artist} dans

        mv "./${fichier}" "$dossier_dest/${track}${artist} - ${titre}.mp3"

Et pour le track, comme tu as enlevé le -, modifier son test

[[ "${track}" == " - " ]]

Le script ne s'exécute que dans une console

Ce n'est pas normal, lorsque tu dis qu'il ne s'exécute pas, les fichiers ne sont pas modifiés ou tu n'as pas de console qui s'ouvre ?
Si c'est la console, c'est normal wink

]]>
Thu, 23 Jun 2011 22:34:40 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=5105121#p5105121
<![CDATA[Réponse à : Script pour renommer MP3 à partir du tag]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=5104281#p5104281 Tant mieux, ce sont les 2 langages qui ont retenus mon attention. Je vais commencer par le bash, ça ne peut être que profitable à me familiariser un peu plus avec la console. Sinon j'ai viré les occurrences de la variable artiste et le tiret de la variable track et je n'obtiens pas le résultat souhaité.J'ai essayé avec quelques fichiers et ils sont soit non renommés si il n'y a pas de tag titre(normal dans ce cas), soit renommés inconnu-titre.mp3 si le titre est taggué (il y a inconnu- en trop). Voici le script modifié, regarde si j'ai bien fais:

#/bin/bash
# adresse du dossier à scanner.
cd "/home/lamour/found"
dossier_dest="./mp3Rescue"
mkdir $dossier_dest

for fichier in *.*
  do
    mime=$(file -b --mime-type "${fichier}")
    size=$(stat -c %s "./${fichier}")
    [[ "${mime}" == "audio/mpeg" ]] && [[ "$size" -gt 1000000 ]] && {
        tags=$(eyeD3 --no-color "./${fichier}")
        while read line
          do
              [[ "$line" =~ ^title ]] && {
                titre=${line#*: }
                titre=${titre%%    *}
                
                
              }
              [[ "$line" =~ ^track ]] && {
                  track="${line#*: }"
                  track="${track%%    *}  "
              }
          done <<< "${tags}"
        [[ "$track" =~ "track:" ]] || [[ "${track}" == " - " ]] && track=
        [[ "$artist" =~ "artist:" ]] || [[ -z "$artist" ]] && artist=inconnu
        [[ "$titre" =~ "title:" ]] || [[ -z "$titre" ]] && titre=inconnu
        [[ "$artist" == 'inconnu' ]] && [[ "$titre" == 'inconnu' ]] && {
            mv "./${fichier}" "$dossier_dest/${fichier%.*}.mp3"
            continue
        }
        mv "./${fichier}" "$dossier_dest/${track}${artist} - ${titre}.mp3"
    }
  done
exit

Le script ne s'exécute que dans une console, or, sur la documentation, il est indiqué: Le fait de rendre le script exécutable permet aussi de l'exécuter en double cliquant sur son icône depuis le gestionnaire de fichier.. J'ai cherché mais je n'ai pas trouvé la raison. Pour info, Nautilus est bien paramétré sur lancer les fichiers textes exécutables.

]]>
Thu, 23 Jun 2011 21:22:05 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=5104281#p5104281
<![CDATA[Réponse à : Script pour renommer MP3 à partir du tag]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=5087231#p5087231

Je souhaite uniquement renommer de la façon suivante: N° titre.mp3 sans les tirets et le nom de l'artiste.

Je sais pas si c'est une bonne idée, mais soit smile
Il suffit d'enlever toutes les occurences de la variable artiste, et enlever le tiret de la variable track

Le choix du bash est un bon choix avec Ubuntu, n'est-ce pas?

Tout dépends ce que tu veux !

Si tu veux juste faire de petits sotfs, sans besoin de gros calcul, bash est pas mal. Surtout que c'est le language de la console, donc c'est plutot pratique.

Si tu compte faire plus gros, plus rapide, avec besoin de maintenir facilement ton code, je dirais python (qui est presque plus simple que bash !).

Attention, ce n'est que mon avis smile

]]>
Wed, 22 Jun 2011 20:23:41 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=5087231#p5087231
<![CDATA[Réponse à : Script pour renommer MP3 à partir du tag]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=5085391#p5085391 Salut Ansuz,
J'ai mis des tabulations (j'avais fais un simple copier/coller par manque de temps, pourtant tu l'avais bien précisé) et maintenant les titres sont renommés:
N°-artiste-titre.mp3
Je souhaite uniquement renommer de la façon suivante: N° titre.mp3 sans les tirets et le nom de l'artiste.
Par contre cette histoire que eyeD3 mixe des espaces/tabulations, c'est du chinois pour moi. Je réserve ça pour les longues soirées d'hiver. 

essaie de découper la sortie comme tu veux, tu verras, galère

Pour toi c'est clair mais je ne sais pas ce que veux dire "découper la sortie". Je n'ai pas encore appris le bash, aussi tu vas un peu vite pour moi. En tout cas, tu as décuplé mon envie d'apprendre. Le choix du bash est un bon choix avec Ubuntu, n'est-ce pas?
Une autre chose qui complique, c'est que je me rend compte que la manière dont j'ai l'habitude de renommer ne différencie pas les artistes.Il faudrait dans ce cas que je récupère le tag artiste pour créer un dossier du même nom et déplacer les mp3 dans leur sous-dossier respectifs. Pour ça, je verrai plus tard en essayant de me débrouiller tout seul, même si, comme je te l'ai expliqué, je n'ai pas besoin de ce script comme exercice (j'ai prévu ça pour plus tard), c'est l'occasion de débuter en modifiant petit à petit un script de base. As-tu sinon un lien sur eyeD3 en français, j'ai un peu de mal avec l'anglais et c'est un frein à bien comprendre le manuel pour les pages sans traduction.

]]>
Wed, 22 Jun 2011 18:27:36 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=5085391#p5085391
<![CDATA[Réponse à : Script pour renommer MP3 à partir du tag]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=5073771#p5073771

A quoi sert l'option --no-color de eye3d?

C'est pour ne pas afficher de couleur sur la sortie (ca cause des bug dans la découpe)

au lieu d'être renommé "1-script bash.mp3" le titre est renommé "1-toi-script bash artist:toi.mp3"

Arfff, tu as bien vérifier les tabulations là où elles doivent être ? Chez moi pas de soucis !
J'ai préféré utiliser principalement du bash, mais le soucis c'est que la sortie eyeD3 mixe des espaces et des tab, pas facile en bash !

Un coup un # parfois 2

C'est la substitution bash
http://abs.traduc.org/abs-5.3-fr/ch09s02.html

Par contre je ne vois pas pourquoi tu as crées une variable pour dossier_dest pour créer le dossier mp3rescue?

C'est les bonnes pratiques, éviter d'écrire en 'dur' dans le code. Mieux vaut utiliser des variables. dossier_dest est utiliser 3 fois.
D'ailleurs, j'aurais du mettre inconnu dans une variable également ...

Pour te rendre compte du truc, lance une commande eyeD3 en console, et essaie de découper la sortie comme tu veux, tu verras, galère.
awk serait une alternative, mais bon, ca demanderait plus de ressource, donc ca serait plus lent !

]]>
Tue, 21 Jun 2011 23:30:17 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=5073771#p5073771
<![CDATA[Réponse à : Script pour renommer MP3 à partir du tag]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=5073581#p5073581 Je n'ai pas pu m'empêcher de jeter un coup d'œil au script avant de partir. A quoi sert l'option --no-color de eye3d? Tu vas me dire RTFM mais j'ai rien compris à cette option!
Sinon j'ai testé sur quelques fichiers et il y a un bug dans le renommage. Dans l'exemple suivant:
title: script bash
artist: toi
piste: 1
au lieu d'être renommé "1-script bash.mp3" le titre est renommé "1-toi-script bash artist:toi.mp3"
Après, là, la syntaxe se complique nettement afin que je puisse me débrouiller sans me documenter sérieusement avant. Un coup un # parfois 2 hmm même si au premier abord j'ai, je pense, compris le fonctionnement du script. Par contre je ne vois pas pourquoi tu as crées une variable pour dossier_dest pour créer le dossier mp3rescue?

]]>
Tue, 21 Jun 2011 22:40:00 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=5073581#p5073581
<![CDATA[Réponse à : Script pour renommer MP3 à partir du tag]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=5060941#p5060941 Bon, après qqles test plus approfondi, si les tag sont vide, ca va merder.

Il faudra faire différent, ca sera un peu plus long, mais pas le choix ...

Une  version qui est à utiliser dans le dossier found000
Seul les fichiers audio/mpeg supérieurs à 1 Mo seront déplacés, si des tags présents, il seront taggués.

#/bin/bash
# adresse du dossier à scanner.
cd "/home/dossier/found000"
dossier_dest="./mp3Rescue"
mkdir $dossier_dest

for fichier in *.*
  do
    mime=$(file -b --mime-type "${fichier}")
    size=$(stat -c %s "./${fichier}")
    [[ "${mime}" == "audio/mpeg" ]] && [[ "$size" -gt 1000000 ]] && {
        tags=$(eyeD3 --no-color "./${fichier}")
        while read line
          do
              [[ "$line" =~ ^title ]] && {
                titre=${line#*: }
                titre=${titre%%    *}
                artist=${line##*: }
                artist=${artist%%    *}
              }
              [[ "$line" =~ ^track ]] && {
                  track="${line#*: }"
                  track="${track%%    *} - "
              }
          done <<< "${tags}"
        [[ "$track" =~ "track:" ]] || [[ "${track}" == " - " ]] && track=
        [[ "$artist" =~ "artist:" ]] || [[ -z "$artist" ]] && artist=inconnu
        [[ "$titre" =~ "title:" ]] || [[ -z "$titre" ]] && titre=inconnu
        [[ "$artist" == 'inconnu' ]] && [[ "$titre" == 'inconnu' ]] && {
            mv "./${fichier}" "$dossier_dest/${fichier%.*}.mp3"
            continue
        }
        mv "./${fichier}" "$dossier_dest/${track}${artist} - ${titre}.mp3"
    }
  done
exit

Remplacer les commandes mv par des echo pour les tests. Faire des tests en réel sur un petit nombre de fichiers avant, il faudra peut être ajouter des filtres suplémentaires.

Attention, lors de la copie, vérifier que les tabulations sont gardées, pour les substitutions bash ${track%%    *} et ${artist%%    *} et  titre=${titre%%    *}

]]>
Tue, 21 Jun 2011 00:24:50 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=5060941#p5060941