Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/12/2011, à 18: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, à 01: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, à 18: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, à 03: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 smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#4 Le 27/12/2011, à 15: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, à 16: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, à 14: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! smile

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, à 15: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