LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

beets

Music library manager and metadata organizer

TLDR

Import music into your library
$ beet import [path/to/music]
copy
Import without auto-tagging
$ beet import -A [path/to/music]
copy
List all albums
$ beet ls -a
copy
Search for tracks
$ beet ls [artist:beatles]
copy
Update library statistics
$ beet stats
copy
Move files to match library organization
$ beet move
copy
Modify metadata
$ beet modify [query] [field=value]
copy
Fetch missing album art
$ beet fetchart
copy

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.

SEE ALSO

picard(1), kid3(1), metaflac(1), mpd(1), mpc(1), ffmpeg(1)

RESOURCES

Copied to clipboard
Kai