My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members

SPEECH ENABLING DIALOG: BUILDING A SIMPLE SPEECH 'GUI'

Voice-dialog is a speech version of the widely used ncurses widget library, dialog. In this project, dialog has been voice enabled to work with popular speech synthesis engines such as Festival, Flite and eSpeak.

The goal of the project is to instrument intelligent speech rendering into each of the native curses-based widgets of dialog. All the components of dialog have been speech enabled except for tailbox. Michael Gorse's Emacspeak eflite server provided the original model for building a threaded speech control subsystem.

The quality of the interface still needs to be tuned to improve usability. Also work needs to be done to reduce certain artifacts of speech generation such as popping between audio segments and anomolies in waveform shaping when increasing voice speed.

However, the work so far provides enough interface power to satisfy the requirements of certain real-life installation, configuration, and information scripts. Examples include the dialog-based configuration and help scripts of the lnx-bbc Linux rescue distribution.

Once voice-dialog is launched with one of the supported widgets, the following speech-enabled audio control commands are available:

  • Control-A V will toggle volume control.
  • Control-A S will toggle speed control.
  • Control-A P will toggle pitch control.
  • Control-A R will refresh the voice screen.
  • Control-A H will announce a help message.
  • Plus ('+') will increment volume, speed, or pitch depending on mode.
  • Minus ('-') will decrement volume, speed, or pitch depending on mode.

If a .voice-dialogrc configuration file has been found in the user's home directory, then any new values given to the speech settings will be saved.

Powered by Google Project Hosting