Speech dispatcher

From ArchWiki

Speech Dispatcher is a device independent layer for speech synthesis that provides a common easy to use interface for both client applications (programs that want to speak) and for software synthesizers (programs actually able to convert text to speech).

It is a part of the Free(b)soft project, which is intended to allow blind and visually impaired people to work with computer and Internet based on free software.


Install the speech-dispatcher package. If you wish to allow Festival to interact with it then you should also install festival-freebsoft-utilsAUR as well.

Pied (which can be installed via Flatpak) uses Piper (a neural text to speech system) as a speech dispatcher. Pied is a great alternative if Festival seems too robotic.


The main configuration file is located at /etc/speech-dispatcher/speechd.conf however speech-dispatcher is usually run on a per user basis to allow for multiple users to have differing preferences. User configuration files are stored at ~/.config/speech-dispatcher/. There is also support to allow different speech synthesis engine clients to have their own configurations too.

Use the included spd-conf tool to change configuration options. By default it will run in interactive mode and ask you a series of questions in order to generate the type of file you require. It is recommended that you create a per user configuration unless you are absolutely sure you will be the only user. Altering the system configuration requires root permissions.

Basic configuration

To use interactive mode and answer questions about what you need run the following:

$ spd-conf

To create a per user configuration run the following:

$ spd-conf -uc

To edit the system wide configuration file run the following:

# spd-conf -C

Festival specific

The factual accuracy of this article or section is disputed.

Reason: From testing it appears as though this step is unnecessary, as long as Festival is running as a server speech-dispatcher seems to work without this edit. (Discuss in Talk:Speech dispatcher)

If you intend to use Festival as your speech synthesis engine then you should also do the following:

$ $EDITOR ~/.config/speech-dispatcher/speechd.conf

Find and uncomment (by removing the # from in front of it) the line:

#AddModule "festival"

Then save the file.


Using speech-dispatcher directly is not a common scenario as its intended to provide an access layer to other speech synthesis engines, that said you can interact with it directly by using the included spd-say binary as follows:

$ spd-say "Arch Linux is the best"



Speech-dispatcher writes very little to the system journal, however it does write useful information to its own logs. You can find the location of these in the output of this command:

$ /usr/bin/speech-dispatcher -l 3

Spd-conf tests

spd-conf contains a routine to test the operation of speech-dispatcher, you can run it with the following command:

$ spd-conf -d

Or use the following to get a very verbose log dump:

$ spd-conf -D

Other tests are available, for example testing Alsa, PulseAudio and Festival, to see a full list of available options run the following:

$ spd-conf --help

Most of the available tests will run as part of the test routine.

Speech-dispatcher fails to start

The tests above won't work if speech-dispatcher fails to start. If you want more information than is in the logs you can attempt to start the server like this:

$ /usr/bin/speech-dispatcher -l 3

This will output information about the startup process to the terminal.

Using TTS causes the dummy output module to speak an error message

This article or section needs expansion.

Reason: Its probably possible to automate this using a systemd service file (Discuss in Talk:Speech dispatcher)

This happens when speech dispatcher cannot connect to the speech synthesis engine. If you are using Festival then it needs to be running as a server, this can be achieved with the following command:

$ festival --server &

See also