The MITRE Festival server provides a Communicator-compliant interface to Festival. We've tested this server with version 1.4.1.
% $FESTIVAL_BIN/festival --serverBy default, the Festival server listens on port 1314, and the MITRE Festival interface uses that port by default to contact it.
static char *oas[] = {This server also accepts the standard server arguments. See the command-line argument parsing library in the Galaxy Communicator documentation for details.
"-tts_host host", "host where the festival server (festival -server) is running (default: localhost)", FESTIVAL_DEFAULT_SERVER_HOST,
"-tts_port port", "port on which festival server is running", NULL,
"-text_mode mode", "Text mode used by festival (default: fundamental)", FESTIVAL_DEFAULT_TEXT_MODE,
NULL
};
speak_output
takes a string and produces a waveform, and notifies the audio server of
incoming audio.
parameter | type | optional | depends on | description/constraints | |
IN: | :reply_string | string | string to be synthesized | ||
:session_id | string | yes | if session IDs are being used, this should be the session ID of the current session |
This message returns a frame.
reinitialize
sets up the TrueTalk server for the connection.
parameter | type | optional | depends on | description/constraints | |
IN: | :encoding | string | yes | encoding for the audio. Legal values are linear16 (16 bit PCM) or mulaw255 (8 bit mu-law). Defaults to 8-bit mu-law. The encoding names are used for consistency with the MIT audio device message handle_synth_data. |
CAUTION. Although this server is configured to handle both possible encodings, at the moment only 16 bit PCM is working.
{c synthesisThe broker server accepts either GAL_BINARY (for 8-bit mulaw) or GAL_INT_16 (for 16 bit PCM) data, as well as the following control messages of type GAL_STRING, following the MIT audio playbox control protocol:
:broker_port <integer>
:call_id <string: broker connection ID>
:synth_host <string: current host>
:synth_port <integer: value of :broker_port>
:sample_rate 8000
:encoding_format [ linear16 | mulaw255 ]
}