IRC text to speech using the Festival Speech Synthesis System

© Gareth Watts, December 1998


ircspeak is a small Perl script designed to be used with sirc to act as a bridge between it and the Festival Speech Synthesis System.
Using it allows you to listen to IRC conversations rather than just reading them. This turns out to be quite useful if you want to get on with something else whilst IRC'ing.

sirc is a powerful, fast and programmable IRC client written in Perl and C for UNIX systems. Other frontends are available for it, including ksirc, which provides a neat KDE interface.

The script has been tested using Linux, but it should work on any system that supports Festival and sirc.


December 26th 1998 - v0.2 released.
See the top part of the script for a complete list of changes.

Darxus has written a similar script for Irc II available here .

Bits to download

You need:
  1. Either sirc or ksirc
  2. The Festival Speech Synthesis System. Pre-compiled binaries are available for some platforms, but it compiles easily enough anyway.
  3. The script
  4. An empty yoghurt pot
  5. Double sided sticky tape

Putting it all together

Follow the respective instructions for installing Festival and sirc. You may want to try the different voices available for Festival since the quality varies quite a bit between them. Some of them are quite sizeable downloads, but it's worth it :-)

Edit the script in a text editor and make sure that the $festival and $self variables are set correctly for your system and that the path to the Perl interpreter is correct on the first line.

Create or edit your .sircrc file in your home directory and add one line to it:
load ~/
Obviously change ~/ to wherever the script it installed on your system.

Fire up sirc and connect to your favourite channel. Don't pick one which is too busy else you will probably find that the synthesiser falls behind.

Use the /speechon command to start the synthesiser and /speechoff to turn it off again.

That's it! Assuming that you've already verified that Festival works, you should now be hearing all of your net-friends talking to you, sounding almost exactly as they would in real life given a suitably large quantity of illicit material to consume :->

Advanced users guide

(or "good grief, doesn't it do anything else?")

You can control the quantity of speech output by giving a series of letters to the /speechon command. For example "/speechon ac" will only convert public chat and actions in the current channel to speech. "/speechon acp" will also speak any private messages sent to you to speech.

/speechon options:

Further details can be found by typing "/help speechon" from sirc.

There is also a "/speak <text>" command which will just speak whatever you type as <text>

Abbreviation translator

If you open in your text editor again, you'll see that there is a list of word substitutions near the top. IRC abounds with abbreviations like brb, imho, thx, etc which really doesn't make much sense if spoken literally. This list just expands some of those abbreviations. Feel free to comment out or add to the list.
As of v0.2, you can force ircspeak to re-read this list from the perl file whilst you are using the script by issuing the /reread command to sirc.
Also as of v0.2 there is a spelling-correction hash which works in a similar way to the abbreviation translator. Thanks to Dax Kelson for supplying the idea along with a considerable number of entries for the table!

Perhaps you could email in any useful additions.


Please email with feedback and submissions related to the script.

Please refer to the festival/sirc/ksirc pages & authors for queries about their respective projects.


Counter Last modified: Saturday, December 26th 1998