Demande script pour renommer fichiers audio

Résolu/Fermé
Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021 - Modifié par Yvance77 le 25/01/2011 à 14:27
Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021 - 30 janv. 2011 à 13:00
Bonjour,

Si quelqu'un peut m'aider à réaliser un script pour renommer des fichiers de type audio ce serait génial.

Lorsque je télécharge ou extrait des pistes je désire avoir toujours le même type d'organisation pour les classer ensuite.

Exemple

Très souvent lorsque l'on obtient un fichier il est assez souvent inscrit tel quel :

Charles Trenet - Ma cabane au Canada.

Hors dans mes dossiers moi c'est le nom qui compte le plus et je voudrais que cela se retrouve ainsi

Trenet Charles - Ma cabane au Canada.

Et avec une difficulté supplémentaire suivante :

- le nom et le prénom doivent commencer par une majuscule, alors que le titre commence lui aussi par une majuscule mais tout le reste doit être en minuscule.

Le résultat final doit être par ex. :

Moore Gary - Still got the blues.

En fait, un logiciel type "grename" fait bien le taf uniquement quand il y a une dizaine (ou plus) de pistes du même auteur, mais quand l'on a plusieurs chanteurs c'est là ou c'est galère car on doit si prendre un par un.

Aussi dans ce cas je souhaiterais un script qui automatise un poil cela.

Merci de votre aide

Bye





Gnu/Linux LTS 10.04 Lucid Lynx - Firefox v.3.6.6 - Nvidia 8600 - 2 GO ram -
A voir également:

15 réponses

mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
25 janv. 2011 à 14:53
Ce n'est pas forcément ce que je domine le plus mais il me semble que tu as des outils de retagguage et de renommage de ce genre dans amarok.

Bonne chance
0
Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021 21
25 janv. 2011 à 23:28
Salut mamie

Oui tu as easytag et grename ect ... les outils il y en as et je m'en sers quasi tous les jours.

Ceci étant il y a des cas particuliers et là hormis le script qui va bien, je ne vois pas d'autres solutions.

Merci pour votre contribution

PS :Ceci étant je suis sous Gnome et pas Kde donc je n'ai pas amarok, mais je ne pense pas non plus qu'il puisse faire cela
0
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
26 janv. 2011 à 00:08
Tu peux installer amarok sous gnome. Ça va sans doute t'installer la moitié de KDE mais ça ne pose pas spécialement plus de problème. Amarok sera un peu long à charger sous gnome car ce dernier devra charger un moteur qt.

Autre piste peut-être que les équivalents gnome d'amarok (exaile ou rhythmbox) proposent des outils comparables.

Bonne chance
0
Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021 21
26 janv. 2011 à 16:14
manienando bonjour,

Non Amarok ne peut pas faire cela non plus. Exaile encore moins il n'est pas aussi fourni en fonction tel que son grand frère de chez KDE

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
26 janv. 2011 à 19:59
Bah si dans amarok c'est possible et dans les deux sens en plus.

Extraire les balises mp3 à partir des noms de fichiers

On met la musique à retagguer dans la playlist. Clic droit propriété. Balise, détecter les balises à partir du nom du fichier, et hop ça extrait tout.

Organiser les fichiers à partir des balises des mp3

Dans l'autre sens (renommer et déplacer les fichiers) il faut faire un clic droit sur la bibliothèque, organiser les fichiers.
0
Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021 21
Modifié par Yvance77 le 27/01/2011 à 21:58
Salut,

Je viens de refaire install amarok et non il ne permet pas de faire tout cela. Un par un oui mais en groupe non. Et je souhaiterais un script pour automatiser le truc.

Mon souci est sur l'inversion du prénom et nom.

Je vais reprendre. Dans un dossier que je DL il est fréquent d'avoir

Yves Montant - Les Feuilles Mortes
Jean Ferrat - Aimer à perdre la rasion
etc ....

Moi le résultat que je désire est :

Ferrat Jean - Aimer à perdre la raison
Montant Yves - Les feuilles mortes
Etc ...

Car moi c'est le nom de famille qui me permet de faire le classement
Et détail tu vois Les feuilles mortes sont tagguées avec la 1ere lettre en Majuscule et le reste en mini alors que nom et prénom sont en lettre capitale.

Hors quand tu as 20 titres différents là c'est un script qu'il faut sinon tu y passes un temps fou.

MErci
Gnu/Linux LTS 10.04 Lucid Lynx - Firefox v.3.6.6 - Nvidia 8600 - 2 GO ram -
0
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
27 janv. 2011 à 13:39
Bah chez moi sous amarok je peux. Clic droit sur la collection locale, organiser les fichiers.

Je peux par exemple lui dire de faire un répertoire par style, puis un sous répertoire par artiste, puis un sous répertoire par album, puis ensuite nommer les pistes sous le format '"piste" - "titre"'.

Tu peux complètement régler la manière dont la réorganisation est faite.

Tu peux lui dire de changer les " " en "_", d'ignorer les "The" dans les noms de groupes etc...

Par contre un script informatique (qu'il soit écrit à la main ou pas) n'a pas vraiment moyen de savoir qu'est ce qui est le prénom et qu'est ce qui est le nom, et donc ne pourra pas déterminer quand la permutation est nécessaire ou pas. Ou alors il faudrait un dictionnaire de prénom (et sachant que les artistes ou souvent un nom d'artiste c'est pas gagné pour traiter ces cas particuliers). Donc la deuxième partie de ton besoin me paraît difficilement réalisable.

Ce que tu peux faire c'est cette permutation au cas par cas à l'aide de la commande sed et de la commande mv. Idéalement il faudrait que tes musiques soient organisées avec un répertoire par artiste, et appliquer ladite commande aux répertoires qui en ont besoin.

Bonne chance
0
Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021 21
27 janv. 2011 à 21:59
Bon je retourne sous amarok que je ne connais pas très bien. Pour le underscore "_" cela je le savais

Bon je creuse encore plus

Merci
0
alaixih Messages postés 1933 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 10 octobre 2017 224
27 janv. 2011 à 23:32
Et si plutôt que de chercher un truc que tu risques de ne pas trouver tu changeais tes critères ?
0
Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021 21
28 janv. 2011 à 02:48
J'ai déjà plus 27 000 titres taggués ainsi (je dis bien vingt sept mille) je vais pas m'amuser à les changer maintenant :-)
0
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
28 janv. 2011 à 13:16
Hum 27 000 titres tu vas prendre cher :) L'outil de renommage d'amarok ne passe pas vraiment à l'échelle parce qu'il évalue pour chacun des fichiers comment il va être renommé et si ça engendre un problème.
0
Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021 21
Modifié par Yvance77 le 30/01/2011 à 12:27
Mamienando

Voici un script presque parfait (il reste deux petits détails à règler). Il est parfaitement opérationnel, il suffit de le rendre exécutable

#! /bin/bash 

for fichier in * 
do 
nom_complet=${fichier,,} 
extension=${nom_complet##*.} 
prenom=${nom_complet%% *} prenom=${prenom^} 
nom=${nom_complet#* } nom=${nom%% -*} nom=${nom^} 
titre=${nom_complet#*- } titre=${titre^} 

mv "${fichier}" "${nom} ${prenom} - ${titre}.${extension}" 
done


A mettre dans le dossier ou l'on veut retrailler les noms des titres musicaux.

Un grand merci à hizoka pour ce taf

Bye

PS : pour ma sonothèque je possède les originaux :-D ... pas tous mais une bonne partie


Gnu/Linux LTS 10.04 Lucid Lynx - Firefox v.3.6.6 - Nvidia 8600 - 2 GO ram -
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
30 janv. 2011 à 12:43
Salut,

Si tu as la commande rename tu peux faire comme ça

:~/div$ ls -1
jean ferrat - Aimer à perdre la rasion.mp3
yves montant - Les Feuilles Mortes.mp3
:~/div$ rename 's/(.*) (.*)( -.*)(\..*)/\u$2 \u$1$3$4/' *.mp3
:~/div$ ls -1
Ferrat Jean - Aimer à perdre la rasion.mp3
Montant Yves - Les Feuilles Mortes.mp3

0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
30 janv. 2011 à 12:49
Et si tu n'as pas la commande rename tu peux essayer

:~/div$ ls -1
jean ferrat - Aimer à perdre la rasion.mp3
yves montant - Les Feuilles Mortes.mp3
:~/div$ for f in *;do mv -v "$f" "$(sed -r 's/^(.*) (.*)( -.*)(\..*)/\u\2 \u\1 \3\4/'<<<$f)";done
« jean ferrat - Aimer à perdre la rasion.mp3 » -> « Ferrat Jean  - Aimer à perdre la rasion.mp3 »
« yves montant - Les Feuilles Mortes.mp3 » -> « Montant Yves  - Les Feuilles Mortes.mp3 »
:~/div$ ls -1
Ferrat Jean  - Aimer à perdre la rasion.mp3
Montant Yves  - Les Feuilles Mortes.mp3
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
30 janv. 2011 à 12:55
Il y a aussi la possibilité de renommer avec des utilitaires en mode graphique
https://forums.commentcamarche.net/forum/affich-2834268-renommer-plusieurs-fichier-en-ordre#10
0
Yvance77 Messages postés 290 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 28 novembre 2021 21
Modifié par Yvance77 le 30/01/2011 à 13:13
lamij

Pourquoi arrivez-vous si tard :-)

Cela me semble bon je vais testé aussi

Merci


Edit

Voici le script modifié


Il fonctionne parfaitement maintenant

#! /bin/bash

for fichier in *
do
[[ ${fichier} == test ]] && continue
nom_complet=${fichier,,}
extension=${nom_complet##*.}
prenom=${nom_complet%% *} prenom=${prenom^}
nom=${nom_complet#* } nom=${nom%% -*} nom=${nom^}
titre=${nom_complet#*- } titre=${titre%.*} titre=${titre^}

mv "${fichier}" "${nom} ${prenom} - ${titre}.${extension}"
done


Gnu/Linux LTS 10.04 Lucid Lynx - Firefox v.3.6.6 - Nvidia 8600 - 2 GO ram -
0