logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#26 06-12-2015 09:42:36

Philippine
Membre
Distrib. : Debian Jessie
Noyau : Linux 3.16.0-4-686-pae
(G)UI : Xfce
Inscription : 03-12-2015

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

Super, merci beaucoup, ça fonctionne!

Cependant, mon problème n'est pas tout à fait résolu. En effet, cette commande donne un fichier de tags pour chaque fichier flac. Or je cherche 1°) à obtenir un fichier de tags pour chaque album 2°) que le fichier de tags en question porte le nom de l'album. En effet, ma discothèque représente près de 500Go de musique, d'où l'intérêt d'automatiser la chose.

Je continue à chercher de mon côté...

Hors ligne

#27 06-12-2015 09:46:44

stephgarg
Membre
Lieu : Périgueux
Distrib. : Debian GNU/Linux Stable (Buster)
Noyau : linux-image-4.19.0-*-amd64
(G)UI : KDE Plasma 5.14.5
Inscription : 01-01-2015

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

Bonjour à tous.

Philippine : Je crois halluciner : 500 Gio de musique !!! mad

A bientôt.

Trois PC dont un fixe Sirius, un transportable Canopus et un miniportable Arcturus. smile
Sirius : Ryzen 7 3700X à 4,4 GHz, SDRAM DDR4 3,6 GHz de 32 Gio, 10 To de SSD dont 20% en PCIe 3.0 4x.
Canopus : Intel Core 2 Duo à 2 GHz, SDRAM DDR2 667 MHz de 4 Gio, WD Black Mobile SATA2 de 750 Go.
Arcturus : Intel Atom N270 à 1,6 Ghz, SDRAM DDR2 533 MHz de 2 Gio, Hitachi SATA2 de 160 Go.

Hors ligne

#28 06-12-2015 09:52:17

paskal
autobahn
Lieu : ailleurs
Inscription : 14-06-2011
Site Web

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

Ah quand même  big_smile

Peut-être aura-t-on droit à un petit échantillon au bar ...  cool

I'd love to change the world
But I don't know what to do
So I'll leave it up to you...

logo-sur-fond.png

Hors ligne

#29 06-12-2015 10:15:45

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

Pour avoir un fichier de tags par album, il va y avoir un peu plus de travail… je pourrais te proposer une solution
mais il faudrait que j'y travaille bien plus que pour un one shot script… Je vais voir si j'ai le temps. En tous
cas je m'orienterais plus sur un script dans un fichier plutôt que sur une commande en une ligne.

Hors ligne

#30 06-12-2015 11:29:08

Philippine
Membre
Distrib. : Debian Jessie
Noyau : Linux 3.16.0-4-686-pae
(G)UI : Xfce
Inscription : 03-12-2015

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

stephgarg a écrit :

Bonjour à tous.

Philippine : Je crois halluciner : 500 Gio de musique !!! mad

A bientôt.



Bah, il y a des gens qui en ont encore beaucoup plus...quand on est curieux et avide de découvertes ça va vite!

Hors ligne

#31 06-12-2015 11:30:02

Philippine
Membre
Distrib. : Debian Jessie
Noyau : Linux 3.16.0-4-686-pae
(G)UI : Xfce
Inscription : 03-12-2015

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

enicar a écrit :

Pour avoir un fichier de tags par album, il va y avoir un peu plus de travail… je pourrais te proposer une solution
mais il faudrait que j'y travaille bien plus que pour un one shot script… Je vais voir si j'ai le temps. En tous
cas je m'orienterais plus sur un script dans un fichier plutôt que sur une commande en une ligne.



En tout cas un grand merci pour ton aide et ta disponibilité, je ne pensais pas que le problème serait aussi complexe neutral

Hors ligne

#32 06-12-2015 14:31:07

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

Aussi, je voudrais savoir comment ta musique est organisée et aussi comment tu voudrais organiser le fichier
de tags. Ça peut être un peu casse tête en fonction des tags contenus dans les fichiers. En musique classique
par exemple, il y a le compositeur, les interprètes, quelques fois dans les tags on  que le compositeur.
Aussi il y a des albums qui correspondent à plusieurs artistes. C'est pour te montrer la complexité
de la chose wink

Hors ligne

#33 06-12-2015 16:12:31

Philippine
Membre
Distrib. : Debian Jessie
Noyau : Linux 3.16.0-4-686-pae
(G)UI : Xfce
Inscription : 03-12-2015

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

Alors, voilà un exemple:

01 - I. Allegro moderato.flac
album=Bruckner - Symphonie n°7 en mi majeur - Hermann Abendroth
artist=Orchestre Symphonique de la Radio de Berlin
artist=Hermann Abendroth (direction)
composer=Anton Bruckner (1824-1896)
date=1878
genre=post-romantique
genre=allemand
genre=wagnérisme
labelid=tahra
recordingdate=1956
title=I. Allegro moderato
tracknumber=01/05

02 - II. Adagio.flac
album=Bruckner - Symphonie n°7 en mi majeur - Hermann Abendroth
artist=Orchestre Symphonique de la Radio de Berlin
artist=Hermann Abendroth (direction)
composer=Anton Bruckner (1824-1896)
date=1878
genre=post-romantique
genre=allemand
genre=wagnérisme
labelid=tahra
recordingdate=1956
title=II. Adagio
tracknumber=02/05

03 - III. Scherzo - Trio.flac
album=Bruckner - Symphonie n°7 en mi majeur - Hermann Abendroth
artist=Orchestre Symphonique de la Radio de Berlin
artist=Hermann Abendroth (direction)
composer=Anton Bruckner (1824-1896)
date=1878
genre=post-romantique
genre=allemand
genre=wagnérisme
labelid=tahra
recordingdate=1956
title=III. Scherzo
title=Trio
tracknumber=03/05

04 - IV. Finale.flac
album=Bruckner - Symphonie n°7 en mi majeur - Hermann Abendroth
artist=Orchestre Symphonique de la Radio de Berlin
artist=Hermann Abendroth (direction)
composer=Anton Bruckner (1824-1896)
date=1878
genre=post-romantique
genre=allemand
genre=wagnérisme
labelid=tahra
recordingdate=1956
title=IV. Finale
tracknumber=04/05
 



Et sinon, pour l'organisation, c'est assez simple:

1 pochette de disque=1 répertoire (qui peut donc contenir plusieurs oeuvres).
1 oeuvre=1 album
Le nom de l'album se présente comme ceci: Compositeur - Nom de l'oeuvre - Interprète principal.

Ce qui veut dire qu'il peut y avoir plusieurs albums dans un répertoire.

Hors ligne

#34 06-12-2015 18:28:38

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

C'est quoi tu appelles une œuvre dans ce contexte ?

Hors ligne

#35 06-12-2015 19:15:24

Philippine
Membre
Distrib. : Debian Jessie
Noyau : Linux 3.16.0-4-686-pae
(G)UI : Xfce
Inscription : 03-12-2015

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

Bruckner - Symphonie n°7 en mi majeur - Hermann Abendroth
Bruckner=le compositeur
Symphonie n°7 en mi majeur=l'oeuvre
Hermann Abendroth=l'interprète principal

Hors ligne

#36 06-12-2015 19:43:47

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

Au fait ce qu'il y a dans tes fichiers *_tags.txt correspond aux exemples que tu m'as donné
dans ton post #33 ?

Hors ligne

#37 06-12-2015 20:00:02

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

En fait, j'ai fait un script simple, mais je ne sais pas s'il fera ce
que tu veux.  Il est basé sur la structure que tu m'as montré dans ton
post #33, un point important est qu'il suppose qu'il y a tag album=
dans les fichiers *_tags.txt.  Si ce n'est pas le cas ça ne marchera
pas… Voilà je propose ce script a enregistré dans fichier que j'ai
appelé create_albums_tags.bash


#! /bin/bash

set -e
set -u

files_exist () {                                                                
                                                                               
    if [ -e "$1" ]; then                                                        
        return 0                                                                
    else                                                                        
        return 1                                                                
    fi                                                                          
}                

# On génére 1 fichier de tags par fichier flac
find . -type f -iname '*.flac' -exec metaflac --export-tags-to={}_tags.txt {} \;

IFS=

# Ensuite on parcours les répertoires
find -type d -print0 |while read -rd '' directory
do
    OLD_PWD="${PWD}"
    cd "${directory}"
    if files_exist *_tags.txt; then
        # pour chaque fichier tags
        for f in *_tags.txt; do
            # On extrait le nom de l'album
            album="$(sed -n /^album=/s/^album=//p <${f})"
            # On copie le fichier de tags à la fin du fichier de l'album
            cat "${f}" >>"${album}_tags_album.txt"
        done
        # On efface les fichiers *_tags.txt, mais on garde
        # les fichiers *_tags_album.txt !
        rm -f *_tags.txt
    fi
    cd "${OLD_PWD}"
done
 


Évidemment, ce script est perfectible. Tu pourras faire des essais
en recopiant une petite partie de ton arborescence de ta musique
et en exécutant ce script depuis la racine de cette arborescence
(pas la racine du fs, hein wink).

Dernière modification par enicar (06-12-2015 20:04:11)

Hors ligne

#38 06-12-2015 21:20:38

Philippine
Membre
Distrib. : Debian Jessie
Noyau : Linux 3.16.0-4-686-pae
(G)UI : Xfce
Inscription : 03-12-2015

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

Testé, et approuvé: ça marche parfaitement! Je vais essayer de me pencher de plus près sur la syntaxe, pour comprendre un peu comment ça marche.

Grand, grand merci!

Dernière modification par Philippine (06-12-2015 21:25:58)

Hors ligne

#39 06-12-2015 21:30:36

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

Comme ça, pour comprendre tout ce que j'ai mis dans le script, si tu n'y connais pas grand chose,
ça va prendre un bon bout de temps… wink

Hors ligne

#40 07-12-2015 06:43:12

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

Ce n'est qu'aux portes du tombeau que le temps fait son affaire, pas avant ! big_smile

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#41 07-12-2015 11:27:24

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

J'ai entendu dans une émission sur la physique quantique que le temps n'existe pas.
D'un point vue quantique, il n'y a aucune différence entre passé, présent et avenir.
Je n'ai pas bien compris ce concept, mais c'est amusant big_smile

Hors ligne

#42 07-12-2015 11:52:26

Kusajika
Membre
Inscription : 08-04-2015

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

Si le sujet sur le temps t'intéresse tu peux lire Heidegger, Etre et Temps. smile
Temporalisation big_smile alalal la philosophie

Hors ligne

#43 07-12-2015 12:06:22

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

Il faudra que je regarde ce que disait se brave philosophe, mais je crains
que ce soit un excellent moyen de s'endormir le soir big_smile

Hors ligne

#44 13-01-2016 20:00:56

Philippine
Membre
Distrib. : Debian Jessie
Noyau : Linux 3.16.0-4-686-pae
(G)UI : Xfce
Inscription : 03-12-2015

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

Rebonjour à tous, et bonne année!

J'ai lancé le script d'Enicar pour sauvegarder une fois pour toutes les tags de ma discothèque. L'intérêt étant de pouvoir importer un fichier de tags dans un album, ce qui est assez pratique.

Un petit problème subsiste: dans l'exemple montré dans mon message #33, il y a un saut de ligne à la fin de chaque enregistrement. Or ce saut de ligne manque dans les fichers *_album.tags engendrés par le script d'Enicar. Du coup, je peux certes sauvegarder mes tags, mais pas les réimporter.

J'ai essayé de bidouiller en rajoutant "\n" dans le script, mais sans résultat. Comment obtenir le résultat montré dans mon message #33?

Merci encore smile

Hors ligne

#45 13-01-2016 20:15:19

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

Je pense que j'ai une solution simple, essaye le script suivant :


#! /bin/bash

set -e
set -u

files_exist () {                                                                
                                                                               
    if [ -e "$1" ]; then                                                        
        return 0                                                                
    else                                                                        
        return 1                                                                
    fi                                                                          
}                

# On génére 1 fichier de tags par fichier flac
find . -type f -iname '*.flac' -exec metaflac --export-tags-to={}_tags.txt {} \;

IFS=

# Ensuite on parcours les répertoires
find -type d -print0 |while read -rd '' directory
do
    OLD_PWD="${PWD}"
    cd "${directory}"
    if files_exist *_tags.txt; then
        # pour chaque fichier tags
        for f in *_tags.txt; do
            # On extrait le nom de l'album
            album="$(sed -n /^album=/s/^album=//p <${f})"
            # On copie le fichier de tags à la fin du fichier de l'album
            cat "${f}" >>"${album}_tags_album.txt"
            # On ajoute une nouvelle ligne.
            echo >>"${album}_tags_album.txt"
        done
        # On efface les fichiers *_tags.txt, mais on garde
        # les fichiers *_tags_album.txt !
        rm -f *_tags.txt
    fi
    cd "${OLD_PWD}"
done
 


Tu me diras, si cela fonctionne comme tu veux, à présent. Je n'ai pas rajouté
grand chose, mais il faut mettre ce caractère nouvelle ligne au bon endroit wink
Et bonne année smile

Dernière modification par enicar (13-01-2016 20:50:03)

Hors ligne

#46 13-01-2016 20:48:23

Philippine
Membre
Distrib. : Debian Jessie
Noyau : Linux 3.16.0-4-686-pae
(G)UI : Xfce
Inscription : 03-12-2015

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

Mille mercis! Ça marche impeccablement. Et bonne année à toi aussi! smile

Hors ligne

#47 13-01-2016 20:50:18

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

super smile

Hors ligne

#48 13-01-2016 21:46:14

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande


saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#49 14-01-2016 13:34:49

vv222
Administrateur
Lieu : Bretagne
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

Attention, du pinaillage en règle va suivre wink

-----


OLD_PWD="${PWD}"
cd "${directory}"

cd "${OLD_PWD}"
 


Cet export de ${PWD} peut être évité assez simplement en bash :


cd "${directory}"

cd -
 


La commande 'cd -' sert à revenir au répertoire de travail précédent, sans avoir besoin d’enregistrer celui-ci manuellement au préalable.

-----

files_exist () {

    if [ -e "$1" ]; then
        return 0
    else
        return 1
    fi
}
 


Cette même fonction peut s’écrire de manière beaucoup plus simple pour le même comportement :


files_exist () {

  [ -e "$1" ]
}
 


Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

Hors ligne

#50 28-01-2016 14:34:24

tontongurine
Membre
Distrib. : debian 8.3
Noyau : Linux 3.16.0-4-amd64
(G)UI : lxde
Inscription : 28-01-2016
Site Web

Re : [Résolu] Sauvegarder tags des fichiers flac avec une ligne de commande

De manière générale, les espaces dans les noms de fichiers, c'est l'invitation à des tas de complications dans les traitements en ligne de commande.

Je me suis fait quelques scripts de renommage féroces pour mettre tout en ordre avec une convention de nommage très stricte et j'en ai vu des vertes et des pas mûres avec des noms que je n'aurai jamais imaginé exister  vraiment ! Des truc récupérés d'internet nommés n'importe comment.

tontongurine,
linuxeur et figuriniste depuis le XXe siècle
debian ou linux mint selon les bécanes

Hors ligne

Pied de page des forums