next up previous
Next: Starting network services

Network Services for the CSLU Toolkit

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

  1. SoundBlaster voice boards for x86 Solaris. Provides microphone input and speaker output.
  2. Phoneblaster telephone board for x86 Solaris. Provides telephone interface as well as microphone and speaker.
  3. Dialog DXXX telephone boards for x86 Solaris. Provides a telephony interface including voice record and playback, DTMF, and call progress.
  4. DECtalkgif TTS.
  5. Entropic's TrueTalk developer's kit.

The program ``snoopdir'' in the toolkit bin directory will display the currently running services.




next up previous
Next: Starting network services

Mark Fanty
Fri Nov 1 09:41:16 PST 1996