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 27/03/2011, à 19:09

soupaloignon

Tags sur fichier flac / metaflac : demande d'infos

Bonjour à tous,

Je suis en train de transférer toute ma collection de cd audio en flac, pour pourvoir ensuite l'utiliser avec un serveur son. Je suis en train de construire un script pour automatiser tout ça, sinon le temps passé risque d'être colossal s'il faut le faire en passant par des interfaces graphiques.

Le script est presque terminé. Pour le moment il fait les choses suivantes :

Création d'un dossier sur le bureau avec pour nom : Code - ARTISTE - Titre Du Cd
Rip en wav du cd dans ce dossier
Modification des noms des fichiers sous la forme : ARTISTE - Titre Du Cd - N° de piste
A partir des wav renommés, conversion en flac (en gardant les wav)
Création d'un dossier avec pour nom : Code - ARTISTE - Titre Du Cd à l'intérieur du 1er dossier, et déplacement des wav dans ce dossier
Copie dans le dossier des flac et celui des wav de la pochette du Cd (que je vais chercher dans un autre dossier de mon ordi)
Déplacement du dossier contenant les wav à un autre endroit de l'ordi.

Toutes les infos dont cette partie du script a besoin sont fournies au lancement du script, dans des variables avec zenity


Ensuite je voudrais taguer les fichier flac et c'est là que ça se corse.

Pas de souci pour l'artiste, le nom du Cd, l'année, le code, le genre musical. Cette partie fonctionne bien (là aussi renseignée dans des variables avec zenity, au lancement du script). Je fais ça avec le programme metaflac

Les problèmes que j'ai concernent les tags qui sont variables dans un Cd : Les numéros de pistes et les titres des morceaux.

Pour les numéros de pistes il faudrait un bout de code qui écrit le tag "TRACKNUMBER=01" sur le 1er morceau, et qui l'incrémente d'1 unitée pour chaque morceau trouvé. Ca je n'arrive pas à le faire, et les recherches sur le net n'ont rien donné. Le man de metaflac est étonnamment discret la dessus sad

2eme problème, les noms des différentes pistes, le tag "TITLE". 2 cas de figure peuvent se présenter :
Je n'ai aucun nom de pistes et là il faudrait remplir le tag avec une incrémentation sur "Track_01"
J'ai les noms sur un fichier texte, rangé dans le bon ordre, 1 nom par ligne. Et là il faudrait que le script aille chercher le sinfos dans ce fichier (qui peut être placé dans le dossier contenant les flacs), et qu'il remplisse chaque tag avec chaque ligne rencontrée dans le fichier.
Le choix de l'une ou l'autre des options (Track_01 ou lecture dans un fichier) se faisant au lancement du script.

Donc voilà. Si vous avez des infos, des pistes, des liens pour ces 3 points... Je vous bénirais vous et votre descendance sur 20 générations wink

Merci d'avance pour vos réponses


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne

#2 Le 29/03/2011, à 20:33

soupaloignon

Re : Tags sur fichier flac / metaflac : demande d'infos

un p'tit up smile

Dernière modification par soupaloignon (Le 29/03/2011, à 20:33)


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne

#3 Le 01/04/2011, à 12:43

soupaloignon

Re : Tags sur fichier flac / metaflac : demande d'infos

Je up à nouveau smile

En résumé je suis à la recherche de toute piste permettant de taguer des fichiers flacs (les champs "TITLE" et "TRACKNUMBER") à partir de fichiers texte contenant ces informations.

Je poste le script de ce que j'ai déjà réalisé :

#!/bin/bash

#############################################################
#
# www.soupaloignon.net
#
# Extraction audio/encodage en wav et flac
# 2011/03/14
# V 0.1
#############################################################


#############################################################
# Paramétres modifiables en fonction des besoins

# Code du Cd
code=`zenity --entry --title "Code du Cd" --text "Saisissez le code du Cd :" --entry-text "0025A"`

# Artiste
artiste=`zenity --entry --title "Artiste" --text "Saisissez le nom du groupe ou de l'artiste (Nom + prénom) :" --entry-text "ARTISTE"`

# Titre du Cd
titre=`zenity --entry --title "Titre de l'album" --text "Saisissez le titre du Cd :" --entry-text "Titre"`

# Nom global pour nommer les fichiers wav et flac
global_nom_fichier="$artiste\ -\ $titre\ -\ "

# Là ou sont stockés les dossiers
endroit="/home/$USER/Bureau/"

# répertoire des vignettes
repertoire_image="/home/$USER/01-Musique/02-Musique-a-Classer/archive_cover/"

# répertoire des sauvegardes en wav
repertoire_wav="/home/$USER/01-Musique/01-Musique-Sauvegarde/Audio-wav/"



# Tags des fichiers flac
_ARTIST=`zenity --entry --title "[Tag FLAC] Artiste" --text "Saisissez l'artiste : Nom (Prénom)" --entry-text "$artiste"`
_DATE=`zenity --entry --title "[Tag FLAC] Date" --text "Saisissez la date de l'album :" --entry-text "Date sur 4 chiffres"`
_GENRE=`zenity --list --title="[Tag FLAC] Style de musique"  --column="Style" --height="180" Africain "Afrique du Nord" Blues BO-film Classique Electro Electro-jazz Fanfare Folk Funk Guitare Jazz Jazz-rock Latin Percussion Piano Pop Rap Reggae Rock "Rock progressif" "Rythm'n blues" Texte Tzigane World`
# pour le tag COMMENT le script récupére la valeur de la variable code
# idem pour le nom de l'album récupéré par la variable titre


# Fin des paramétres modifiables. Ne pas modifier ce qui suis, sauf si vous savez ce que vous faites ;)
#############################################################


# Création du dossier
mkdir $endroit/"$code - $artiste - $titre"

# Se placer dans le dossier
cd $endroit/"$code - $artiste - $titre"

# Extraction des pistes audio du Cd
cdparanoia -B

# Renommer les fichiers audio extraits sur 2 chiffres
IFS=$'\n'

let "indice=1"
for fichier in *.wav
do
         if [ -f "$fichier" ]; then
            extension=${fichier##*.}
            echo "$fichier" "=>" "$indice.$extension"
            mv "$fichier" `printf "%0"2"d" $indice`".$extension"
            let "indice+=1"
        fi
done

# Rajouter l'intitulé
for fichier in *.wav
do 
rename 's/^/'$global_nom_fichier'/' $fichier
done

## Conversion en flac
flac --best *.wav

# Ecriture des tags dans les fichiers flac
metaflac --set-tag="COMMENT=$code"  --set-tag="ARTIST=$_ARTIST"  --set-tag="ALBUM=$titre" --set-tag="DATE=$_DATE" --set-tag="GENRE=$_GENRE" *.flac

# Création du dossier des wav et déplacement des wav dans ce dossier
mkdir $endroit/"$code - $artiste - $titre"/"$code - $artiste - $titre"
mv *.wav "$code - $artiste - $titre"

# Récupération de la vignette du Cd
cp $repertoire_image/$code.jpg $endroit/"$code - $artiste - $titre"/
cp $repertoire_image/$code.jpg $endroit/"$code - $artiste - $titre"/"$code - $artiste - $titre"/

# Déplacer le dossier contenant les pistes wav dans le dossier de sauvegarde des wav
mv $endroit/"$code - $artiste - $titre"/"$code - $artiste - $titre" $repertoire_wav



zenity --info "Fin" --text "C'est plié ma poule. Suivant !!"



read
#

Dernière modification par soupaloignon (Le 02/04/2011, à 10:20)


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne