Skip to content

Voices

The Voices list and its four pages, what a voice and a take are, which audio is protected, what spends credits, and why a line will not voice.

All documentation — Voice and audio
On this page

The Voices section is where a project gets its sound: voice-over for every line a character speaks, and music and sound effects for the scenes around them. It has no Ctrl number; open it from the activity bar.

Voice-over has no presence on a board or a node — no row, no chip, no icon. Everything happens in this section. The one per-field setting is Spoken aloud in the node builder, which decides which text gets a voice-over take (see Translatable and spoken aloud).

The list and its four pages

The section’s list, titled Voices, is the voice library. Its title row carries four buttons — Cast · Lines · Music · Sound FX, named when you rest the pointer on them — and each opens that page as a tab beside your boards. The button whose tab is in front is lit.

WhereWhat it holdsLayout
Voices, the listThe voice library — one entry per voice, in folders. Opening one shows its design page.Each voice opens as a tab
CastEvery entity with the voice it speaks with, and the project’s pronunciation dictionaryA tab
LinesOne board at a time: every voiced line, its audio and its takes, and the bulk actionsA tab, with a board picker on its left and the lines on its right
MusicDescribe music and generate several takes at onceA tab
Sound FXThe same, for sound effectsA tab

Closing one of these tabs does not stop it: a batch of lines or takes still being generated carries on, and reopening the tab shows it where you left it.

The three voice-over places are one chain. A voice is designed in Voices, given to a character in Cast, and speaks that character’s lines in Lines. A line is always spoken by its speaker’s voice — there is no per-line voice picker. The how-to pages follow the same order: designing a voice, casting, producing the lines, working with a studio, and music and sound effects.

What counts as a line

A line is one field of one node, in one language: any Text or Rich text field marked Spoken aloud, which is on by default for both types. Turn it off on a field nobody should hear.

The line’s speaker is the node’s first Entity field. A line on a node with no Entity field has no speaker, and cannot be voiced until it has one.

A board appears on the Lines page once it holds at least one voiced line.

A voice

PartWhat it is
NameThe display name. The voice’s code is made from it when the voice is created.
ColourAssigned when the voice is created; the dot beside it in the drawer, on its page and in Cast
Who speaksThe engine that speaks this voice
How they soundThe description a voice is designed from — one for the voice itself, and one for each language cast separately
How they performSteady, Natural or Volatile, where the engine offers it
Reference takeThe audition you kept. It is what the play button in Cast sounds.
DetailsThe engine’s own controls, and a read-only record of how the voice was made

A voice that has never been auditioned or given a ready-made voice still does a job: its page reads casting only — no audio is generated for this voice, and it is the casting a studio’s recording script carries. That is a complete voice, not a broken one.

A take

Every line holds a history of takes, per language, and one of them plays.

StateWhat it meansMade by
AI draftAudio generated in TaleShardGenerate missing, Regenerate, a line’s own regenerate button, a re-cast
deliveredA file you suppliedImport recordings, Match from library, or picking a clip on the line
approvedSigned off with ApproveThe take’s own button
was approvedA signed-off take that another take has replaced as the one that playsUse or Approve on another take, a re-cast with Re-record the approved takes too ticked, or a ticked import

A line has at most one approved take; a replaced sign-off is kept, marked, rather than deleted.

Two markers sit beside the state: plays names the take the player sounds, and text changed appears when the line’s words were edited after its take was made.

An imported or attached file is never marked as AI audio, and that cannot be changed later.

What is protected

Approved and delivered audio is never touched by Generate or by a re-cast. A replaced take is not deleted either — it stays in the line’s take history.

ActionAI draftsApproved takesDelivered recordings
Generate missingLines with audio are skippedSkippedSkipped
Regenerate selected, or one line’s regenerate buttonReplaced; the old take stays in the historyLeft aloneLeft alone
Re-castReplaced in the new voiceLeft alone, unless you tick Re-record the approved takes tooNever touched, in any mode
Match from libraryLines that already have audio are skippedSkippedSkipped
Import recordingsSkipped unless you tick themSkipped unless you tick themSkipped unless you tick them
Clear boardRemovedRemovedRemoved

Clear board is the one action that reaches signed-off audio. It takes the audio off every line of the board in the language you are looking at. It is an ordinary edit, so Ctrl+Z brings it back, and the files themselves stay in Media.

Removing a single take from a line’s history removes the take, not the audio file.

Languages

A take belongs to one language. The language control in the project header decides which language the Lines page works in, which language a voice’s page edits, and which language an import fills.

There is no fallback to another language. A line with no take in the active language plays nothing, and a line not yet translated into it shows not translated rather than borrowing the original’s audio. Translation itself is Localization.

Where the audio goes

Everything this section makes or imports is an ordinary file in Media.

AudioMedia folder
Generated and re-recorded linesVoiceovers / «board name»
Imported recordingsVoiceovers / «board name»
Music takesAudio / Music
Sound FX takesAudio / Sound FX

The folders are created the first time something lands in them, and reused afterwards.

Credits

Generating audio spends credits, the same balance as every other AI action — see how credits work.

Spends creditsFree
Audition, Re-design… and a Remix — three voices for one chargeKeep this one — keeping an audition
Speak this and Hear it — charged for the audio; nothing is savedUse this voice — keeping a ready-made voice
Start from this voice — one short clip, which is keptCasting, and the pronunciation dictionary
Generate missing, Regenerate, a re-cast and its previewApprove, Use, Reopen
Suggest directionMatch from library and Import recordings
Music and Sound FX takes, and ImproveThe recording script and the AI audio report

Every button that spends shows the figure before you press it — Generate missing · ~N credits. A ~ in front means it is an estimate rather than an exact figure. Speech is charged by the length of the text, so a long line costs more than a short one.

A line or take that fails is not charged. A run you stop is charged only for the lines it had already finished. After a run, a note under the toolbar says what it spent, and each take in a line’s history shows its own cost (12 cr.).

Plans

Voice-over, music and sound effects are on every plan; credits are the meter.

The recording script export needs the Pro plan or above. Below that, its button stays visible with the plan’s badge, and pressing it explains the gate. The AI audio report beside it is free on every plan.

Hearing it in play mode

The player’s settings carry two voice-over controls, beside Text speed and Accessibility (see Player settings):

ControlWhat it does
Play voice-overOn by default. Remembered per project, in this browser — the only player setting that outlives the visit.
Volume0–100%, in steps of 5. Shown only while Play voice-over is on, and remembered on its own, so turning voice-over off and on again keeps your level.

Both are offered to a visitor on a share link as well as to the author.

Each line plays its current take in the active language. Audio never holds up the story: if a clip cannot play — it is missing, or the browser refuses to start it — the line still goes on.

Limits

LimitValueEnforced by
Takes per music or sound batchEach engine’s own maximum — the Takes control offers no moreThe server refuses a larger batch
A designing passageEach engine’s own minimum and maximum, shown as a character count under the passageThe Audition button, and the server
A music or sound descriptionEach engine’s own minimum and maximumThe server
An imported recordingYour plan’s per-file upload limit, and the project’s storageThe upload — see Media
A re-cast preview5 linesThe dialog

What breaks

A line that cannot be voiced says why on its own row in Lines, and is skipped — never sent, never charged.

On the rowWhyThe fix
not translatedThe line has no text in the active languageTranslate it, or switch language
nothing writtenThe field is emptyWrite the line
speaker not castThe speaker has no voice — or the node has no Entity field, so there is no speakerCast them in Cast, or give the node its speaker
voice missingThe speaker is cast to a voice that no longer existsCast them again
voice not mintedThe voice — or this language’s separate cast — has no audio of its own yetAudition and keep one, or pick a ready-made voice
failed — retryThe last generation of this line failed. Nothing was charged.Generate it again
text changedThe words were edited after this take was madeRegenerate it, or have it re-recorded
SituationWhat you see
A character is cast to a deleted voicevoice “«code»” is gone on their Cast row. The record is kept, not cleared, so you can see who they were.
Out of creditsInsufficient AI credits. Please purchase more credits or wait for your monthly reset.
The engine cannot speak right now«Engine» cannot speak a line right now. Pick another engine for this voice.
A line too long for the engineThat line is too long to speak.
A music or sound description out of bounds«Engine» needs a description of at least N characters, or takes a description of at most N characters
A preview the server could not renderThe preview could not be rendered. — nothing was written
Written for
Writers · Unity developers · Advanced integrators
Last updated