#1 Le 08/10/2012, à 19:03
- FelixP
[Résolu] ! Script pour noms de musique
Salut à tous ! J'ai une petite question à vous poser… (Eh oui !)
Je cherche un script pour me créer un fichier avec la liste des noms des musiques qui sont dans un dossier donné, avec la syntaxe de Wikipédia (histoire de remplir ses serveurs de données !) en sachant que les noms de mes fichiers sont du type
{piste} {Titre à Ressortir}.{mp3, flac}
Je mets la syntaxe que j'aimerais récupérer :
{{Album
|Titre = [[Captain Morgan's Revenge]]
|Année = 2008
|Label = [[Napalm Records]]
|Contenu =
#Over the Seas
#Captain Morgan's Revenge
#The Huntmaster
#Nancy the Tavern Wench
#Death Before the Mast
#Terror on the High Seas
#Set Sail and Conquer
#Of Treasure
#Wenches and Mead
#Flower of Scotland
}}
ou plus simplement :
{{Album|Titre=[[When Dream and Day Unite]]|Année=1989|Contenu=
# A Fortune In Lies (5:12)
# Status Seeker (4:18)
# The Ytse Jam (5:43)
# The Killing Hand (8:42)
## The Observance
## Ancient Renewal
## The Stray Seed
## Thorus
## Exodus
# Light Fuse And Get Away (7:23)
# Afterlife (5:27)
# The Ones Who Help To Set The Sun (3:07)
# Only A Matter Of Time (6:38)
}}
Et même (mais je n'en demande pas tant) si vous savez comment récupérer direct la durée d'une musique… Je suis preneur !!!
Dernière modification par FelixP (Le 09/10/2012, à 22:55)
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne
#2 Le 08/10/2012, à 20:12
- nesthib
Re : [Résolu] ! Script pour noms de musique
Je n'ai pas de solution toute faite à te proposer, mais je te suggère d'utiliser python.
Tu as de nombreux modules pour manipuler les métadonnées audio. Par exemple mutagen. Regarde les exemples donnés, tu as entre autres comment récupérer la durée de ta musique.
L'avantage d'utiliser cette approche est que tu as aussi des modules pour manipuler wikipédia.
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#3 Le 08/10/2012, à 20:18
- FelixP
Re : [Résolu] ! Script pour noms de musique
Okay, merci des conseils je vois ça de suite !
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne
#4 Le 08/10/2012, à 20:31
- FelixP
Re : [Résolu] ! Script pour noms de musique
hum, je suis un peu novice… -_- Porrais-tu me guider ?
J'ai déjà mis tous les p'tis fichiers *.py dans un dossier mutagen…
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne
#5 Le 08/10/2012, à 20:39
- nesthib
Re : [Résolu] ! Script pour noms de musique
Alors, je ne sais pas de quel fichiers tu parles. Pour installer mutagen :
sudo apt-get install python-mutagen
ensuite il te faut créer un script python :
#!/usr/bin/env python
#coding: utf-8
from mutagen.mp3 import MP3
audio = MP3("ton_morceau.mp3")
print("le morceau fait %s secondes " % audio.info.length)
lis le tutoriel mutagen. Ensuite, pour parcourir tes dossiers, tu peux utiliser le module os. Ensuite tu pourras lire ton arborescence, extraire les tags de chaque morceau et à la fin, faire un affichage selon ta syntaxe (ça ne sera pas le plus dur).
Essaie d'écrire quelque chose et poste-le ici.
Dernière modification par nesthib (Le 08/10/2012, à 20:41)
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#6 Le 08/10/2012, à 20:52
- FelixP
Re : [Résolu] ! Script pour noms de musique
Au temps pour moi ! j'allais l'installer des sources disponibles sur le lien que tu m'avair fournis…
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne
#7 Le 08/10/2012, à 20:56
- FelixP
Re : [Résolu] ! Script pour noms de musique
Alors là je lis le tuto… et j'essaye quelques exemples !
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne
#8 Le 08/10/2012, à 21:08
- FelixP
Re : [Résolu] ! Script pour noms de musique
pour le module os… j'ai essayé
from os import environ
os.path("/home/felix/Musique/ACDC/Live\ 1992")
mais cela ne fonctionne pas… peux-tu m'aider ?
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne
#9 Le 08/10/2012, à 21:10
- FelixP
Re : [Résolu] ! Script pour noms de musique
avec chdir non plus…
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne
#10 Le 08/10/2012, à 21:24
- pingouinux
Re : [Résolu] ! Script pour noms de musique
Bonsoir FelixP,
Ce serait plus facile si tu donnais les messages d'erreur.
C'est plutôt :
import os
os.chdir("/.......")
Hors ligne
#11 Le 08/10/2012, à 21:27
- FelixP
Re : [Résolu] ! Script pour noms de musique
désolé, j'y penserai C'est bon, ça fonctionne comme ça !
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne
#12 Le 08/10/2012, à 21:44
- FelixP
Re : [Résolu] ! Script pour noms de musique
J'essaye de mettre plusieurs arguments dans mon affichage…
print("le morceau fait %s minutes %s" % int(audio.info.length/60) % int(int(audio.info.length)-60*int(audio.info.length/60)) )
il me ressort
print("le morceau fait %s minutes %s" % int(audio.info.length/60) % int(int(audio.info.length)-60*int(audio.info.length/60)) )
TypeError: not enough arguments for format string
Comment puis-je ressortir plusieurs nombres ?
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne
#13 Le 08/10/2012, à 22:18
- FelixP
Re : [Résolu] ! Script pour noms de musique
Hum, je pense que c'est un peu trop compliqué… Je pensais faire juste un script bash utilisant les noms de fichiers ^^
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne
#14 Le 08/10/2012, à 22:20
- pingouinux
Re : [Résolu] ! Script pour noms de musique
print("le morceau fait %s minutes %s"%(divmod(audio.info.length,60))
Hors ligne
#15 Le 08/10/2012, à 22:36
- FelixP
Re : [Résolu] ! Script pour noms de musique
Ah, ça fonctionne en effet
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne
#16 Le 08/10/2012, à 22:37
- FelixP
Re : [Résolu] ! Script pour noms de musique
Savez-vous comment faire une boucle dans le dossier histoire de scanner tous les fichiers ?
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne
#17 Le 08/10/2012, à 22:50
- pingouinux
Re : [Résolu] ! Script pour noms de musique
Peux-tu montrer le script que tu as déjà écrit ? Ce sera plus facile à adapter.
Hors ligne
#18 Le 08/10/2012, à 22:56
- FelixP
Re : [Résolu] ! Script pour noms de musique
#!/usr/bin/env python
#coding: utf-8
from mutagen.mp3 import MP3
import os
os.chdir("/home/felix/Musique/ACDC/Live 1992")
audio = MP3("01 Thunderstruck.mp3")
print("(%s:%s)"%(divmod(int(audio.info.length),60)))
j'essaye d'extraire le nom de la musique avec
print("%c"%audio.info.title)
mais je reçois
Traceback (most recent call last):
File "sans titre.py", line 8, in <module>
print("%c"%audio.info.title)
AttributeError: 'MPEGInfo' object has no attribute 'title'
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne
#19 Le 08/10/2012, à 23:05
- pingouinux
Re : [Résolu] ! Script pour noms de musique
Je n'ai pas testé. Pour le titre, je ne sais pas pour le moment.
#!/usr/bin/env python
#coding: utf-8
from mutagen.mp3 import MP3
import os, glob
os.chdir("/home/felix/Musique/ACDC/Live 1992")
for fic in glob.glob("*.mp3") :
audio=MP3(fic)
print("(%s:%s)"%(divmod(int(audio.info.length),60)))
Hors ligne
#20 Le 08/10/2012, à 23:09
- FelixP
Re : [Résolu] ! Script pour noms de musique
On peut récupérer le titre avec le nom de fichier simplement ?
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne
#21 Le 08/10/2012, à 23:12
- FelixP
Re : [Résolu] ! Script pour noms de musique
En tout cas ceci fonctionne très bien !
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne
#22 Le 08/10/2012, à 23:21
- pingouinux
Re : [Résolu] ! Script pour noms de musique
Essayer :
print("%s"%audio['title'])
Hors ligne
#23 Le 08/10/2012, à 23:29
- FelixP
Re : [Résolu] ! Script pour noms de musique
ça ne fonctionne pas
print("%s"%audio['title'])
File "/usr/lib/python2.7/site-packages/mutagen/__init__.py", line 84, in __getitem__
else: return self.tags[key]
File "/usr/lib/python2.7/site-packages/mutagen/_util.py", line 108, in __getitem__
return self.__dict[key]
KeyError: 'title'
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne
#24 Le 09/10/2012, à 01:15
- nesthib
Re : [Résolu] ! Script pour noms de musique
Savez-vous comment faire une boucle dans le dossier histoire de scanner tous les fichiers ?
tu peux utiliser os.walk
import os
for path, dirs, files in os.walk('/ton/chemin'):
print("Nous sommes dans %s" % path)
for file in files:
print("Voici le fichier %s/%s" % (path, file))
pour un fichier donné tu peux faire :
audio=MP3(os.path.join(path,file))
print('Album : %s\nAnnée : %s\nTitre : %s' % (audio['TALB'], audio['TDRC'], audio['TIT2']))
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#25 Le 09/10/2012, à 19:26
- FelixP
Re : [Résolu] ! Script pour noms de musique
Génial
Mais alors j'essaye d'afficher le titre et la durée en même temps,
print(" %s (%s:%s)" % (audio['TIT2'], divmod(int(audio.info.length),60)))
Mais cela ne fonctionne pas ! (Il faut que je me mette au python, moi…)
print(" %s (%s:%s)" % (audio['TIT2'], divmod(int(audio.info.length),60)))
TypeError: not enough arguments for format string
De plus, je veux n'afficher nom de l'album et date qu'une seule fois, alors comment puis-je dire à python d'usiliser, par exemple, le premier fichier du dossier ?
Et par contre, les fichiers ne sont pas scannés dans l'ordralphabétix… XD Savez-vous comment faire ?
Désolé pour tout ce que mon inculture de python vous inflige…
Envoyé depuis mon navigateur libre sous mon os libre.
Manjaro (basé Arch) + Cinnamon, et Firefox-Nightly 44.0 !
Voyez mes astuces ici : http://doc.ubuntu-fr.org/utilisateurs/felixp
Hors ligne