Consequence can automatically generate temporary voice-over using a configured Text-to-Speech provider.
TTS is generally intended for Scratch VO, allowing writers and designers to hear dialogue in game before final actor recordings are available.
Consequence Client currently supports:
Additional TTS providers can be supported upon request.
The active provider and its API credentials are configured on Consequence Client.
See Consequence Client Installation for the available TTS environment variables and provider-specific configuration.
Consequence Characters can be assigned voices for use by the configured TTS provider.
If a Character does not have a specific voice assigned, Consequence Client can fall back to the default voice configured for that provider based on the Character's gender.
This allows a project to configure its Character voices once and then request TTS without selecting a voice separately for every Line.
TTS can be requested for individual Lines from Table View or in bulk for a larger group of Lines.
For recording-session workflows, the easiest approach is to use the Recording Wizard:
TTS requests are processed by Consequence Client as part of the Submit workflow.
When Consequence Client receives a submission, it checks the submitted Lines for TTS requests.
Requested Lines are placed in a background processing queue containing the Line UID, dialogue text, selected voice, and output filename.
Consequence Client then sends the dialogue to the configured TTS provider and generates a .wav file for each processed Line.
TTS processing happens in the background, so users do not need to wait for the audio generation to finish before continuing to work in Consequence.
Consequence Client keeps track of the dialogue text and Character voice used for each queued TTS request.
A TTS request will be refreshed when appropriate, including when:
This helps prevent previously generated Scratch VO from becoming disconnected from the latest writing.
Before sending dialogue to the TTS provider, Consequence Client simplifies text that is intended for Unreal rather than spoken aloud.
For example, square-bracketed closed-caption information is removed, and supported Unreal text variables or conditional formatting are simplified so that the TTS provider receives the spoken text rather than the underlying formatting syntax.
Generated TTS files are written as .wav files and submitted to the Perforce directory configured for TTS in Consequence Client.
The TTS output directory can either be:
Using an intermediate directory allows your audio team to review or move generated files before incorporating them into the normal game-audio pipeline.
See Consequence Client Installation for the TTS directory settings.
Once generated .wav files are available in Perforce, run:
Commands → Sync Audio
Consequence Client scans the configured audio directory and associates audio with the appropriate Consequence Lines using their UIDs.
For TTS Lines being recorded as Scratch VO, this normally advances the Recording Status to Scratch VO.
The generated audio can then be previewed remotely from Consequence.
See Audio Workflow and Recording Statuses for more information.
TTS is designed to fit into the same UID-based audio pipeline as recorded dialogue, but it does not require your project to use generated voices as final production audio.
A typical workflow is:
Writing → TTS Scratch VO → In-Game Testing → Final Actor Recording
Once final recorded audio is available, the normal recording and audio-sync workflow can replace the temporary TTS audio, at which point the Recording Status should be updated to Actor VO.