3 points par GN⁺ 2025-11-12 | 1 commentaires | Partager sur WhatsApp
  • 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

 
GN⁺ 2025-11-12
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

    • En revanche, je ne suis pas d’accord avec l’idée que toutes les métadonnées musicales doivent finir dans une base mondiale
      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
    • Waouh, j’aurais aimé connaître Harmony bien plus tôt. J’ai fini par abandonner après avoir essayé de remplir Musicbrainz à la main pendant deux mois
  • 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

    • Pour les variantes d’albums commerciaux absentes de Bandcamp ou de Musicbrainz, j’ai réglé le problème en les ajoutant moi-même à Musicbrainz. Je reçois encore des notifications de modification pour des entrées ajoutées il y a 10 ans
    • Pour les enregistrements de fans ou les CD-R DIY, je pense qu’il vaut mieux simplement les importer tels quels, puisqu’il n’existe pas de métadonnées standard. Une fois la première importation passée, beets devient vraiment un super outil
    • Je me demande quel outil les gens utilisent aujourd’hui pour gérer leur bibliothèque musicale. À l’ère du streaming, j’aimerais retrouver le plaisir de la curation manuelle
    • Il existe le plugin d’auto-tagging Bandcamp beetcamp, ce qui résout en partie le premier problème
    • Le tagging des CD de musique classique a toujours été difficile. Comme l’app classique d’Apple s’en sort bien, je pense m’inspirer de son approche
  • 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

    • Un de mes projets préférés est beets-flask
      On peut y configurer un pipeline d’import automatique via une interface web, et gérer facilement les étapes manuelles
    • Je me demande comment vous gérez les pochettes d’album avec beets-alternatives
  • 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

    • Le genre est une sorte de volume dans l’espace des morceaux. On peut attribuer plusieurs genres à la fois, et les ajuster par vote comme sur le site participatif rateyourmusic.com
    • Je ne pense pas que l’étiquetage par genre soit mauvais. Dire « j’aime le post-hardcore, recommande-moi quelque chose dans le même genre » est bien plus efficace.
      C’est juste que « alternative » n’a pas eu le même sens selon les époques
    • King Gizzard and the Lizard Wizard — genre : oui
    • Moi aussi je déteste les tags de genre, donc ça me fait plaisir de voir ça
    • À l’échelle de l’artiste, je trouve ça peu utile, mais à l’échelle de l’album, c’est pratique. J’utilise rymscrap pour récupérer les données RYM et m’en servir comme métadonnées enrichies
  • 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 import
    Ensuite, 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’utilise presque exactement la même méthode. Je laisse beets faire l’essentiel, et je complète avec Picard quand ça ne suffit pas
    • Mais du coup, beets n’écrase pas les modifications faites dans Picard ?
  • 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

    • On peut résoudre ça en activant lastgenre canonicalization et en réglant count=1
    • Moi, je m’en sors avec une petite liste blanche dans le plugin lastgenre
    • J’ai le même problème. Des tags comme « Post Rock Jazz Fusion » ne servent à rien
      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

    • J’utilise aussi MusicBee, et j’organise mes tags selon les règles Discogs à partir des tags Bandcamp
      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 »
    • Les tags actuels me suffisent déjà pour tout gérer, donc je n’utilise pas beets
    • C’est possible aussi avec Picard ou Foobar, mais beets permet l’auto-tagging basé sur les noms de fichiers et l’intégration avec Navidrome
    • Si vous ajoutez souvent de nouvelles sorties, il faut les enregistrer vous-même dans MusicBrainz. J’en ai ajouté 2 697 jusqu’à présent
  • 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