turbolift: an application server for voice powered computing
Download Turbolift v2.0Browse Turbolift Package ContentsGetting startedDeveloping wi1th Turbolift

About Turbolift

Turbolift is a lightweight application server intended to make the creation of applications which employ speech recognition and/or speech synthesis at least as easy to develop and maintain as applications using conventional input/output methods, if not more so. Turbolift is coded in Python, and is designed from the ground up to be highly modular and extensible.

An overview of Turbolift's architecture

The Turbolift application is built on a server/client model, using TCP sockets for communication between components. The server component , (select_ports.py) acts as a router, moving messages between connected clients. No actual processing of data is done on the server side.

Clients connected to the server can take two forms: Provider modules provide some sort of service within the application to consumer modules. This service can take many forms. In this version of Turbolift, the following provider modules exist: Consumer modules take advantage of the services in provider modules, but usually do not provide a service that other modules can directly take advantage of. For instance, the mp3_module.py module, which allows MP3 selection and play in this version, uses the services of the two Provider modules above, in order to recognize commands, synthesize speech, and display song names and information on the LCD.

At a high level, a typical Turbolift installation looks like this when running:

Turbolift functional schematic

Last modified: Fri Apr 15 08:49:03 PDT 2005