Naming Script: MusicBrainz Picard · GitHub
I’ve been using Picard for many years. Over that time, I’ve struggled with the right way to organize my files. “[Artist]/[Album]/[Track]” quickly falls apart with a bunch of edge cases because I use file organization for browsing rather than indexing it in a library:
-
I collect series (A State of Trance, Dream Dance, etc) and these can be under a single artist, VA or a combination. However, I would much rather see these together under the same folder and be sorted by their order number (not title or date).
-
Singles can have different feat artists that scatter the artist folders (ie. “ILLENIUM”, “ILLENIUM & Foy Vance”, “ILLENIUM & Sueco feat. Trippie Redd”, etc). I want all these under the same primary artist folder for “ILLENIUM”.
-
I have different versions of the same album like Electric Callboy - TEKKNO (original and Tour Edition) but these would collide into the same album folder. This also applies to albums vs singles that have the same name.
-
Even though I don’t index the files in a player right now, I know that players only care about the basic tags (not MBIDs) and I don’t want it to smash together unrelated releases with the same name.
-
I want my VA/Compilation releases in a different root folder (rather than be buried under “Various Artists”).
-
I like to be able to copy some individual albums onto a USB stick, so keeping the artists in the folders is a bonus.
This is a quite a challenge - especially since I want Picard to handle all the moving/renaming without needing to move files manually afterwards - but I ended up solving all these problems with this script and it organizes into three root folders:
-
Music/Artists/[Primary Artist]/[Artist] - [Album] ([Disambiguation])/[Track]
-
Music/Compilations/[Artist] - [Album] ([Disambiguation])/[Track]
-
Music/Groupings/[Grouping]/[Order] [Artist] - [Album] ([Disambiguation])/[Track]
The [Disambiguation] is inspired by how Discogs lists separate versions with comma separated properties and descriptions. Here are some examples:
Artists/Electric Callboy/Electric Callboy - TEKKNO (CD, 2022)/07 Electric Callboy - Parasite.flac
Artists/Electric Callboy/Electric Callboy - TEKKNO (CD, 2023, Tour Edition)/01 Electric Callboy - Pump It.flac
Artists/Gareth Emery/Gareth Emery & Standerwick feat. HALIENE - Saving Light (Digital Media, Single, 2017)/Saving Light.flac
Compilations/The Fire This Time (CD, 2002, Compilation)/1-04 Soma - Get Thee Behind Me.flac
Groupings/Anjuna25/Alex Sonata & TheRio - 25 Years of Anjuna Mixed by Alex Sonata & TheRio (Digital Media, 2025, Compilation, DJ Mix)/2-04 Cramp - RU116 (Cramp 2020 mix).flac
Groupings/Dream Dance/0015 Various Artists - Dream Dance, Vol. 15 (CD, 2000, Compilation)/1-01 Miss Shiva - Dreams (single cut).flac
Some extra notes:
- To help with players, I put the same [Disambiguation] in the album name itself which I like it because it gives me more information about which version I’m listening to.
- You can set the Grouping in Picard easily before saving, but you need to manually rerun the script on those releases to setup the File Naming to use the new Grouping tags.
I hope this helps! I’m also curious what kind of tricky solutions others have come up with that work for them?