NAME

festtcl -
Festival Text-to-Speech Interface

SYNOPSIS

package require Tcl 
package require festtcl  ? 1.0 ? 
::festtcl::saytext text
::festtcl::text2wave text  ? samplerate ? 
::festtcl::text2file text filename  ? samplerate ? 
::festtcl::setserver host  ? port ? 
::festtcl::voices 
::festtcl::defaultvoices 
::festtcl::setvoice voicename
::festtcl::setduration duration-spec
::festtcl::setvolume volume-spec

DESCRIPTION

This package provides an interface to the Festival Text-to-Speech server.

::festtcl::saytext text
Synthesizes the text and outputs the sound via the Festival server. The Festival server must be configured to output the sound on the desired audio device.
::festtcl::text2wave text ? samplerate ?
Synthesizes the text and return the waveform as a binary string in WAV format. The default sample rate is 8000 Hz.
::festtcl::text2file text filename ? samplerate ?
Synthesizes the text and write the waveform to a file. The file format is of type WAV. The default sample rate is 8000 Hz.
::festtcl::setserver host ? port ?
Sets the server and port of the festival server to use. By default, the server is assumed to be running on the localhost, at port 1314. Server connections are established and released during festtcl commands.
::festtcl::voices
Return a list of known voices supported by the Festival server as a list of lang voicename sublist pairs. Not all voices returned may be able to synthesize text.
::festtcl::defaultvoices
Return a list of default voices by priority. The first voice that actually works is used as the default voice by the Festival server. Unlike ::festtcl::voices, the language specification is not returned.
::festtcl::setvoice voicename
Sets the voice to use for the generated speech. If the voice is not available, an error is raised. The voicename may either be a simple voice name, or a two element list of language voicename (as returned from the ::festtcl::voices command.)
::festtcl::setduration duration-spec
Sets the duration of speech, either a keyword from the list below, or a floating point number.
duration-spec:
fastest
faster
fast
normal
slow
slower
slowest

If the duration-spec is a floating point number, the normal duration (the default) is 1.0, slower rate speech is less than 1.0, faster rates are greater than 1.0. Any other duration-spec that is not a floating point number or from the list above sets the volume as normal. Not all festival voices may respond to the duration setting.
::festtcl::setvolume volume-spec
Sets the volume of speech, either a keyword from the list below, or a floating point number.
volume-spec:
loudest
louder
loud
normal
quiet
quieter
quietest

If the volume-spec is a floating point number, the normal volume (the default) is 1.0, quieter volume speech is less than 1.0, louder volume is greater than 1.0. Any other volume-spec that is not a floating point number or from the list above sets the volume as normal. Not all festival voices may respond to the volume setting.

NOTES

The Festival server must have been previously started before using festtcl (command "festival_server"). Festival employs an access control list of machines that are able to connect to it. When running a Festival server on a remote machine, be sure to allow access from your local machine.

SEE ALSO

Festival

Festival is available at http://www.cstr.ed.ac.uk/projects/festival/ and http://www.speech.cs.cmu.edu/festival/. Additional Festival voices can be found at:

http://www.cslu.ogi.edu/tts/download/index.html
http://hts.ics.nitech.ac.jp/
http://www.festvox.org/cmu_arctic/index.html
http://tcts.fpms.ac.be/synthesis/mbrola.html

Snack

The Tcl Snack extension http://www.speech.kth.se/snack/ is useful for manipulating WAV sound data, and outputing the sound on the local machine, when the Festival server is running on a non-local machine.

Sox

Sox ("Sound eXchange") http://sox.sourceforge.net command suite are command-line tools for audio format manipulation, and includes a simple sound player ("play").

AUTHOR

Tom Poindexter <tpoindex@nyx.net>, Denver, Colorado. Released under BSD style license, see the file LICENSE.TXT.