|
From: - 2010-04-05 00:41:48
|
Hi I've recently attempted to get espeak working with emacspeak on a 64 bit Ubuntu 9.10 (Karmic) system which is also running pulseAudio. After having to go through a number of configuration revisions to get pulseAudio working in a reliable manner, I ran into a number of issues with espeak. Initially, I thought the problem was with the emacspeak espeak driver, which is a Tcl based library called tclespeak.so. The reason I thought this was the source of my problems was because the issues I was running into didn't appear to also exist when using the simple espeak program that comes with the espeak distrobution. However, on further investigation I was able to reproduce these issues with that program. The main problem I encountered was truncation of text. Frequently, the last few characters and sometimes the last couple of words in a block of text would not get spoken. I also noticed that at times, the speech was difficult to understand due to bad pronounciation of some words. Sometimes, other text just seemed to be dropped. I also had a few segmentation faults, those these were quite rare. I downloaded the latest espeak sources, built them and tried them to see if the problem still existed. It did not appear to make any difference. In reviewing the Makefile, I noticed there was an option to build with pulseaudio rather than portaudio (I had portaudio 19 installed and used that initially as that appeared to both be the default and how the ubuntu package had been built). After building with the pulseaudio options, all the issues I had encountered were resolved and now emacspeak and the emacspeak espeak driver are working really well. There are a couple of minor issues, which I believe are related to the emacspeak espeak driver rahter than espeak. Espeak itself appears to be working really well. The clarity of the speech also seems considerably better. I have two questions. 1. Given that ubuntu and many other distributions are moving to pulseAudio, it seems odd that they are still distributing espeak packages built against portaudio rather than pulseaudio. Is this simply to enable one package to work with systems that are running pulseAudio and those that don't i.e. provide more flexibility? 2. Are there other issues with using libespeak builtagainst pulseAudio that I'm not aware of? I'm wondering why ubuntu and others don't just build two different packages - one linked against pulseAudio and one linked against portaudio. As I'm new to using pulseAudio and there seems a lot of negative reports out there regarding pulseAudio, especially with respect to TTS responsiveness, I'm wondering if I'm missing something. ON a separate note, just in case anyone is interested, while I had quite a challenging time getting pulseAudio to work initially, once I put in the effort to really dig down into it, I now find it works really well. I'm not getting any of the latency issues or poor quality sound that others have mentioned. However, I did find it necessary to tweak a lot of things, including getting the correct permissions to allow high priority and realtime scheduling, correct matching of pulseAudio and sound card native sample rates buffer sizes etc. There is no single recipe that appears to work on all systems as sound card types, drivers and system CPU/Memory all seem to interact in various ways. However, the effort does appear to be worth it and I now have possibly the best setup I've had on Linux in nearly 17 years of being a Linux user. I've now managed to configure three different systems, all with different sound cards and requiring different values fr the pulseAudio setup. All are now working well. regards, Tim -- Tim Cross tc...@ra... There are two types of people in IT - those who do not manage what they understand and those who do not understand what they manage. |