#1 Le 14/12/2011, à 17:43
- AnsuzPeorth
[mvbytag] Déplacer/copier/rennomer fichiers audio via tags
Bjr,
Pour une autre application que je suis en train de développer, j'utilise le très bon soft mutagen. J'ai donc récupéré qqles bouts de code et enveloppé le tout pour en faire un petit outil en ligne de commande.
Je vais surement faire par la suite un gui avec g2s et un script nautius.
Cette outils permet donc de copier, déplacer ou renommer des fichiers audio via leurs tags.
Il permet aussi d'extraire simplement les tags de fichiers dans une arborescence.
Dépendances: python-mutagen
sudo apt-get install python-mutagen
mvbytag.0.1.0: http://gwebradio2.googlecode.com/files/ … 1.0.tar.gz
Décompresser l'archive et éxécuter mvbytag.py
Installable dans /bin pour utilisation en console.
(Désolé pour l'anglais approximatif qui suit ... D'ailleurs si un anglophone s'ennuie ...)
~$ mvbytag -h
VERSION: mvbytag 0.1.0
COPYRIGHT: LGPL V3 (2011)
SYNOPSIS:
Copy, move or rename audio files by their tags.
Audio file available: flac, ogg, mp3, mpc, wma
Dependance: python-mutagen
USAGE: mvbytag [options]
OPTIONS:
-h/ --help
Usage help
-n
Just output, don't act
-v
Verbose mode
--vvv
Output all metatags
--copy
Copy mode
--move
Move mode
--rename
Rename mode
--source <folder>
Folder to scan
--destination <folder>
The copy/move destination folder
--folders-pattern <PATTERN>
Create (sub)folders by PATTERN. (see end of help)
--files-pattern <PATTERN>
Rename files by PATTERN. (see end of help)
If %(title)s not in the pattern or title tag empty,
the original filename will be used.
--max-depth <int>
No recursivity by default. <int> between -1 to ... (-1 = all)
Don't use recursivity when copying/moving to a existing subfolder of
destination <folder> direction
Use it to extract or copy all audio files in a treepath to a other folder
or with --rename option.
--write <arg>
By default, if the destination file exists, the source will not be copied.
Use the argument over to overwrite or %s for numeric increment.
ex: ' ( %s ) ' will rename file 'filename ( 1 ) .mp3'
'_back%s' will rename file 'filename_back1.mp3'
PATTERN:
All metatags can be used with PATTERN.
Metatags: tracknumber, title, artist, album, year, length, ext,
genre, comment, name, fichier, bitrate
Exemples:
For files-pattern option: '%(artist)s - %(title)s'
For folders-pattern option : '%(artist)s/%(year)s/%(album)s'
EXEMPLES:
Create folders in current directory, move files and rename.
mvbytag -nv --source '/media/save' --files-pattern '%(artist)s-%(title)s' \
--folders-pattern '%(artist)s/%(album)s' --move
Rename files recursive.
mvbytag -nv --source '/media/save' --rename --max-depth -1 \
--files-pattern '%(artist)s - %(title)s'
Create folders in destination path and copy files.
mvbytag -nv --source '/media/save' --destination '/media/save2' \
--folders-pattern '%(artist)s/%(album)s' --copy
Get metatags.
mvbytag --vvv --source '/media/save'
Redirect logs
mvbytag -v --source '/media/save' ... 2>./error.log 1>./action.log
Mutagen est l'outil le plus performant que j'ai essayé, il est le seul à avoir réussi l'extraction sans erreur de mes fichiers audio. Il est capable de lire un grand nombre de formats, mon outils lui ce limite aux fichiers audio les plus courants.
Si vous êtes en possession de formats de fichiers non prient en charge par mon outil mais supportés par mutagen, vous seriez bien aimable de donner le retour de la commande mutagen-inspect fichier pour que je l'ajoute à l'application.
Format supporté par mutagen: (extrait du README mutagen)
Mutagen is a Python module to handle audio metadata. It supports ASF,
FLAC, M4A, Monkey's Audio, MP3, Musepack, Ogg FLAC, Ogg Speex, Ogg
Theora, Ogg Vorbis, True Audio, WavPack and OptimFROG audio files. All
versions of ID3v2 are supported, and all standard ID3v2.4 frames are
parsed. It can read Xing headers to accurately calculate the bitrate
and length of MP3s.
Tout retour bienvenue !
Dernière modification par AnsuzPeorth (Le 31/01/2012, à 00:49)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#2 Le 15/12/2011, à 17:21
- AnsuzPeorth
Re : [mvbytag] Déplacer/copier/rennomer fichiers audio via tags
version: 0.1.0: http://gwebradio2.googlecode.com/files/ … 1.0.tar.gz
Remaniement du code
Ajout du contrôle avant action
Problème encodage +- ok
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#3 Le 23/12/2011, à 02:24
- Hizoka
Re : [mvbytag] Déplacer/copier/rennomer fichiers audio via tags
en effet c'est pas mal, par contre y a pas moyen de l'appliquer uniquement à un fichier ?
mvbytag --vvv --source '/media/save'
il faudrait l’implanter dans g2s
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#4 Le 27/12/2011, à 14:30
- AnsuzPeorth
Re : [mvbytag] Déplacer/copier/rennomer fichiers audio via tags
en effet c'est pas mal, par contre y a pas moyen de l'appliquer uniquement à un fichier ?
Je vais encore le modifier un peu je pense, c'était juste comme ça, je voulais faire une petite lib, jusqu'au bout. Là j'ai fait un soft pour générer un manpage, ensuite je ferais un deb ... Juste pour le fun !
il faudrait l’implanter dans g2s
Ben je pourrais en faire un module g2s, mais bon ... Par contre je vais surement l'implanter pour le module mplayer, si installé, je passerais par lui pour extraire les tags.
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#5 Le 27/12/2011, à 15:31
- Hizoka
Re : [mvbytag] Déplacer/copier/rennomer fichiers audio via tags
ouais ca serait pas mal l'implentation dans le mplayer
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#6 Le 02/02/2012, à 13:28
- olep
Re : [mvbytag] Déplacer/copier/rennomer fichiers audio via tags
Bonjour,
je me suis abonné à ce fil de discussion, car c'est en fait la seule fonction qui m'oblige à continuer à utiliser un windows virtualisé pour utiliser un soft du nom de "the godfather", qui est un des seuls à pouvoir effectivement reclasser en fonction des tag mp3 des fichiers audios dans une autre arborescence.
Je m'en vais essayer ça illico!
Un grand Merci d'avance, car je sens qu'enfin, il y a du bon la dedans!
Petite question, cependant:
Est-il possible de créer une arborescence avec un entete "alphabetique"; de telle sorte que tous les artistes dont le nom commence par la même lettre sont regroupés dans un répertoire du nom de cette lettre unique - je m'explique:
3 mp3 (audio_1.mp3, audio_2.mp3, audio_3.mp3) avec un nom d'artiste "Jean Lefevre", album "Ma Vie", donnerait, par exemple:
./J/Jean_Lefevre/Ma_Vie/audio_1.mp3
./J/Jean_Lefevre/Ma_Vie/audio_2.mp3
./J/Jean_Lefevre/Ma_Vie/audio_3.mp3
MSI B450 Carbon AC Wifi, Ryzen 3 2200G, Ubuntu 20.04
Hors ligne
#7 Le 02/02/2012, à 14:51
- AnsuzPeorth
Re : [mvbytag] Déplacer/copier/rennomer fichiers audio via tags
Bjr,
Attention aux fichiers venant de windows, des fois ca peut merder (et comme j'ai pas pu récuperer des fichiers corrompu, j'ai pas pu faire de tests pour y remedier !)
Pour ranger dans des dossiers via l'initiale du nom d'artiste, c'est pas prit en compte, et ca me ferait modifier le script an profondeur ...
Si ce rangement t'es vraiment nécessaire, on peut toujours faire un petit script post traitement qui te le fait, car j'ai pas trop envie de tout changer le script juste pour ça !
Mais bon, si vous êtes plusieurs à vouloir cette possibilité, que c'est vraiment très utile, pourquoi pas modifier ! Bien que ca compliquerait pas mal les choses, du coté du code et du coté de l'user ....
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne