Voice renditions
One spoken line can have more than one recording. The words stay the same; the voice changes. LearnBrite’s classic use is a male and a female voice track chosen by the learner’s profile, but renditions are neutral — a second casting, a calmer read for a sensitive module, whatever your scenario needs.
Your script does not change at all. You record extra takes, attach them, and choose (or let the space choose) which voice plays.
Renditions are not LearnBrite-only, by the way: the fields are ordinary custom Files fields that travel through every export, so the same attached takes reach a game engine too. What this page covers is the LearnBrite half — how they publish into a space and how the runtime picks one.
Before you start
Section titled “Before you start”You need:
- a project in LearnBrite mode, signed in through LearnBrite;
- Media attachments enabled (a Labs flag — ask your workspace admin if nodes have no Media tab);
- primary audio on your nodes — renditions are alternates to something;
- the alternate takes as files, in the same format as the primary (an
.mp3primary needs an.mp3alternate).
Step 1 — Register the rendition field
Section titled “Step 1 — Register the rendition field”In the sidebar, open Custom field templates → Dialog nodes and add a field:
- Name it —
Voice 2is the convention, but any name works:Voice - Calmreads better if that is what it is. - Set its type to Files.
- Tick voice.
That checkbox is the registration. ChatMapper never guesses that a field holds alternate audio from its name — a field is a rendition because you said so.
Step 2 — Attach the alternate takes
Section titled “Step 2 — Attach the alternate takes”Select a node and open its Media tab. Next to Audio files there is now a slot with your field’s name.
Attach one file per sentence, in the same order as the primary audio: the first alternate pairs with the first primary file, the second with the second, and so on. A node with three sentences and three primary files wants three alternates — or fewer, if some lines can fall back to the primary voice.
You do not have to cover every node. Coverage can grow one node at a time.
Step 3 — Choose who speaks with it
Section titled “Step 3 — Choose who speaks with it”In Assets → Actors, every non-player actor now has a Spoken voice selector: Primary voice, or any rendition you registered.
- Pick a rendition and that actor speaks with it in the space — for every line that has an alternate, falling back to the primary where one is missing.
- Leave it on Primary voice and the alternates are still uploaded, ready for a space script to switch at runtime. That is how the classic learner-profile setups work: the space decides per learner, not per publish.
Step 4 — Publish
Section titled “Step 4 — Publish”Publish as usual. ChatMapper uploads the alternates alongside the primaries and arranges them the way the LearnBrite runtime expects. Two rules keep this stress-free:
- A missing alternate never blocks publishing. Lines without one play the primary voice. The panel tells you exactly which lines fall back — when you check, and again after publishing. Allowed, never silent.
- A broken pairing is skipped, not deployed broken. A
.wavalternate against an.mp3primary, or an extra file with no primary to pair with, is reported and left out.
Then run the listening loop in Hearing it in the space once — five minutes, and the only proof that counts.
Renditions in more than one language
Section titled “Renditions in more than one language”Localised audio and renditions are two independent choices: the learner’s language picks which recording set, the voice picks which take of it.
audio_speech_eson a node carries the Spanish recording (register it as a Files field; no voice tick — it is a primary, not an alternate).Voice 2 escarries the Spanish alternate takes (register as Files, tick voice). The locale suffix is what pairs it to the Spanish lane.
The same Spoken voice choice then works across languages: a Spanish learner with Voice 2 hears the Spanish alternate.
When something is wrong
Section titled “When something is wrong”| Symptom | Likely cause |
|---|---|
| The alternate never plays | The actor’s Spoken voice is on Primary voice, or the publish happened before you switched it — check the deployed version and republish. |
| Some lines switch voice, others do not | Those lines have no alternate and are falling back — the publish result lists every one. |
| A file you attached was not published | Format mismatch with the primary, or it had no primary file to pair with. The publish warnings name it. |
| The panel warns about a folder “not published by this project” | The actor’s voice field holds a value from an old Desktop package (such as female/). It only works if the space still holds those files; pick a registered rendition instead. |
| Everything is silent | Not a rendition problem — see testing and the audio-unlock gate. |