Wednesday 8 April 2009

Speech-Dispatcher Returns from the Dead!


I am very happy to tell you that I have now managed to get speech-dispatcher to work on Vinux without losing the multi-channel sound capabilities. The final peice of the jigsaw puzzle fell into place when I was experimenting with Debian Lenny and managed to get speech-dispatcher working properly. I realised that I hadn't been doing anything wrong at all but I hadn't really understood the difference between speech-dispatcher running in user mode and as a system service. What caused this was an error which seems to have crept into spd-conf and my failure to understand the difference between the two modes. For some reason the spd-conf supplied in the Ubuntu 8.10 repositories set the syntheziser port to 6561 for user mode and 6560 for running as a service, and it should be the other way around. Because I didn't understand the difference between the two modes I had been setting up speech-dispatcher in user mode but then using init.d to start it as a service instead of using the speech-dispatcher -d command. Given these two school boy errors I was never going to get it to work! So for anyone who wants to try this at home here is a step by step guide to getting speech-dispatcher working on Ubuntu 8.10 with multi-channel sound support.

1. Run 'sudo apt-get install speech-dispatcher python-speechd' in a terminal

2. Once installed run 'spd-conf' in the same terminal.

3. Accept all of the default options except type 'pulse' for the sound server and '6560' for the synthesizer port.

4. Speech-dispatcher should then speak if everything is going to plan!

5. Use the 'speech-dispatcher -d' command to start up speech-dispatcher as a daemon'

6. Open the Orca preferences window and select speech-dispatcher as the speech synthesizer and click apply.

7. Orca should now be a lot more snappy and responsive.

8. Finally open the Session Manager from the preferences menu, create a new entry called speech-dispatcher and type 'speech-dispatcher -d' as the command, then reboot and enjoy your new snappier speech!

9. If you want to use espeak with YASR, you can then edit the /etc/yasr/yasr.conf file by commenting out the default Eflite synthesizer and uncomment the speech-dispatcher and corresponding synthesizer port entries.