Beets vs Multiple Library Folders (and other 'n00b' things)

Hi there, I’m new to Beets
…so new in fact I haven’t imported anything yet (because I want to get it just right … for my definition or what ‘right’ is anyway)

I have a multi-layered library (or a library with sub-libraries if you will) where I separate music I’ve ripped myself from music that I have acquired from various other sources, with each bulk source having it’s own set of sub-folders for Artist releases, Compilations, OSTs and Loose Tracks etc.


Folder PATH listing for volume A-Name
Volume serial number is 1234-ABCD
|   +---Albumartist
|   |   +---[Year] Album                      // I like to have albums in chronological order
|   |   |   ---01 - Title.ext
|   |   |   ...
|   |   +---[Year] Album [EP]                 // I also like to mark some release types
|   |   |   ...
|   |   +---[Year] Multi-Disc Album
|   |   |   ...
|   |   |   ---02-01 - Title.ext
|   |   |   ...
|   +---Album
|   |   ---01 - Artist - Title.ext
+---Incomplete Albums
|   +---Album with Missing Tracks
|   |   ---01 - Real Track.mp3
|   |   ---02 - Missing Track.txt             // I would like to have place-holder files for missing tracks
+---Loose Tracks                              // I will restructure this to use artist folders
|   ---Artist - Album - 01 - Title.ext
|   ---Artist - Title.ext
|   +---Soundtrack Album                      // single artist or composer
|   |   ---01 - Title.ext
|   +---Another Soundtrack Album              // multiple artists or composers
|   |   ---01 - Artist - Title.ext
+---Unknown Albums
|   +---Album with no Meta-data
|   |   ---01 - Track is numbered and named.ext
|   |   ...
|   +---Album with no Labels
|   |   ---Track01.ext
|   |   ...
|   +---Mislabelled and Confused Album
|   |   ---First line of the song lyrics.ext
|   |   ---Track labels do not match meta-data.ext
|   |   ---Someone guessed at the artist based on their sound.ext
|   |   ---Obscure cover version__maybe.ext
\---Unsorted Albums                           // Perhaps better though of as un-imported
    +---Untidy Album
    |   ...
    +---Unlabelled Album
    |   ...
    +---Untagged Album
    |   ...
    +---Possibly Incomplete Album
	|   ...
    +---Random Music Files in a Folder
    |   +---With Random Sub-Folders
	|   |   ---And more random tracks
	|   ...

So this is the kind of structure within each sub-library, with a separate sub-library for (for example):

  • My Music
  • My Brother’s Music
  • Music I Downloaded
  • Music my roommate gave me years ago when I was living in Mallorca and I still haven’t got around to sorting out yet

What I was wondering is, would it be possible to create a separate library.db file (and possibly config.yaml ) under each sub-library and assign these explicitly on the command-line when I invoke Beets?
…Maybe I could even create a batch file to do this more simply?

Just to clear up a couple of other little things…

  • When Beets imports files that are already well tagged (i.e. with Picard) will it still do it’s own look-up and overwrite existing tags in the files?
  • Does an ‘as is’ import just skip the look-up but still copy/move the files?
  • Does an ‘as is’ import check for files existing tags and apply those in to the database?
  • Can Beets automatically generate a playlist file for each album it imports?

I apologise if any of the answers to these little questions are covered in the docs, I have read through a lot of it but I don’t think much of it has stuck :confused:


Instead of having lots of separate beets libraries, I think it would be better to use our metadata-based naming schemes to separate the various directories. You might create a flexible attribute called $category, for example, that might contain either mine, brother, downloaded, etc. Then you can use the paths: section of the config to sort your music accordingly.

Yes. (This is an acknowledgement that it’s very difficult to tell, just by looking at tags, whether they’re “good.” It has to look the music up in MusicBrainz to tell.)

If you mean the -A flag to the beet import command, yes.


Do you mean an m3u file? No, I don’t think that’s something that any of the plugins currently do. But it shouldn’t be too hard of a plugin to write.

My recommendation to you is to try things out on a small chunk of your music—after making a backup! It can be really instructive to see how things go when actually running the import under various settings, even if it’s for a small amount of music.

Thanks for your quick and helpful response :+1:

:smile: I see your point

Indeed, I had been hoping to learn / brush-up on some Python programming (and maybe eventually contribute to the project) so this kind of plugin might be a good place to start?!
– although it might take me just as long to figure out how to use git effectively :laughing:

1 Like