Using ActivePrompt with Nuance voices
Last reviewed: 5/1/2010
HOW Article ID: H051002
The information in this article applies to:
- LexiconKit 3
- SpeechKit 6
- VoiceMarkupKit 3
- Chant Developer Workbench 2008
Nuance voices support tuning Text-to-Speech synthesis through Nuance ActivePrompts. Whereas L&H User Dictionaries (Lexicons) tune the input text, ActivePrompts are meant to tune the synthesis for particular text fragments.
The Nuance User's Guide and Programmer's References defines two types of ActivePrompts:
- Recorded ActivePrompts are digital audio recordings that are used as-is to construct the speech output. They are usually stored together with other recordings in a compressed database (much smaller than individual audio files), or could optionally be stored as individual WAV files.
- Tuned ActivePrompts don't store the actual audio, but rather synthesizer instructions that allow the TTS system to synthesize the prompt in the desired way. These synthesizer instructions are much smaller than the audio that will be produced.
ActivePrompts are created with the Nuance PromptSculptor product, a graphical Text-To-Speech tuning environment, and are stored in an ActivePrompt database for use during deployment.
At run-time, all ActivePrompts can be used in two different ways:
- explicitly insert prompt using the <ESC>\prompt=<prompt>\ control sequence, or
- implicitly match where ActivePrompts are automatically used whenever the input text matches the ActivePrompt text.
In VoiceMarkupKit, you can markup using Nuance Native Control Sequence syntax to explicity insert ActivePrompt in your text. Chant Developer Workbench provides an editing surface for managing markup. See Knowledge Base article Generating and Editing L&H Native Control Sequence markup language.
In SpeechKit, you can set the active prompt database the same way you set a user dictionary:
// Define the resource int resourceID = ChantTTS.DefineResource(CSRLexicon, "c:\\pathtofile\\mydatabase.dat") // Enable to activate ChantTTS.EnableResource(CSRLexicon, resourceID) // Disable to deactivate ChantTTS.DisableResource(CSRLexicon, resourceID)