The CTT Front End

The FrontEnd module does sound recording, playback, and some sound coding. It can be used either as a stand-alone java program or be built into a larger application.

The FrontEnd window looks like this:
The Front End WindowThe user can select between automatic speech detection, and push-to-talk mode with the radio buttons on the left hand side. When an application is ready to record an utterance through the front end, the Click to Talk button or speech detection status text will become enabled.

Sound Format Descriptions

The front end supports the following sound format specifications:
 
Format description
raw.<sampleRate>.8  8 bit linear sound file
raw.<sampleRate>.16.high 16 bit sound file with high order byte first (HP)
raw.<sampleRate>.16.low 16 bit sound file with high order byte first (PC)
speetures... Cepstral coefficients for speech recognition
au Sun AU-format
smp KTH "standard" SMP-format
 
Currently, not all formats are supported. For instance, the only sample rate supported everywhere is 16000 Hz.

AudioDigitizer

The FrontEnd has a class of objects called AudioDigitizer - in all current implementations there is only one AudioDigitizer, called AudioDigitzer:default. In the future, one might want to have several AudioDigitizers on one computer, if it has several sound cards or perhaps several phone lines.

The AudioDigitzer supports the following commands: 
 

recordUtterance host port format [ host port format ... ]
This records an utterance and can send it to several destinations in various formats. This can be used for instance to both do speech recognition (Sending the cepstrum coefficients to the recognizer) and save the same utterance as a file (Sending it to the FileSaver as another file format).
 
play host port format
Reads sound data in the given format from the given host and TCP port and play it.

Using the Front End from Java

The FrontEnd can also be used directly fron Java without going through the broker. This is currently done in the Mitre project, because both the application and the front end are in Washington, D.C., and the broker in Stockholm. Making the calls from the application to the frontEnd via Stockholm seemed unneccesary.

How to do this is not documented yet, see the MitreFrontEnd.java source code.