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.