I tag metadata on everything with MusicBrainz Picard, and then store it in a /{Album Artist}/{Album}/{Track}
hierarchy.
Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Seconded. Precisely how I organize things. I use MusicBrainz Picard to clean up metadata before adding music to my collection.
I tried both Lidarr and Beets before, but their automation tended to pick matches with a "eh, close enough" attitude, so I just decided I'd do it properly myself.
Well, I can say Picard has been pretty well flawless for me. And in those few instances where it misidentifies something, you can always do a manual search and match.
Nine times out of ten my process is to load the tracks into Picard, cluster them, look them up, do a quick scan to confirm it looks good, and then save the updated metadata. For those few times it messes up, I just reload the files, cluster them, then do a manual search to find the appropriate release. It really is very good at its job.
Beets is my favorite tagger since I prefer CLI. Match making policy can be adjusted and discogs plugin can be added I recommend the folder structure /artist/album/track
Music folder > Artist name > Album Name > Numbered tracks.
Since all the files contain metadata, any music player I use can automatically sort my collection however I like.
Honestly, keeping the actual folder structure simple is more than enough. You aren't playing tracks from the file manager.
My thought process exactly
Wait, you guys are organizing your music files?
This is a copy of an older comment of mine:
Everything is tagged and organized using Picard. I use a modified version of https://community.metabrainz.org/t/repository-for-neat-file-name-string-patterns-and-tagger-script-snippets/2786/156.
I've been meaning to write a guide for how it works. My current WIP script can be found here: https://gitea.baerentsen.space/FrederikBaerentsen/DataHoarder_scripts/src/branch/master/Picard.txt
My files is setup like:
~/Music/A/Artist/(YYYY) Title [Type - Format] [MusicBrainz ID]/[side] Title [length][Bandwidth].ext
eg:
/Music/Q/Queen/(1973) Queen [12 Inch Vinyl - FLAC] [1783da6a-9315-3602-a488-1738eb733a0f]
/A1. Keep Yourself Alive [3m48s][320+ 48000KHz VBR 2ch].flac
/B1. Liar [6m26s][320+ 48000KHz VBR 2ch].flac
/Music/B/Bruce Springsteen/(2019) Western Stars [CD - FLAC] [a50ffce7-0532-41a7-b85b-7d02f8c7af00]
/01. Hitch Hikin' [3m38s][320+ 96000KHz VBR 2ch].flac
/02. The Wayfarer [4m18s][320+ 96000KHz VBR 2ch].flac
if the album isn't a studio album, theres an extra folder. eg:
/Music/B/Bruce Springsteen/Compilation/(1996) The Lost Masters I_ Alone in Colts Neck (The Complete Nebraska Session) [CD - FLAC] [8531e427-495a-443a-8fc3-0dd2ef459c93]
/01. Nebraska [4m27s][320+ 44100KHz VBR 2ch].flac
/Music/P/Phil Collins/Singles/(1981) In the Air Tonight [7 Inch Vinyl - FLAC] [e805dd53-9257-4c78-8bff-a95f0cdd767e]
/A. In the Air Tonight [5m29s][320+ 96000KHz VBR 2ch].flac
I have special categories for:
Compilations
Cover
Tribute
Singles
Live
EP
If an album contains multiple disks, there's an extra folder. Eg:
/Music/M/Michael Jackson/Compilation/(2004) The Ultimate Collection [CD - FLAC] [2d37b204-ed26-3795-9710-1514f0fd931a]
/Disc 1
/01. I Want You Back [3m00s][320+ 44100KHz VBR 2ch].flac
For soundtracks it's:
~/Music/Soundtrack/T/(YYYY) Title [Type - Format] [MusicBrainz ID]/[side] Title [length][Bandwidth].ext
eg.
/Music/Soundtrack/L/(2001) The Lord of the Rings_ The Fellowship of the Ring - The Complete Recordings [Digital Media - FLAC] [cad73ae7-5966-4de1-bad4-4a603891fd27]
/Disk 1/01. Prologue_ One Ring To Rule Them All [7m15s][320+ 48000KHz VBR 2ch].flac
Been using this for 3+ years and it's solid.
I'll try and make a better write up at some point and share my script.
This setup also works flawlessly with Plex + Prism. I run Picard in a docker container and access it over web, so it can run on my headless Debian server.
reworking the whole library, I had 1.5 TB of mp3s, but they were super messy organized. Sure, I could have gone through organizing it but still mp3s suck.
So I'm starting over with a FLAC only music library. I use Navidrome on a local server and with a Subsonic client on my phone I can choose to download certain songs or playlists to use when I'm away.
CD quality FLACs are the minimum for me. They are nineties technology and still most digital music isn't even close to that. I find it hilarious how Spotify is still serving mp3s.
Spotify serves mp3s because it uses less bandwidth and most people can't tell the difference on their 30€ Bluetooth headset.
Spotify serves mp3s because it uses less bandwidth and most people can’t tell the difference on their 30€ Bluetooth headset.
I think this highlights a bigger issue when it comes to this discussion.
The issue isn't the mp3 format -- for the most part, the format of any lossy encoder can sound good with the right settings. The problem is that, unlike flac, all encoded lossy files are essentially untrustworthy audio formats. So when people say mp3 sounds bad, it's only a half truth in the same way that it's a half truth to say that people cannot tell a difference. You are putting trust in the person who encoded the audio to make the right choice and the encoder is putting trust in the idea that the person consuming the media can't tell the difference.
When it comes to being cheap on bandwidth since most users can't hear it, that's a huge cop-out being made for a company that can do better. While Apple is pretty notorious for making terrible decisions for arbitrary reasons, even they respect the user enough to allow you to opt into higher audio format quality. It's decisions like these that cement Apple as the kings of the creative computer user.
Where do you get FLACs?
You rip your cds or buy direct from the artists (he says without suggesting you can easily find everything for free online)
yes, pretty much this.
Bandcamp and Qobuz sell high quality FLACs.
Other way to do it is subscribing to Tidal HiFi tier and using tidal downloaded to legally download FLACs with your account. But this supports artists less than actually buying from them in Bandcamp.
This is the most ethical way of doing it. I respect it
soulseek
Spotify serves OGG Vorbis, not mp3
/music/Artist_Name/Album_Name/
All my music rips go into the Lidarr indexer, and it handles the rest. Playback handled by Plex
Lidarr does the management and either stores soundtracks in /data/media/soundtrack
or music under /data/media/music
Sorted by folder is per artist.
Yeah, lidarr just takes care of it, and plexarr for playback.
I use musicbrainz Picard to sort it for me and then host it with jellyfin.
/artist initial/artist name/album name
(It's a fool's errand trying to create a folder scheme that accounts for every classification edge case. Accept the mess!)
Tagging is outsourced to the BT tracker community. Playback via cmus or Emby.
My music library is such fire it's uncontainable.
I don't know if this will help, but I've been using Plex to manage my music and other audio for more than a decade. It pulls in metadata from online sources and allows me to search or apply filters. That is a lot more versatile than anything I could do directly with the files.
If you aren't interested in running your own server, look at some of the more sophisticated player apps. Many of them can provide similar metadata features. Then you wouldn't have to worry about how the files are physically organized.
beets is a godsend for managing the file layout. If you need to make changes down the line it makes it super easy to migrate
the amount of plugins are also amazing
convert non-lossy files automatically to {aac|mp3|ogg}? fetch lyrics? push updates to mpd/sonos/jellyfin?
All my music is properly tagged. Navidrome can combine artists and albums across the folder.
Then it's just down to Deemix to grab it properly tagged. Most of my music is artist/album/song, but plenty is loose or in just artist folders.
I recently started organizing my music to use with Jellyfin and/or Navidrome. Since Jellyfin requires a particular folder structure, I used this, and I've also used MusicBrainz Picard to tag all my music so that it works better with Navidrome. I ended up just using Jellyfin as it suited my needs perfectly, and using it with a desktop client on my laptop (Feishin) and mobile client on my phone (Finamp).
The way Jellyfin requires it to be organised is the way I would've done it myself anyway:
Artist 1
|-- Album 1
||----Disc 1
||----Disc 2
|--Album 2
Artist 2
|-- Album 1
etc ...
In my experience, if you try to organize based on genres, you need to have a very defined sense of what genres everything you have is. Either you stick with very broad genres (Rock, Jazz etc.) or you get tons of subgenres that you quickly lose control over if you don't know exactly what is what. Since the clients I use have the possibility to sort by genre, I am planning on giving it an overhaul at some point, but then I will use very broad genres.
Lidarr organizes it for me.
I've tried to use lidarr but I think my archive is too weird for it.
Not only do I have a lot of obscure releases, but I also have things like vinyl and cd rips of every version of every album by certain artists. Like I have a huge amount of frank zappa for example, sometimes I will have 10 versions of the same album, sometimes more. I have collections of the different live variants of many tracks, archives of guitar solo variations ets..
Lidarr has no idea how to handle that so I do it all manually.
Yeah nope for that case. Lidarr can only understand one release at a time.
I usually manage it by Artist/Album/ReleaseId/# - Trackname. I use Beets, because it's the only one that seems to have a concept of release.
I have a kind of complicated system for organizing my music files -- some of which is admittedly way too much maintenance but it might be of interest to some.
For my general "commercial" music collection, the folder structure is roughly
Music/%Release Artist | Band%/%Album%[%Year%]/%Track No.% - %Title%.%Format%
This is simple to maintain. I basically just use MusicBrainz Picard and set up appropriate paths.
For my soundtrack collection, it gets a bit more complicated. For Anime/Film/Whatever, I have it sorted basically the same way but in a different root folder. So something like:
Music/Anime/%Release Artist | Band%/%Album%[%Year%]/%Track No.% - %Title%.%Format%
Which is also easy to maintain since most of these also have commercial releases.
But games are sorted more strangely. To put it simply, I have a folder structure that puts the console or platform first, followed by the game name and then the loose files. Since some of these files are emulated formats (.vgm
, .nsf
, .spc
), I generally don't bother renaming them and keep them as is and trust that the music program in question has tagging support. It also means that having them sorted by console is mostly beneficial to quickly find emulated file formats, but YMMV and I have regretted the choice on occasion.
Obviously game soundtracks are spotty when it comes to releases. Some companies have reliable metadata you can get from MusicBrainz Picard, like SquareEnix, but others have no tagging at all or very incorrect tag values. Because of this, I generally use something like VGMDB, which is usually higher quality but not always. I do have to resort to manually correcting files on occasion.
If anyone has a nice automated way to sort this stuff out, it would be a real benefit to me as well.
/music/{artist}/{year - album}
All sorted by hand by my lovely husband. He liked doing it lmao.
QudoLibet plus mp3s metadata
I used to have folders, but that meant a typo or a variation in the artist name made redundant folders and also I had to periodically run some tool that moved and renamed files and folders according to the id3 tags.
Now I prefer to have a big messy folder with 15k unorganized files
Anyway I'm listening via ampache compatibile players, so I won't even know what's the file name, for all I know it could be 3c31cd9b-3c9d-42b0-b873-631f1552a24f.mp3
I have my music organized by artist and (mostly) album subfolders. My music is also tagged and that's what really matters most to me in terms of Navidrome.
Did you know about [email protected] , btw?
@[email protected] I should have /ARTIST_NAME/ALBUM_NAME/TRACKNUMBER_TRACKTITLE.EXTENSION
What if the track/song has multiple authors? What do you do then?
Cry because the metadata is never right.
But really this is usually solved with proper labelling of ARTIST and ALBUM ARTIST tags separately.
I mainly use youtube and Spotify nowadays but when I was playing local music I had a music folder with artist subfolder and album subfolders inside that.
I have a lot of music most of which is video game soundtracks and rips. I have tagged most of it using VGMdb years ago but most tools have poor or no support for it now. MusicBrainz is missing far too many albums and usually prioritizes translated track titles. It also lacks the huge amount of images for albums that VGMdb has
I used to manage the file hierarchy myself, but I haven't done that for years at this point. Same goes for tagging files and such. I just download everything to a root folder called "music" and let lidarr handle everything from there.
Lidarrs default file structure is something like {Artist}/{Album}{Year}/{Track} . This can of course be changed. Then I let lidarr just tag everything for me automatically, embedding album art and such.
It's a great setup overall, but I don't know where Lidarr indexes it's music library from, because some artists and albums might be missing sometimes. That's really the only pain point.
By not having one. I just use Pandora.