- Beets est un outil open source de gestion musicale qui organise et corrige automatiquement les métadonnées d’une collection de musique
- Il s’appuie sur la base de données MusicBrainz pour compléter automatiquement les informations sur les albums, les morceaux, etc., et fournit divers outils de manipulation et de recherche
- Grâce à son architecture par plugins, il peut récupérer ou calculer différentes métadonnées comme les pochettes d’album, les paroles, le genre, le tempo, le ReplayGain et les empreintes audio
- Il prend en charge des fonctions comme la détection des morceaux en double, la vérification des morceaux manquants, la conversion de formats audio et la lecture via un navigateur web
- Il est facile de développer directement des plugins en Python, ce qui offre un environnement de gestion musicale hautement extensible et personnalisable
Présentation de Beets
- Beets est un outil d’automatisation de la gestion musicale conçu pour organiser toute une collection musicale en une seule fois
- Il catalogue la collection et améliore automatiquement les métadonnées à l’aide de la base de données MusicBrainz
- Il fournit ensuite un vaste ensemble d’outils pour manipuler la musique et y accéder
Fonctionnalités principales
- Avec sa structure extensible basée sur des plugins, il peut effectuer presque toutes les tâches de gestion musicale
- Il peut récupérer ou calculer toutes les métadonnées nécessaires (pochettes d’album, paroles, genre, tempo, ReplayGain, empreintes audio)
- Il peut récupérer les métadonnées depuis MusicBrainz, Discogs, Beatport ou les déduire à partir du nom de fichier et des empreintes audio
- Il permet la transcodification audio vers le format souhaité
- Il propose des fonctions de détection des morceaux en double et des morceaux manquants
- Il permet de parcourir et lire la musique via une interface graphique dans un navigateur web prenant en charge HTML5 Audio
Extensibilité et développement
- Si Beets ne prend pas en charge la fonctionnalité souhaitée, il est possible d’écrire facilement un plugin en Python
- De simples connaissances de base en Python suffisent pour ajouter de nouvelles fonctionnalités
Installation et démarrage
- Commande d’installation :
pip install beets
- Après l’installation, la documentation Getting Started permet d’effectuer la configuration initiale
- Les mises à jour peuvent être suivies via le compte @beets sur Fosstodon
Résumé
- Beets est un outil de gestion musicale doté d’une organisation automatique des métadonnées, d’une extensibilité par plugins et d’une accessibilité via le web
- Grâce à son intégration à l’écosystème Python, il permet une personnalisation adaptée aux développeurs et constitue une solution utile aussi bien pour les passionnés de musique que pour les utilisateurs techniques
1 commentaires
Avis sur Hacker News
Pour ceux qui disent qu’une partie de leur collection n’existe dans aucune base de données, la meilleure solution est de l’ajouter directement à Musicbrainz
En pratique, ajouter une entrée à Musicbrainz est un travail assez simple et amusant.
Pour les sorties en streaming ou sur Bandcamp, il suffit souvent de coller l’URL dans Harmony pour que tout soit traité automatiquement dans la plupart des cas
Musicbrainz peut représenter presque toutes les données liées à la musique, et tout est proposé sous licence libre. La plupart des modifications sont appliquées automatiquement, seules certaines passent par une procédure de vote de 7 jours
Ma collection contient beaucoup de contenus personnels, comme des pistes hybrides que j’ai montées moi-même, des enregistrements de concerts d’amis ou des captures audio de jeux
Pour ce genre de choses, il est plus logique d’utiliser mon propre système de classement. C’est comme vouloir mettre dans une bibliothèque un carnet de croquis sans ISBN
J’ai eu pas mal de mal à importer ma bibliothèque musicale dans beets
Les albums commerciaux ne posent pas de problème, mais les sorties non commerciales ou les enregistrements de fans correspondent mal au modèle, donc ça prend beaucoup de temps
Malgré ça, beets est un excellent outil. Il devient simplement de plus en plus difficile dès qu’on s’éloigne des sorties commerciales
Si vous utilisez un serveur de streaming comme Navidrome, je recommande beets-alternatives
Il permet de synchroniser et convertir une partie de la bibliothèque avec une autre structure, par exemple pour conserver les albums multi-disques dans des dossiers séparés par disque tout en répondant aux exigences du serveur de streaming
On peut y configurer un pipeline d’import automatique via une interface web, et gérer facilement les étapes manuelles
Je déteste les tags de genre. C’est trop simplificateur et ambigu
Il est même difficile de savoir comment classer un groupe comme R.E.M.. À mes yeux, seuls des tags comme « live » ou « bande originale » ont vraiment du sens
C’est juste que « alternative » n’a pas eu le même sens selon les époques
Après avoir peaufiné ma configuration beets pendant quelques jours, j’en suis maintenant totalement satisfait
Mon workflow : achat d’un album sur Bandcamp → téléchargement du zip → exécution de
beet importEnsuite, beets s’occupe automatiquement de la décompression, de la correspondance avec Musicbrainz, de la mise à jour des métadonnées et du rangement de la structure des fichiers
J’ai essayé beets parce qu’on disait qu’il s’intégrait bien à Navidrome, mais pour mon usage, le rapport effort/bénéfice était trop faible, donc j’ai fini par abandonner
Maintenant, je ne tague presque plus rien et je cherche plutôt une alternative capable de créer des playlists à la volée sur la base des dossiers, comme KDE Elisa
Quelqu’un sait comment automatiser le rip de CD dans un workflow beets ?
J’aime beets, mais je préfère garder les genres dans de grandes catégories sans trop de granularité
Or, l’auto-tagging génère des centaines de sous-genres détaillés
Pour des musiques qui existent en plusieurs versions, comme le classique, la structure de tagging reste difficile parce qu’elle est pensée autour de la musique populaire
J’ai regardé beets, mais comme il est centré sur l’automatisation, j’ai l’impression qu’il n’est pas très adapté aux nouveaux albums
Pour l’instant, je fais du tagging manuel dans MusicBee puis je copie vers un serveur Navidrome
Je me demande si beets pourrait convenir à mon workflow
Après les expériences catastrophiques de l’époque CDDB avec des tags incohérents, j’ai fini par tout personnaliser moi-même
J’ai voulu passer au FLAC, mais la correspondance avec les métadonnées de mes MP3 existants était bien trop complexe, donc j’ai laissé tomber. J’en suis arrivé à la conclusion que « 320k, c’est suffisant »
J’aime les fonctionnalités de beets, mais lors des imports en masse, il manque un indicateur de progression et de la robustesse
C’est dommage que l’état d’avancement disparaisse en cas de plantage.
J’aimerais bien avoir un worker qui traite automatiquement les nouveaux morceaux détectés en arrière-plan
Autrefois, betanin remplissait ce rôle, mais il semble avoir été remplacé aujourd’hui par wrtag
Malgré cela, une fois l’import terminé, la façon de faire de beets fonctionne plutôt bien