Speech Synthesis Communicator Message Set

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.



Usage
 
 

Command Line
 
 

Default Port

15570

Command Line Arguments

None


Message Set


reinitialize: sets up the connection to the speech synthesizer.
 
 
Parameter
Type
Optional
Depends on
Description / Constraints
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.
 
 
Parameter
Type
Optional
Depends on
Description / Constraints
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.
 
 
Parameter
Type
Optional
Depends on
Description / Constraints
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.
 
 
Parameter
Type
Optional
Depends on
Description / Constraints
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.
 
 
Parameter
Type
Optional
Depends on
Description / Constraints
           

Resume:  This message resumes a synthesizer that is currently paused (see the Pause message).
 
 
Parameter
Type
Optional
Depends on
Description / Constraints
         

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.
 
 
Parameter
Type
Optional
Depends on
Description / Constraints
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.
 
 
Parameter
Type
Optional
Depends on
Description / Constraints
IN: :word GAL_STRING      The word (and associated) pronunciation to remove.

Set_Voice:  The message specifies the voice model for the synthesizer to use.
 
 
Parameter
Type
Optional
Depends on
Description / Constraints
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.)
 
 
Parameter
Type
Optional
Depends on
Description / Constraints
IN: :text GAL_STRING      The message to synthesize.


Messages Issued
 
 

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 ... }
 
Parameter
Type
Optional
Depends on
Description / Constraints
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 ... }
 
 
Parameter
Type
Optional
Depends on
Description / Constraints
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 ... }
 
 
Parameter
Type
Optional
Depends on
Description / Constraints
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 ... }
 
 
Parameter
Type
Optional
Depends on
Description / Constraints
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 ... }
 
 
Parameter
Type
Optional
Depends on
Description / Constraints
OUT: :position  GAL_INT     The word position of the current text-to-speech utterance.


Please send comments and suggestions to: bugs-darpacomm@linus.mitre.org
Last updated July 3, 2000.

Copyright (c) 2000
The MITRE Corporation
ALL RIGHTS RESERVED