I always thought the most universally usable way to define a set of import rules, that allowed for the widest variety of file naming conventions, was to simply define:
- Variable # to Field name
- the Field delimiter in the filename
So irrespective of whether your file naming convention is:
- 1-Drums-Born in the USA-Bruce Springsteen-110bpm-27Feb2026.wav
- Drums_Born in the USA_Bruce Springsteen_KeyA_110bpm.mp3
or whatever, you could choose which variables to pull from the filename and map to a field, and which to ignore. If you want to 'automate' more field mappings, then you need to adjust your audio track filenaming to suit. But once you have a 'standard' defined, then you can expect consistent results.
So, let's work with 1-Drums-Born in the USA-Bruce Springsteen-110bpm-27Feb2026.wav
I choose hypen (-) as my delimeter
That will automatically present each part of the filename as a variable that I can map to a ST field.
1 | Drums | Born in the USA | Bruce Springsteen | 110bpm | 27Feb2026
var1 is 1 and I might map that to TrackNumber
var2 is Drums and I might map that to TrackName
var3 is Born in the USA and I might map that to SongName
var4 is Bruce Springsteen and I might map that to SongArtist
var5 is 110bpm and I might map that to SongBPM (yes, technically that variable will need to be trimmed to the numeric only component but I'm over-simplifying for the example)
var6 is 27Feb2026 which I don't need in ST so I just won't map that variable to any field and it will be ignored.
So part of this UI requirement would be a way to visualize the breaking up of the filename when you define a delimiter, followed by a way to map variables to fields. In my head I found myself going back to the Excel TXT/CSV import workflow (Ref: https://youtu.be/ebnNy5yEkvc?si=w-8wY20C83-uxFRr&t=85) as a simple starting point. The other inspiration is the way MP3 tag tools take file name components to map to MP3 ID3 fields or vice versa (e.g. https://www.youtube.com/watch?v=lrUAqYYUO4I).
So, I'm just presenting a VERY simple concept that I think could be the starting point for how a track import workflow/UI could be built that provides a lot of flexibility, but without too much complexity. I've skipped a lot of the detail, but given this method has worked so reliably for years (decades?) in the MP3 field/filename transform space, I don't see why it couldn't work here. Is it perfect? No. But I think it could provide most of the functionality that most people want. There will always be outliers.
Of course, for more technical folks, there can still be a lot of flexibility if you want to dig deeper.
My MP3tagging tool of choice has a large documented 'tag list' which includes a lot of dynamic modifiers, etc. https://docs.mp3tag.de/format/