Why Is File Naming a Problem in Music Production?
Direct answer: File naming breaks down because a convention only governs the files you create yourself. Everything arriving from a DAW, a collaborator or a library follows someone else’s rules, or none. So the practical problem is not writing a better convention — it is reading names that were never going to follow one, and knowing when a guess is unsafe.
Why does a convention stop working the moment a file arrives from someone else?
A naming convention is a rule you follow, not a rule anything enforces. No filesystem rejects a badly named file. No DAW refuses to bounce one. The convention lives entirely in your discipline, which means it fails in three places at once:
- Your own tools rewrite names after you set them. Timestamps, revision suffixes and duplicate markers get appended at save or bounce time, after your convention has already been applied.
- Other people’s conventions arrive with their files. A library ships its catalogue codes. A publisher ships cue-type abbreviations. Neither is wrong — they are just not yours.
- Some files are named before there is anything to name.
bounce_03.wavis not a convention failure. It is a file that existed before the decision did.
The weight this puts on a filename is easy to underestimate. Kora’s 19-DAW registry does file interop by filename only, plus a launcher — it never opens or parses a project file. Most tooling around a DAW is in the same position: the filename is not a description of the work, it is the only interface to it.
Seven real filenames, seven ways a convention fails
These are cases from the parser’s test suite. Each row is a different reason discipline alone does not get you there.
| Real filename | What it actually is | The failure a convention cannot fix |
|---|---|---|
Alex Rivera_148 BPM_Outside_2025 [2025-09-23 180948].als | Outside | The tool edited the name after you named it — bracketed timestamp, artist prefix, BPM, year |
Main Title (Epic Orchestral) - revB.ptx | Main Title | A descriptor sits where a title looks like it should be; it is mood, not name |
Get Up and Ready_mix.master.final.v3.wav | Get Up and Ready | The name contradicts itself — two mix tags and two version tags. Classified altMix |
Camille Beatriz_136 bpm_D minor_Follow My Lead.wav | Follow My Lead | ”lead” is a word in the title and a stem name. Ambiguity is in the language, not the rule |
KORA_CB_104_Lollipop-02.wav | Lollipop | The file obeys a convention — someone else’s library prefix scheme |
TonalChaos_SDX_Thunder Hit.wav | Thunder Hit | SDX is a cue type. Conventions assume a shared vocabulary you may not have |
Untitled.als · bounce_03.wav · final_final.wav | none — classified junk | No convention is applied at 2am. These will not auto-create anything |
That last row decides whether a system is usable. final_final.wav exists in every working session, and software that confidently creates a project called “final final” has made your library worse. The parser classifies each span as bpm, key, version, cueType, genre, stem, artist, publisher, title or noise, and the file itself as master, altMix, stem, junk or artifact. 210 curated fixtures hold those behaviours in place end to end.
When is a machine allowed to act on what it thinks a file is?
Parsing produces a confidence score, but one score does not unlock every action. The bar rises with how expensive the mistake would be.
| Decision | Confidence required | Why the bar sits there |
|---|---|---|
| Treat a parsed title as reliable | ≥ 0.55 — or ≥ 0.45 with two or more tokens, or ≥ 0.4 for a single token of six-plus characters | A title is a label you can see and correct in the interface |
| Auto-create a project | 0.55 | A spurious project is visible and cheap to delete |
| Auto-create an album | 0.70 | An album is a container that other records then get filed into |
| Match two files as duplicates | 0.88 | Merging collapses two things into one |
| Auto-resolve a contact | 0.96 | This is the error that leaves your machine — you discover it after sending |
Below the title threshold the parser runs a nine-step fallback chain first, and only then marks the file needsUserClarification, records a parse issue (capped at 200) and shows “{n} file(s) need naming clarification. Open Watch Folders to resolve.” Nothing is created from it.
Where does template-based naming stop helping?
Templates fix the half you control. The export filename template takes 19 tokens plus {mixTypeFolder}, defaulting to {album}_{track}_{mixType}_{composer} with a folder recipe of Deliverables/{album}/{date}/{intent}/{mixTypeFolder}. Per-contact profiles override the template, folder recipe and format for a given client. Preflight catches duplicate outputs and illegal characters before anything is sent.
Three honest limits sit alongside that:
Kora does not police inbound naming. Per-contact templates shape what you send. There is no check that a file you received matches a client’s convention. If you want a tool that flags “this does not match Client X’s spec on arrival”, that does not exist here today.
Refusing to guess creates a queue. Every file under threshold becomes something you have to look at. That is a deliberate trade — a system that always guesses has no queue and more wrong links — but it is still work, and on a large backlog it is noticeable.
The filename is currently carrying more than it should. Export Flow’s audio-processing engine ships disabled: no format conversion, loudness analysis, metadata embedding or MP3 rendering, with an in-app notice reading “Enhanced Export Flow is coming soon.” Naming templates, folder recipes, parsing, checklists and preflight all work today. Until embedding lands, the filename and folder path are where the identifying information actually lives.
Sometimes a different tool is the right answer. If your shared folder is on a NAS or network volume, Kora will not watch it — there is no mount-state detection. If the real problem is two people overwriting each other, Dropbox and Google Drive version files properly; they just do not model a deliverable, a metadata spec or an approval state. For cataloguing and sending listening links, DISCO is built for that. Notion, Airtable, Trello and Asana have no concept of a stem, mix type, key or BPM, and no filesystem awareness — a file appears because a human uploaded it. That is the structural line: Kora links a bounce in roughly 1.34–3.1 seconds because it watches FSEvents, which a database cannot do at any price.
Frequently asked
Can Kora tell me when a file I received breaks a client’s naming convention?
No. Per-contact profiles apply to files Kora generates, and preflight validates outgoing names against that profile’s own requirements. Inbound filenames are parsed, not policed.
What happens to a file Kora cannot name confidently?
It runs a nine-step fallback chain, then marks the file needsUserClarification, records a parse issue and surfaces it for review. No project, album or contact link is created from a low-confidence name.
Does a naming convention still help if software parses names anyway?
Yes — on outgoing files, where you control the output. Templates make deliverable names deterministic and repeatable per client. Parsing exists for the half of your library you were never going to control.
Will this work on a shared network drive?
No. Network volumes and NAS are not supported and there is no mount-state detection. Watch folders need local paths. iCloud is handled explicitly via a canonical path and registered alias; external drives get guidance only.
Related answers
- Naming engine and filename parser
- What are Watch Folders?
- How do I manage stems, versions and revisions?
- What is Export Flow for music delivery?
- Why are music workflows broken?