Skip to content

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.

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 .mp3 primary needs an .mp3 alternate).

In the sidebar, open Custom field templates → Dialog nodes and add a field:

  1. Name it — Voice 2 is the convention, but any name works: Voice - Calm reads better if that is what it is.
  2. Set its type to Files.
  3. 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.

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.

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.

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 .wav alternate against an .mp3 primary, 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.

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_es on a node carries the Spanish recording (register it as a Files field; no voice tick — it is a primary, not an alternate).
  • Voice 2 es carries 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.

SymptomLikely cause
The alternate never playsThe 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 notThose lines have no alternate and are falling back — the publish result lists every one.
A file you attached was not publishedFormat 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 silentNot a rendition problem — see testing and the audio-unlock gate.