Jacques de Villiers and Mark Fanty
Center for Spoken Language Understanding ()
Oregon Graduate Institute of Science & Technology
November 1, 1996
There are basically two kinds of toolkit applications: those written in C which link with the toolkit C libraries; those written in CSLUsh (Tcl) which load toolkit packages which dynamically load the same C libraries (this includes CSLUrp applications). Both kinds of applications may need to connect to external servers, especially for live applications which require an interface to a telephone board or microphone and speakers, and text-to-speech (TTS). Both IO and TTS are provided via a client/server interface. This was done because both IO (especially telephone) and TTS tend to be localized in a research computing environment. For example, only a few machines may have a telephone interface. It would be unfortunate if all telephone applications had to run on those few machines. Instead a telephone server runs on every machine with a telephone board. Applications which wish to use the telephone line use the server and send all the speech over the network.
Similarly, TTS engines are usually commercial products which may run on only a subset of the research platforms at a site. By connecting to TTS with a server, any machine on the network has access to TTS. Because TTS engines from different vendors have different command interfaces, we have defined a generic interface so that applications can transparently switch TTS engines. Inside the server, there is a translation from the generic commands to the appropriate vendor commands.
To make it easy for applications to connect to the necessary servers, we have included a ``master'' server which provides a directory of available servers and their status. So if your application wanted to use TTS, it would first contact the directory server and ask for available TTS servers (optionally giving desired properties such as vendor). The directory server returns the necessary address information and the application contacts the appropriate TTS server.
As of this writing, the list of available servers is
TTS.