Fire Vox is a Firefox extension that uses the CLC-4-TTS and CLC-Utils library to make Firefox a self-voicing browser as well as provide extra accessiblity features. Both CLC-4-TTS and CLC-Utils must be installed before Fire Vox will work.
Currently, there are 3 speech engines available: Microsoft SAPI 5 (Windows XP has SAPI 5 right out of the box), Apple's TTS (Mac OS X has it built-in), FreeTTS (an open source Java-based TTS engine). For more information about SAPI, please go to the Microsoft SAPI page. For more information about Apple's TTS, please go to Apple's Text-to-Speech page.For more information about FreeTTS, please go to the FreeTTS page.
A technical discussion of the current limitations on implementing CSS can be found here. I believe that the "say-instead" property should be added to the CSS3 speech module and CLC-4-TTS supports this property; here is a demo page that shows "say-instead" in action.
You can select which speech engine you wish to use by going to Tools, Fire Vox TTS Selection.
SAPI DLL Source Code
Note: This is not needed to use the libraries. A compiled version already comes in the CLC-4-TTS library. This source code is simply made available for anyone interested in seeing what is going on behind the scenes. Because of problems with XPCOM and Cocoa, the Mac TTS interface is actually done as a local TTS server. The local TTS server takes HTTP requests coming from the local host and generates speech.
Mac TTS Source Code
Note: The CLC4TTS_Java.java code assumes that FreeTTS has already been installed; to make things easier on end users, I packed the compiled class file for CLC4TTS_Java and the FreeTTS binaries into an install package using IzPack. The FreeTTS binary and source are available on the FreeTTS homepage. The install.xml file included in this zip file was used to generate the install package using IzPack.
Java FreeTTS Interface Source Code
Be sure to have "CLC" somewhere in the subject line; otherwise there is a very good chance that your e-mail may be filtered out as spam. In addition, please try to make the rest of the subject line as meaningful as possible.