How to Name and Organize Game Voice Line Files

August 6, 2026

Name every game voice line with a pattern like guard_market_012_greeting_a.mp3: who speaks, where the line lives, a stable number, and a variant letter. Decide that pattern before you generate a single file, because renaming 200 clips after your engine already references them is the expensive version of this job. In AudioProducer the practical shape is one voice line per chapter, since a chapter is what renders to a single MP3 and downloads on its own.

This is the game version of the problem. If you are shipping a retail audiobook instead, the conventions are different and we covered them in how to name and organize your audiobook files.

A scheme that survives contact with an engine

Four parts, joined by underscores, all lowercase:

  • character: guard, mira, narrator. Short and permanent.
  • scene or system: market, tutorial, combat. Where the line plays.
  • id: a zero-padded number, 012. Pad to three digits from the first file, because a project that mixes 99 and 100 sorts wrong in most file browsers.
  • variant: a, b, c for the alternate takes of one bark.

Lowercase matters because some build pipelines treat Guard and guard as two different assets. Skip spaces, apostrophes, colons, and slashes; stick to letters, numbers, hyphens, and underscores. The number is the part that has to be stable forever. Once your engine looks up guard_market_012, that string is a contract, and shifting it because you inserted a line earlier in the scene breaks every reference pointing at it.

Keep a dialogue table as the source of truth

A spreadsheet is fine. One row per line, with columns for line_id, character, scene, the written text, the delivery note, and a status column you flip when the audio exists. That table is the thing you edit and hand to a writer; the MP3s are a build artifact you can regenerate any time from it.

The payoff shows up when a designer asks what the guard says when you steal from the market stall. You answer from the sheet in a second, without opening an audio folder or scrubbing through clips. It also gives you a real answer to how many lines you actually need, which we wrote about in how many voice lines does an indie game need.

In AudioProducer, one voice line is one chapter

Here is the mechanic to plan around. AudioProducer generates a whole chapter to a single MP3, and each chapter can be downloaded as its own file. There is no per-line exporter and no bulk per-line download. A game needs one file per line, so the working setup is to make each voice line its own chapter, then download chapter by chapter.

That is real work, and worth knowing before file 40. A 200-line script means 200 chapters. Two things reduce the count honestly. Group barks that always play as a set into one chapter when your engine can play a single clip and pick a random offset. And keep genuinely long content, like a codex entry or an intro monologue, as one chapter, because that is exactly what the chapter unit is good at.

Getting the script in is paste or EPUB import. Assign a voice per character, tag each line with its speaker, and set the per-line emotion where delivery matters. The same flow is walked through end to end in how to voice NPCs in your indie game.

What the file is called in the project, and what it is called on disk

Name each chapter with its line id, guard_market_012_greeting_a, so the identifier travels with the line while you are working. In the editor you then find any line by searching the id from your sheet.

Do not assume the downloaded file arrives with exactly that string. Download one chapter early, look at what lands in your downloads folder, and decide right then whether you need a normalizing pass. If you do, a single loop handles it before anything reaches your project:

  • mv "Guard Market 012.mp3" guard_market_012_greeting_a.mp3

Run that rename in a staging folder, never in the folder your engine imports from.

Folders per character or per scene

Per scene works better for a story game where you build and test one area at a time; everything for the market is in one place when you are wiring the market. Per character works better for a game that leans on barks, because you generate and re-generate a whole character's set together.

The one you regret is per character on a narrative game, since a single scene ends up scattered across eight folders and you are cross-referencing while debugging. Note that AudioProducer's character folders are an editor feature for grouping characters, which keeps a large cast scannable while you assign voices; they are not folders on your disk.

Re-renders, and the 200 files you already named badly

The scheme earns its keep on the day one line changes. Edit the text in that chapter, regenerate, download, and drop the file over the old one. The id did not move, so nothing in the engine has to be rewired and no other file is touched. Compare that to a folder of final_v2_NEW.mp3, where finding the current take is its own task.

If you already have the badly named folder, do not rename in place. Build the table first: one row per existing file, with a column for the old filename and a column for the new id. Then copy, do not move, into a fresh folder under the new names, and keep the mapping file in version control. When something turns up missing three weeks later, the mapping is what tells you which old clip it was. Retiring a line means marking it retired in the table and leaving the number burned, because reusing an id is how a guard ends up saying a shopkeeper's line.

You can try the chapter-per-line setup on the free tier, which covers 1,200 words with no card. Paid plans start from $39.99 per month. AudioProducer exports MP3s and stops there; everything past the download, including engine import, is your own pipeline. If you need a cinematic cut of the same voices, how to make a game trailer voiceover with AI covers that path, and how to add voice acting to a visual novel and how to add voices to a Twine interactive fiction game cover the dialogue-heavy cases where scene folders pay off most.

Frequently asked questions

Can I export each voice line as its own file in AudioProducer?
Not as a per-line export. The export unit is the chapter: one-button generation renders a whole chapter to a single MP3, and each chapter downloads as its own file. For a game, make each voice line (or a tight group of barks that always play together) its own chapter, then download chapter by chapter.
What naming convention should I use for game voice lines?
Use character_scene_id_variant, all lowercase, joined by underscores, with the number zero-padded to three digits: guard_market_012_greeting_a.mp3. Keep the id stable forever once your engine references it, and avoid spaces, apostrophes, colons, and slashes.
Should I organize voice files by character or by scene?
Per scene works better for a narrative game, because everything for one area sits together while you build and test it. Per character works better for a bark-heavy game, since you regenerate a whole character's set at once. Pick one and apply it to every file. Note that AudioProducer's character folders group characters in the editor and are not folders on your disk.

Related posts