Beets: The music geek's media organizer

beets.io

99 points by hyperific 7 hours ago


echelon_musk - 3 minutes ago

I've tried to use beets a number of times and given up each time.

- beets can't delete transcoded files which have been deleted at source.

- beets can't re transcode existing transcoded files when the source has been modified.

- It's impossible to preserve the original directory structure when transcoding because it strips all path separators for "security".

I use a Bash script I've been maintaining for a number of years instead.

Thev00d00 - 2 hours ago

A few people commenting that some of their collection "doesn't exist in any DB", the best way to fix it is to add it to Musicbrainz[0] yourself!

I have found that adding things to Musicbrainz is actually pretty easy (and if you are so inclined like me, pretty rewarding and fun).

Streaming releases (and Bandcamp) you simply drop the release URL into Harmony[1] and it does most of the work for you.

Musicbrainz can represent nearly everything musically related and its all freely licensed, a very cool thing to exist.

Most (non-destructive) edits are auto-applied, whilst the rest go through a 7 day voting period (they are still applied by default unless someone votes against). The barrier to entry is very low.

0. https://musicbrainz.org/

1. https://harmony.pulsewidth.org.uk/

mrmekon - 2 hours ago

I spent a truly obnoxious amount of time importing my music library into beets. It took a couple of weeks to get to 95% imported, and got so bogged down in the last 5% that I never completed the import and never switched over.

This isn't necessarily a fault with beets, really, but a model mismatch. The model of beets is very, very strongly tied to associating each imported item to one well-known, commercial release. While it's possible to stray from that, it takes tons of time and experimentation to cram some things into its model.

Purchased, popular albums are a breeze; they import nicely and make sense. I struggled differing amounts with:

* brand new indie label releases (bandcamp)

* commercial albums variants missing from musicbrainz/discogs

* non-commercial albums (self-released CDRs)

* fan-recorded concerts

* fan-recorded festivals (a special case, a true nightmare)

* fan edits/remixes of commercial releases

* playlists & mix tapes

* mixed media releases

Each was eventually possible, but sometimes it took hours to figure out how to import a specific folder. Worse, after doing one festival it didn't necessarily make it easier to do the next festival. Even if I get to 100% imported, additional imports will still take thought.

This isn't an argument against it, I still think it's a fantastic tool. Just understand that the farther you stray from collecting commercial releases, the more of a struggle it is.

tuukkao - 4 hours ago

If you're using Navidrome or similar to stream your music then check out beets-alternatives [0]. It lets you sync (and optionally convert) your library or a subset of it to another location, in my case my music storage mounted with Rclone. It's especially useful if you need to have a different naming structure in your target directory for whatever reason. I like to keep each disc of a multi-disc album in in its own subdirectory but most streaming servers seem to prefer all tracks of an album to be in the same directory. With Beets-alternatives I can have a different naming structure for each collection vs. having to rename my primary collection to suit whatever streaming server I happen to be using.

[0]: https://github.com/geigerzaehler/beets-alternatives

aquariusDue - 29 minutes ago

Tried Beets once because it pairs well with Navidrome, it's pretty feature packed and exhaustive in what it does. Though after fiddling with it and realizing that it's more effort for my use case than I'd like I ditched it and now I don't really bother tagging. I hope to do the same thing for Navidrome too and find something to replace it with similar to KDE Elisa which makes it easy to make playlists on the fly and organize music around folders instead of tags.

Different strokes for different folks, that's not to say that Navidrome and Beets aren't amazing pieces of kit.

Mashimo - 23 minutes ago

I currently use OneTagger https://onetagger.github.io

It's more for adding tags before you add them to your collection. You can setup shortcuts to often used tags. Of course it can also rename and move files based on tags.

I then can auto create playlists based on those tags (with a different program)

Yodel0914 - 5 hours ago

I spent a couple of nights working out how to configure beets to my liking and have loved it ever since. My “workflow” is now:

- buy album on Bandcamp

- download zip

- beet import {zip file name}

And beets extracts the zip, matches the album to musicbrainz, updates any metadata, and drops the files into the directory structure that I like (naming the files how I like them, too).

Very rarely an album will need some more attention, in which case I use Picard to fix it before using beets to import it.

Shorel - an hour ago

I organize everything into Mixxx.

It is tagged not only by genre, crates, some songs belong into more than one crate.

Also by mood, which I tag with colours.

And how much I like the song, which is by stars.

I tried Beets and it was very underwhelming in comparison =)

adg33 - 5 hours ago

I love beets - the one thing I can't figure out is how to set the genre very wide.

I like having a small number of broad genres - Rock, Hip-Hop, Jazz etc - but the tagging comes up with hundreds of distinct genres :(

Semaphor - 5 hours ago

I recently looked into beets, but it seems it’s focused on automation, is that correct? I often buy stuff that has just been released, and that’s not yet in any database, so no automation works.

My current workflow is download, unzip and manually tag (mainly genres, sometimes badly named artists/albums) with MusicBee (which gives me autocomplete for genres so I can reuse existing ones), and then copy the files to the server for Navidrome to pick them up.

Throwing this out here to see if beets would actually work well with what I want after all.

cluckindan - an hour ago

Auto-tagging is nice to have but it will screw up verification checksums. I would prefer having metadata in a separate DB and keep the files as is, unless I explicitly request exporting the metadata to the original files.

pooyamo - 2 hours ago

It's a good tool. However, last I checked, it was not possible to run it in a one-shot stateless fashion, like, passing it a list of music files so it auto-fetches album art, lyrics and updates the very same input files.

LeoPanthera - 5 hours ago

Been using this for several years now. It's definitely not for the average user. But nothing is quite so flexible.

squigz - an hour ago

I've loved beets (and MusicBrainz Picard) for years. This bit from the beets docs has always stuck with me when organizing my library.

"An Apology and a Brief Interlude

I would like to sincerely apologize that the autotagger in beets is so fussy. It asks you a lot of complicated questions, insecurely asking that you verify nearly every assumption it makes. This means importing and correcting the tags for a large library can be an endless, tedious process. I’m sorry for this.

Maybe it will help to think of it as a tradeoff. By carefully examining every album you own, you get to become more familiar with your library, its extent, its variation, and its quirks. People used to spend hours lovingly sorting and resorting their shelves of LPs. In the iTunes age, many of us toss our music into a heap and forget about it. This is great for some people. But there’s value in intimate, complete familiarity with your collection. So instead of a chore, try thinking of correcting tags as quality time with your music collection. That’s what I do."

aleks5678 - 5 hours ago

Thanks. I was looking for something like this.

boobsbr - 5 hours ago

Whatever happened to MusicBrainz Picard?

jimbo999 - 4 hours ago

Been using with Claude via MCP to tag a bunch of old ripped CDs - fun with mixed results.