The Speech Synthesizer Message Set defines the Hub message for text-to-speech usage. The message set consists of messages to send to a server that contains a text-to-speech engine.
The Hub uses speech synthesis engines that support SAPI and JSAPI message as defined in the speech synthesis standards. Message wrappers translate the Hub messages into JASPER and SAPI messages. The speech synthesis JSAPI implementation describes the features of the speech synthesizer could be supported by a JSAPI implementation using IBM Via Voice.
If other speech synthesis message sets need to be supported by the Hub, please send a message to the MITRE Communicator team at bugs-darpacomm@linus.mitre.org.
This Speech Synthesis Message set is part of the Speech
Message Set.
Command Line
Default Port
15570
Command Line Arguments
None
reinitialize: sets up the connection
to the speech synthesizer.
|
|
|
|
|
|
IN: | :audio_destination_type | GAL_STRING | Describes where the output is going to: <"brokering"| "file" | "speaker" | "telephone" > | ||
audio_destination_param | GAL_STRING | audio_destination_type | The name of file or port number (for brokering, speaker, or telephone) to use. | ||
:average_speaking_speed | GAL_INT | yes | Sets the average words per minute for the synthesis engine. | ||
:phoneme_translation_file | GAL_STRING | yes | Name of the file that contains the grammar for the synthesizer to use. For example, in SAPI the contains are word phonetic translation table, while in JSAPI file contents is the grammar written the Java Speech Markup Language (JSML). | ||
:pitch | GAL_FLOAT | yes | Sets the average speaking rate for the synthesis engine. | ||
:real_time_setting | GAL_FLOAT | yes | A value that indicates how close to real time the synthesis process should take, where a value of 1.0 indicates real time. Value is between zero and one. | ||
:volume | GAL_FLOAT | yes | Sets the volume level for the recognizer. Value is between zero and one. |
Configure: This message defines
that type of type of messages to expect from the synthesis server.
By enabling one of these values, the synthesizer issues issue a corresponding
message.
|
|
|
|
|
|
IN: | :current_byte | boolean | yes | A value of true causes the synthesizer to issue the Current_Byte message to indicate the current byte of the audio stream the synthesizer is processing. | |
:marker | GAL_STRING | yes | :notify_status | Defines the symbol for the synthesizer to issue the Marker_Reached message which indicates where the synthesizer is in the generation of the spoken utterance. Note that that the :notify_status must be true to receive the Marker_Reached message notifications. | |
:notify_attribute_changes | boolean | yes | A value of true causes the synthesizer to issue the Attribute_Changed message when an internal attribute value changes. | ||
:notify_status | boolean | yes | A value of true causes the synthesizer to send Synthesize Event Message indicating different synthesis events. (Default value is true.) | ||
:notify_word_position | boolean | yes | A value of true causes the synthesis to issue the Word_Position message that indicates the current word position of the audio stream being synthesized. |
Get_Voice: This message causes
the synthesis process to indicate the current voice models.
|
|
|
|
|
|
OUT: | :default_voice | GAL_STRING | The name of the default voice model for the synthesize to use. | ||
:voice_tags | GAL_LIST | * | A list of tags that the synthesizes uses to generate different voices. | ||
:voice_names | GAL_LIST | * | :voice_tags | A list of names that corresponds to each voice_tag entry. |
Get_Word_Pronunciation:
This causes the synthesizer to return the phonetic string of a given word.
|
|
|
|
|
|
IN: | :word | GAL_STRING | The word to determine a given phonetic sequence. | ||
OUT: | :phone_sequence | GAL_STRING | The phone sequence of the given word. |
Pause: This message pauses the synthesis
process until the Resume message is issued.
It is possible that some text message will be lost when the synthesizer
is in a paused state.
|
|
|
|
|
|
Resume: This message resumes a synthesizer
that is currently paused (see the Pause message).
|
|
|
|
|
|
Pronunciation: This message
defines how the synthesis is to define the phone string to pronounce certain
words. This message can be used to modify the pronunciation of an
existing word or to add a new word.
|
|
|
|
|
|
IN: | :words | GAL_LIST | A list of words. | ||
:phones | GAL_LIST | A list of phonetic strings to use to pronounce the corresponding word. |
Remove_Word: The message removes
the word and its pronunciation from the synthesis process.
|
|
|
|
|
|
IN: | :word | GAL_STRING | The word (and associated) pronunciation to remove. |
Set_Voice: The message specifies
the voice model for the synthesizer to use.
|
|
|
|
|
|
IN: | :voice_default_name | GAL_STRING | A string that identifies the default voice model to use. | ||
:voice_tags | GAL_LIST | * | An list of voice tags for synthesizer to use. | ||
:voice_names | GAL_LIST | * | :voice_tags | A list of voice names that corresponds to each voice_tags. |
Speak: The message causes the synthesize
to output the given text. (The text may contain marker characters
to receive notifications.)
|
|
|
|
|
|
IN: | :text | GAL_STRING | The message to synthesize. |
The synthesizer issues the following messages to the Hub:.
Attribute_Changed: The
synthesis process issues this message when a request has been made
using the Configure message to receive notification
of when certain attributes change their value. The actual name of
the attribute depends on the implementation of the synthesis process.
{c Attribute_Changed ... }
|
|
|
|
|
|
OUT: | :attribute_name | GAL_STRING | The name of attribute. | ||
:attribute_value_new | GAL_STRING | The value of the attribute. | |||
:attribute_value_old | GAL_STRING | The previous value of the attribute. |
Current_Byte: The synthesis process issues this message when a request has been made using the Configure message to receive notification the current byte of audio stream being processed. The frequency of this message depends on the synthesizer.
{c Current_Byte ... }
|
|
|
|
|
|
OUT: | :current_byte | GAL_INT | The current audio byte being processed within the synthesizer. |
Marker_Reached: The synthesis process issues this message when a request has been made using the Configure message to receive notification the when a certain marker appears in the text stream.
{c Marker_Reached ... }
|
|
|
|
|
|
OUT: | :marker | GAL_STRING | The marker found in the text string. |
Synthesis_Event: The synthesis process issues this message when an event unique to the synthesizer after the notify_status parameter has been enabled by the Configure message. The actual parameter of the event_name depends on the synthesizer. For example, a SAPI synthesizer sends events for reaching markers (bookmarks), audio begin, and audio end. A JSAPI recognizer generates similar events for encountering a marker in the text and for beginning and ending of the text-to-speech generation.
{c Synthesis_Event ... }
|
|
|
|
|
|
OUT: | :event_name | GAL_STRING | The value describes the type of event and depends on the synthesizer being used. |
Word_Position: The synthesis process issues this message when a request has been made using the Configure message to receive notification of the current word position in the text-to-speech generation process.
{c Word_Position ... }
|
|
|
|
|
|
OUT: | :position | GAL_INT | The word position of the current text-to-speech utterance. |
Copyright (c) 2000
The MITRE
Corporation
ALL RIGHTS RESERVED