Output Side

Speechd provides a simple and transparent interface for output drivers. Each output driver allows to use one speech synthesizer with speechd. Output driver is implemented as a shared library, which uses the common API, to communicate with speechd. Output driver is called "output module" or simply just the module.

API for Output Modules

Multiple Output Modules

Speechd is enabled to use multiple output mudules, each one for particular speech synthesizer. It must be possible, to configure the server, to use different output devices for different clients (client identifies itself to the server by name).

Output device selection should be also configurable with respect to device capabilities (such as supported languages), however we have currently no idea how to solve this...

This implyes the solution with independent message queues for each of the output devices. The advantage is in non blocking operation of each output device.

Configuration

Speechd allows to be configured for multiple output speech synthesizers.