| ExternalSpeech |
| by Stéphane Doyon <s.doyon@videotron.ca> |
| Version 0.7 beta, September 2001 |
| |
| This speech driver interfaces with an external program that will handle |
| speech synthesis. The protocol for talking to the external program is |
| quite arbitrary: there is nothing standard about it. |
| |
| As opposed to the GenericSay driver, this driver is intended for more |
| sophisticated features: |
| |
| - Communication with the external program is bi-directional, and BRLTTY |
| constantly listens for progress updates from the external program. BRLTTY |
| can thus perform speech tracking: the braille display can move as the |
| words are spoken. BRLTTY is then also able to determine when the text is |
| finished speaking. Finally, if speech is stopped by the user, BRLTTY knows |
| at what position it stopped, so the user does not have to search for |
| the stopping point when he/she wants to resume speech synthesis. |
| |
| - Video attributes of the characters are passed with the text, so that the |
| external program can interpret them and add appropriate vocal markings. |
| |
| Currently, only one external program exists that can talk this protocol. It |
| uses IBM's Viavoice TTS AKA Viavoice Outloud software speech synthesis |
| library. |
| |
| NB IBM offers the Viavoice TTS product at no cost for |
| personal / pseudo-evaluation use. Unfortunately their software is not |
| free in the GNU sense nor opensource, and a license is required for |
| commercial use. It is however much more usable and of far superior quality |
| than rsynth, festival, and the TTS scripts I have seen for MBROLA. |
| |
| My external speech program does some speech preprocessing and then uses |
| the Viavoice library. It is still quite alpha. You can find it at: |
| http://pages.infinit.net/sdoyon/via.html |
| It will be kept separate from BRLTTY (in part because of the non-free |
| nature of Viavoice TTS). |
| |
| The path to the external program, and the uid and gid under which it is |
| executed, can be either: |
| -hard-coded in speech.h |
| -specified in the BRLTTY configuration file through |
| the speech-parameter keyword. |
| -Specified on the command-line using the -S option. |
| |
| In the last two cases, the format is: |
| program=<extProgPath>[,uid=<numerical_uid>][,gid=<numerical_gid>] |
| without space. |
| As in: |
| speech-parameter program=/home/steph/via-0.3/via_wrapper,uid=501,gid=501 |
| |
| Avoid executing the external program as root if at all possible. The |
| account you choose may require some rights such as access to the |
| soundcard device. |