Cette page est affichée en anglais. Une traduction française est en cours.
ScriptsJul 19, 2026·3 min de lecture

Beets — The Music Library Manager and MusicBrainz Tagger

A command-line tool for organizing, tagging, and managing music collections using the MusicBrainz database, with a flexible plugin system for transcoding, lyrics, and more.

Prêt pour agents

Installation agent prête

Cet actif peut être installé après choix du runtime, vérification du plan et exécution de la commande adaptée.

Native · 98/100Policy : autoriser
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
Beets Overview
Commande d'installation directe
npx -y tokrepo@latest install 8cbb3a3e-832b-11f1-9bc6-00163e2b0d79 --target codex

À exécuter après confirmation du plan en dry-run.

Introduction

Beets is a command-line music library manager that handles the tedious work of organizing, tagging, and cataloging music collections. It uses the MusicBrainz database for accurate metadata matching and provides a plugin architecture for tasks like fetching lyrics, generating playlists, and transcoding.

What Beets Does

  • Automatically identifies and tags music files using MusicBrainz acoustic fingerprinting
  • Organizes files into a consistent directory structure based on metadata templates
  • Maintains a SQLite database of your music collection for fast querying
  • Supports batch operations across thousands of albums with smart duplicate detection
  • Fetches album art, lyrics, and genre information from multiple online sources

Architecture Overview

Beets is built as a Python application with a core import pipeline that matches audio files against the MusicBrainz database using a combination of tag-based and acoustic fingerprint matching. The library database is SQLite with a query language supporting regex, numeric ranges, and boolean logic. Plugins hook into well-defined extension points (import stages, commands, template functions) without modifying core code.

Self-Hosting & Configuration

  • Install via pip or your system package manager (available in most Linux distros)
  • Configure in ~/.config/beets/config.yaml with directory paths and plugin list
  • Set path templates like $albumartist/$album%aunique{}/$track $title for file organization
  • Enable plugins by listing them in config: plugins: fetchart lyrics lastgenre
  • Supports MusicBrainz rate limiting and custom server URLs for local MB instances

Key Features

  • Acoustic fingerprinting via Chromaprint identifies tracks without relying on filenames
  • Flexible query language supports regex, date ranges, and field comparisons
  • Path templates with functions allow complex naming rules without scripting
  • Web plugin provides a JSON API and simple web interface for library browsing
  • ReplayGain plugin calculates loudness normalization values for consistent playback

Comparison with Similar Tools

  • MusicBrainz Picard — GUI-based tagger; Beets is CLI-first with better automation for large libraries
  • Mp3tag — Windows GUI editor; Beets is cross-platform and scriptable
  • Lidarr — focused on automated downloading; Beets excels at organizing existing collections
  • Navidrome/Jellyfin — media servers; Beets handles the library management layer beneath them

FAQ

Q: Does Beets modify my original files? A: By default it writes corrected tags and can move/copy files. Use copy: yes to preserve originals.

Q: How accurate is the auto-tagging? A: Very accurate for well-known releases. The interactive importer lets you confirm or override matches.

Q: Can Beets handle 100,000+ tracks? A: Yes, the SQLite backend handles large libraries efficiently. Import speed is mainly network-bound.

Q: Does it support FLAC, MP3, and other formats? A: Yes, via Mutagen it supports MP3, FLAC, OGG, AAC, WMA, AIFF, and more.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires