beets
Music library manager and metadata organizer
TLDR
SYNOPSIS
beet command [options] [query]
DESCRIPTION
beets is a music library manager and organizer that automatically tags, organizes, and manages music collections. It queries online databases like MusicBrainz to identify albums and correct metadata.During import, beets identifies albums, fixes metadata, downloads album art, and moves files into a structured directory hierarchy. The query system allows powerful searches and bulk modifications across the library.The plugin system extends functionality with features like fetching lyrics, managing play counts, converting formats, and integrating with music players. Configuration is stored in ~/.config/beets/config.yaml.
PARAMETERS
import [path]
Import music files into the library, tagging via MusicBrainz.list (ls) [query]
List tracks or albums matching query.modify query field=value
Modify metadata for matching items.move (mv) [query]
Move (or copy with -c) files to match configured paths.remove (rm) query
Remove items from the library (add -d to delete the files too).update (upd) [query]
Update library from on-disk tag changes.write [query]
Write database metadata back into the file tags.stats [query]
Show library statistics.fields
List the available metadata fields for queries.config [-pe]
Show config (-p path, -e edit in $EDITOR).-a, --album
Operate on albums instead of individual tracks.-f, --format template
Custom output format string for list output.-A, --noautotag
Skip automatic MusicBrainz tagging during import.-s, --singletons
Import tracks as standalone singletons rather than albums.-c, --copy / -C, --nocopy
Copy files into the library directory (or leave them in place).-t, --timid
Prompt for confirmation on every import candidate.
CONFIGURATION
~/.config/beets/config.yaml
Main configuration file for library paths, import behavior, plugins, and metadata preferences. Set the BEETSDIR environment variable to use a different directory (and library database). Run `beet config -p` to print the active path.
QUERY SYNTAX
artist:name: Match artist fieldalbum:name: Match album fieldyear:2020: Match yearyear:2018..2022: Year rangebitrate:320..: Minimum bitratepath:/music/: Match file path
PLUGINS
fetchart: Download album artworklyrics: Fetch song lyricslastgenre: Get genres from Last.fmconvert: Transcode to different formatsduplicates: Find duplicate tracksweb: Web interface for browsing
CAVEATS
Initial import of large libraries can be time-consuming due to online lookups. Automatic matching may fail for obscure releases or poorly-tagged files. The database must be kept in sync with actual files; moving files outside beets can cause inconsistencies.
HISTORY
Beets was created by Adrian Sampson starting in 2010 as a research project while pursuing a PhD in computer science. It grew from a personal tool into a comprehensive music management system. The project has been open source since inception and benefits from community-contributed plugins. It remains one of the most capable command-line music library managers available.
