Bug 569531
Summary: | jovie (formerly kttsd) doesn't start & installed voices cannot be selected | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Peter Gückel <pgueckel> | ||||
Component: | speech-dispatcher | Assignee: | Peter Robinson <pbrobinson> | ||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | urgent | Docs Contact: | |||||
Priority: | low | ||||||
Version: | 13 | CC: | che666, cobrafazea, fedora, jl2868, josh, jreznik, kenkolden, kevin, ltinkl, pbrobinson, pcormier, poul, rdieter, smparrish, than, yehjj | ||||
Target Milestone: | --- | Keywords: | Triaged | ||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | speech-dispatcher-0.7.1-4.fc14 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2011-03-23 22:54:22 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | 484577, 628524, 654585 | ||||||
Bug Blocks: | 635259 | ||||||
Attachments: |
|
Description
Peter Gückel
2010-03-01 16:42:45 UTC
I should add that, with the very limited word I have had from non-fedora users, this appears to be a fedora-specific problem. I reported the problem on userbase.kde.org/Talk:KTTS. I have upgraded to kdeaccessibility-4.4.1-1.fc13 and the problem has not changed. There have been no improvements, despite a bugfix release to KDE-4.4. KTTSD is not/never running, and when it is started from the command line, it terminates immediately without any messages. Why is kttsd not working? How to get it working and get speech working? Rex, Kevin any comments or kick this upstream? Steven M. Parrish KDE & Packagekit Triager Fedora Bugzappers volunteer triage team https://fedoraproject.org/wiki/BugZappers Well, I have no idea why this doesn't work. I'd suggest reporting this upstream. Something changed this morning, but it still doesn't work. I updated the system and I noticed that some kde packages were in the bunch, including kdemultimedia and others (I don't recall which). I tried to start kttsd from the command line and instead of quitting immediately, it spat out a message stating that it was unable to connect to the speech daemon. I have watched this seemingly useless daemon that has never done anything for the last year or so, so I decided to enable it. I restarted kttsd from the command line and the message didn't appear. I opened systemsettings/accessibility and saw that the message states that kttsd is not running. It had seemed hopeful, but there is no change. *** Bug 574925 has been marked as a duplicate of this bug. *** This is clearly a blocker for Fedora 13. Is there a test release to see the progress? Not by any release criteria that exists currently, anyway. I could have sworn we had an open upstream report on this already. I'll go hunting. Found these, bug #467761 upstreamed as http://bugs.kde.org/show_bug.cgi?id=197245 Looking into whether we need speech-dispather for this... found: http://www.freebsoft.org/speechd but no source tarballs, just a git repo. :( Hey, there's life here after all! I have this bug open on KDE, but there has not been any action: https://bugs.kde.org/show_bug.cgi?id=234752 Rex, I don't know whether speech-dispatcher is required. It never used to be, years ago when this worked, but speech-dispatcher came alone in about fedora 11, I think, so I don't know if that has changed anything. It would be nice, were this to finally work again. nvm, we already have BR: speech-dispatcher-devel (In reply to comment #13) > nvm, we already have > BR: speech-dispatcher-devel That is Chinese to me. Do what you need to do. I have always been curious about speech-dispatcher and would like to know what it does, as I have religiously installed it since I discovered it, but I have never seen it do anything in the 18+ months I have known about it. I can't wait to have speech working again, to hear Okular read pdf files, etc. Well, speech-dispatcher is what's supposed to be used by the current (as of KDE SC 4.4) KTTS framework to produce sound. I'm not sure why it doesn't work, I suspect missing, incomplete or broken support for PulseAudio (which might explain why people have it working on other distros, they're probably not using PulseAudio). Oh, and I understand your frustration very much, I'd also be angry about that if I used TTS actively, but please try to stay polite and to not overstate the priority of the issue: if this has been broken since 4.0, i.e. Fedora 9, it can't possibly be a blocker for Fedora 13, sorry. (In reply to comment #16) > Oh, and I understand your frustration very much, I'd also be angry about that > if I used TTS actively, but please try to stay polite and to not overstate the > priority of the issue: if this has been broken since 4.0, i.e. Fedora 9, it > can't possibly be a blocker for Fedora 13, sorry. Yeah, I have been frustrated for a couple of years about this and it seems that whenever I mention it, it just gets brushed aside and fedoras come and fedoras go, but the problem remains. I bet you're onto something there, with PulseAudio, as that would seem to correspond to the time when the problems began! I hope that makes it easier to find why it doesn't work. PulseAudio was introduced by default in Fedora 8, so if that's when it stopped working, that would be it. You're definitely onto something, Sherlock! I know that's gotta be it. I have upgraded to KDE-4.80 and this still does not work :-(( The only change I now notice is that the kttsd message is no longer there; instead, it now says kttsd version 0.5.0 and the system is apparently enabled, but it is still not possible to select a voice, even though festival works fine on the command line. This bug has been triaged -- Fedora Bugzappers volunteer triage team https://fedoraproject.org/wiki/BugZappers (In reply to comment #21) > This bug has been triaged > -- > Fedora Bugzappers volunteer triage team > https://fedoraproject.org/wiki/BugZappers This is thrilling news! I am sure it should be easy to fix, as Kevin (and I) is sure this is just a pulseaudio issue. I am experiencing this bug, too, in a newly installed and updated updated Fedora 13. Sometimes the list of talkers in the KDE Text-to-Speech Control Module's "Add Talker" dialog is empty, and sometimes it is populated with a spurious error message: "The name org.kde.kttsd was not provided by any .service files" The KDE Text-to-Speech Control Module reports "KTTSD not running", which is confirmed by a ps listing. Starting kttsd in the foreground manually yields the following error message: [justin@acer ~]$ kttsd --nofork kttsd(##)/kttsd (daemon): could not get a connection to speech-dispatcher ... [justin@acer ~]$ kttsd --version Qt: 4.6.2 KDE Development Platform: 4.4.4 (KDE 4.4.4) kttsd: 0.5.0 It looks like kttsd 0.5.0 does require speech-dispatcher as a dependency, according to the upstream developer's occasionally updated blog http://jpwhiting.blogspot.com/2010/02/kttsd-050.html However, speech-dispatcher does seem to be installed on my system: [justin@acer ~]$ which speech-dispatcher /usr/bin/speech-dispatcher There was a permission problem when I attempted to start it as a regular user: [justin@acer ~]$ speech-dispatcher [Thu Jul 8 19:25:22 2010 : 491611] speechd: Speech Dispatcher 0.6.7 starting [Thu Jul 8 19:25:22 2010 : 496331] speechd: Directory .speech-dispatcher not found in home Can't create pid file in /var/run/speech-dispatcher.pid, wrong permissions? I tried creating this directory: [justin@acer ~]$ cd [justin@acer ~]$ mkdir .speech-dispatcher [justin@acer ~]$ speech-dispatcher [Thu Jul 8 19:25:45 2010 : 608604] speechd: Speech Dispatcher 0.6.7 starting Error opening configuration file '/home/justin/.speech-dispatcher/conf//speechd.conf' [Thu Jul 8 19:25:45 2010 : 614132] speechd: Can't open /home/justin/.speech-dispatcher/conf//speechd.conf [Thu Jul 8 19:25:45 2010 : 614190] speechd: Error [speechd.c:596]:Error opening config file I tried a different strategy: [justin@acer ~]$ mkdir -p ~/.speech-dispatcher [justin@acer ~]$ rm -rf ~/.speech-dispatcher/conf [justin@acer ~]$ ln -sf /etc/speech-dispatcher/ ~/.speech-dispatcher/conf [justin@acer ~]$ speech-dispatcher This generated an error message that speech-dispatcher was already running, (from last time.) I tried "pkill speech-dispatcher" and "pkill -9 speech-dispatcher", and the same error message appeared. "pgrep speech-dispatcher" produced no output, but the process was listed on "ps waux | grep speech-dispatcher" and I was able to kill it by process number. It started again with no error message. Thus, there is either an additional bug in pgrep/pkill or my system is trojanned. The application kmouth does not work, either, although it claims to be able to invoke "festival --tts" directly. Kmouth fails silently, with no error message, even when configured to ignore kttsd and directly invoke "/usr/bin/festival --tts". "festival --tts" works fine from the command line on my system. Perhaps I could peruse the upstream documentation for speech-dispatcher, kttsd, kmouth, etc., and see exactly how or why all these are so completely misconfigured in Fedora, which is what I suspect is the case, unless I really do have a trojan. The control module still reports "KTTSD not running" even when both speech-dispatcher and and kttsd are both running, and the dialog box is still not populated with the installed festival voices. This is a sad state of affairs. It looks like there are many different issues that have to be fixed before KDE's Text-to-Speech even has a chance of working in Fedora. Nevertheless, it should still be possible to configure all these applications from scratch based on upstream documentation, verify that the applications function according to their documented configuration, and figure out one by one all the little things that went wrong to prevent kttsd from working in Fedora. Your evidence appears to indicate that the Fedora package of speech-dispatcher is broken. Reassigning. Here is a little more that I have been able to find out: If you intend on using festival, then festival has to be running as a daemon before speech-dispatcher is started. There is no configuration for this service in the Service Configuration wizard, and I do not know how to properly start this daemon. I do not believe this is quite correct, but I did get it successfully started as a regular user with $ festival_server -c /etc/festival/siteinit.scm \ -c /etc/festival/sitevars.scm -l ~/.festival & It spoke when I telneted in ("telnet 127.0.0.1 1314") and gave it scheme commands. However, when I started speech-dispatcher after (once again) linking its configuration directory from my home directory so it could actually find its configuration files, like so $ mkdir ~/.speech-dispatcher $ ln -sf /etc/speech-dispatcher/ ~/.speech-dispatcher/conf $ speech-dispatcher this only succeeded in reproducing Bug 484577, which apparently can be worked around, but I haven't gotten that far yet. The speech pipeline I was trying to use, as I understand it, was more or less KDE App -> kttsd -> speech-dispatcher -> festival -> alsa Any workaround or fix would involve at least: 1. Properly starting festival as a service daemon with a sane configuration and logging setup so that it knows where to find the installed talkers and has write permissions for its logs. This does not appear to be preconfigured in Fedora. 2. Likewise, properly starting the speech-dispatcher daemon, but not until the festival daemon is up and running, or better yet fixing it so that its festival module does not bail out permanently if the festival daemon is not already running and able to find all its talkers. 3. Working around or fixing Bug 484577. 4. Fixing kttsd's control module so that it can reliably tell whether or not kttsd is actually running or not, or if it is running and can't find any talkers, and refuses to allow festival to fall back to its default genderless monotone voice. 5. Verifying the query pipeline for installed talkers. This should work after following the above steps, but I do not know how. kcmkttsd -> speech-dispatcher -> festival -> installed talkers ? 6. Deciding whether these daemons are supposed to be invoked on a system-wide basis, or per user, (or making them function cleanly either way.) I understand Peter Gückel's frustration, because this is something that would be really, really cool, but it's not quite there yet. I hope this information is helpful rather than annoying to everyone here. By the way, pgrep/pkill is now working as expected for me, after a routine software update, a reboot, and some SELinux angst. I really hope this is not yet another rootkit. PARTIAL WORKAROUND !!! I was able to get the KDE Text-to-Speech Control Add Talker Dialog populated with the installed talkers. 1. Download and unpack the latest tarball from http://www.freebsoft.org/pub/projects/festival-freebsoft-utils/ 2. As root, copy the .scm files to /usr/share/festival/lib/ This is required, because Bug 484577 was never fixed, and no rpm was ever made for these files, which are a dependency for using speech-dispatcher with festival. 3. Edit /etc/speech-dispatcher/speechd.conf and add the line AudioOutputMethod "pulse" 4. Start festival_server as I described above. (I actually just left it running.) 5. Get speech-dispatcher running like this: $ rm -rf ~/.speech-dispatcher $ mkdir ~/.speech-dispatcher $ ln -sf /etc/speech-dispatcher/ ~/.speech-dispatcher/conf $ rm -rf /tmp/speechd-debug/ $ speech-dispatcher -D After following these steps, the Add Talker dialog was populated with espeak talkers in many languages and one English-speaking festival talker, with various male and female voices, but there is still no sound when I try to add and use a festival voice, and the message "KTTSD not running" persists. (The speech-dispatcher daemon is still intermittently invisible to pgrep/pkill, but that's a totally different bug.) (In reply to comment #25) > this is something that would > be really, really cool Yes, it is really, really cool and I used to use it all the time right up until fedora 8, after which it broke and ceased to work thenceforth. Kevin was suggesting that this is a pulse audio problem, and I feel that this coincides roughly with the time when I noticed it no longer working. You now mention speech-dispatcher. This would also roughly coincide with the time I noticed it no longer working, although I think speech-dispatcher appeared on the scene somewhat later than pulse. In any case, these are two very good leads. I have also noticed that festival no longer works at all anymore, not even from the command line. This has been the case for a few weeks if not a couple of months now. I have given up testing after every day's updates. I am glad that someone else is finally taking an interest in speech. I can't be the only one who enjoys having files read aloud, can I? > I can't be the only one who enjoys having files read aloud, can I?
There are also visually impaired folks who can afford neither a braille
terminal (if they even know how to read braille) nor expensive, proprietary,
locked-in software. Show-stopping bugs in accessibility software should have
higher priority. It would help, especially if there are any problems to be
kicked upstream, if you gave the particular versions for all the software you
are having trouble with, as I am doing just now, for reference:
$ espeak --help
eSpeak text-to-speech: 1.42.04 09.Dec.09
...
$ festival --version
festival: Festival Speech Synthesis System: 1.96:beta July 2004
$ speech-dispatcher
speech-dispatcher 0.6.7
...
$ kttsd --version
Qt: 4.6.2
KDE Development Platform: 4.4.4 (KDE 4.4.4)
kttsd: 0.5.0
$ kmouth --version
Qt: 4.6.2
KDE Development Platform: 4.4.4 (KDE 4.4.4)
KMouth: 1.1.1
$ pulseaudio --version
pulseaudio 0.9.21
$ uname -a
Linux acer 2.6.33.6-147.fc13.i686 #1 SMP Tue Jul 6 22:30:55 UTC 2010
i686 i686 i386 GNU/Linux
I don't know where alsa fits in
There is a long, fragile pipeline:
1. A KDE app that wants to talk sends its data
2. usually through KMouth
3. to kttsd,
4. which uses the speech-dispatcher
5. to drive a text-to-speech engine such as festival or espeak,
6. which sends its output through the new PulseAudio interface
7. to the kernel audio device driver,
8. which actually sends the data to the sound card.
Every stage of this pipeline must be configured correctly, and some of the
configuration has to be done at arbitrary stages higher up in the pipeline,
e.g. speech-dispatcher's config tells festival where to send its audio, which
is legitimate, because another app might use festival to send audio output
elsewhere.
I remember years ago, when the pipeline was much shorter, that text-to-speech
"just worked" in KDE, at least in Debian, which I used at that time. But in
the process of abstractifying and lengthening the pipeline, it broke, and
nobody has had the time to put it all back together, which is ultimately a
problem that each distribution has to solve on its own, because each distro
has its own way of handling all these nitty-gritty configuration issues.
eSpeak text-to-speech: 1.43 17.Feb.10 festival: Festival Speech Synthesis System: 1.96:beta July 2004 bash: kttsd: command not found ( believe this is because it is no longer called kttsd, but jovie) Qt: 4.7.0 KDE Development Platform: 4.4.90 (KDE 4.4.90 (KDE 4.5 RC1)) Jovie: 0.6.0 KMouth: 1.1.1 pulseaudio 0.9.21 Linux localhost.localdomain 2.6.33.6-147.fc13.x86_64 #1 SMP Tue Jul 6 22:32:17 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux Which version of speech-dispatcher? I made a mistake in my post above. Somehow I forgot to mention it the takes the "--version" switch as well. If you got no output from "speech-dispatcher" without switches, then it just started the daemon. Some of the problems I am experiencing may have been fixed in the more recent (testing?) versions of the software you are using -- that daemon refuses to start at all for me unless the file ~/.speechdispatcher/conf/speechd.conf already exists. (In reply to comment #30) > Which version of speech-dispatcher? > speech-dispatcher 0.6.7 > that daemon refuses to start at all for me unless the file > ~/.speechdispatcher/conf/speechd.conf already exists. I do not have the file. Shouldn't speech-dispatcher create it automatically? How do I create it and what is supposed to bein it? Hi All, Sorry about the delay here. Reading through the comments we seem to have a couple of issues. 1) s-d not using pulse audio by default This will be fixed soon. I have a local package I'm testing which will be pushed to rawhide. I'll do a scratch build for F-13 for people here to test and feedback. 2) missing festival package I also have a few queries about the above. 1) why the need to copy the config file from /etc to the home dir? If speechd.conf osm't local it will use the global one from /etc. 2) is festival a hard requirement or will/should it work standalone? What else have I missed? speech-dispatcher needs one TTS engine, this can be Festival (for which it needs festival-freebsoft-utils according to comment #26), eSpeak, or some other package installed by the user. How we put this properly into RPM dependencies is another question. If we can get it set up to use eSpeak with the user's system language as the default, then we should probably do that (and Require espeak in the RPM), since eSpeak supports many more languages than Festival. (On the other hand, Festival puts more focus on quality, eSpeak mostly targets quantity instead.) But whatever we do, the default setup should work! I've packaged up festival-freebsoft-utils and done a koji scratch build. If someone could review the package and some people test it and provide some feedback that would be fab so we can get this fixed in time for F-14 beta and I can backport the fixes to other releases. (In reply to comment #34) > I've packaged up festival-freebsoft-utils and done a koji scratch build. I searched on koji, but it found nothing. How does one find it? (In reply to comment #35) > (In reply to comment #34) > > I've packaged up festival-freebsoft-utils and done a koji scratch build. > > I searched on koji, but it found nothing. How does one find it? Its a scratch build so it will never appear there. Its linked in the package review bug which is linked as a dependency to this bug. *** Bug 640533 has been marked as a duplicate of this bug. *** *** Bug 641972 has been marked as a duplicate of this bug. *** Can someone confirm the status of this on F-14. I think we should be in a better state but would like someone in the know to test it for me. I got this working here in Fedora 13 basically i installed : speech-dispatcher-python speech-dispatcher espeak festival-freebsoft-utils and then running speech-dispatcher as root , then running kttsd as your normal user should make it working . tested on okular reading some PDF file . Note : running the daemon from the checkbox in the manager dont make it work ( dont know why :D ) . (In reply to comment #40) > I got this working here in Fedora 13 > basically i installed : > speech-dispatcher-python > speech-dispatcher > espeak > festival-freebsoft-utils > > and then running speech-dispatcher as root , then running kttsd as your normal > user should make it working . > > tested on okular reading some PDF file . > > Note : running the daemon from the checkbox in the manager dont make it work ( > dont know why :D ) . That sounds very promising; however, when I try to install speech-dispatcher-python (I've got all the others), I cannot, because yum tries to pull in 43 i686 packages into my x86_64 system. > That sounds very promising; however, when I try to install
> speech-dispatcher-python (I've got all the others), I cannot, because yum tries
> to pull in 43 i686 packages into my x86_64 system.
Which release? I've just installed it on x64 F-13, F14 and rawhide without issues.
(In reply to comment #41) > That sounds very promising; however, when I try to install > speech-dispatcher-python (I've got all the others), I cannot, because yum tries > to pull in 43 i686 packages into my x86_64 system. actually its not very important to install that package ( it was only for a complete footage of what i have done to make it work ) another way to make that work properly(because many people had some problems with this ) is to make speechd.conf file in ~/.speech-dispatcher/conf/ and put the code from here http://code.google.com/p/open-sapi/source/browse/trunk/open-sapi/packages/speech-dispatcher/speechd.conf?spec=svn150&r=150 but you have to uncomment the line " # DefaultRate 0 " and to start it run speech-dispatcher as your normal user in the terminal and then open kttsmgr ( or whatever application that have a speak option ) . it should be working smoothly but it wont follow the options from the talkers list in the manager , it only takes the options from the speechd.conf file . Note : you have to do "killall speech-dispatcher" to stop the speaking . report back if you had any problems Farewell . (In reply to comment #42) > > That sounds very promising; however, when I try to install > > speech-dispatcher-python (I've got all the others), I cannot, because yum tries > > to pull in 43 i686 packages into my x86_64 system. > > Which release? I've just installed it on x64 F-13, F14 and rawhide without > issues. Fedora 14. I just tried it again, and it wants to install 43 i686 packages as dependencies. (In reply to comment #43) > (In reply to comment #41) > > That sounds very promising; however, when I try to install > > speech-dispatcher-python (I've got all the others), I cannot, because yum tries > > to pull in 43 i686 packages into my x86_64 system. > > actually its not very important to install that package ( it was only for a > complete footage of what i have done to make it work ) > > another way to make that work properly(because many people had some problems > with this ) is to make speechd.conf file in ~/.speech-dispatcher/conf/ > > and put the code from here > http://code.google.com/p/open-sapi/source/browse/trunk/open-sapi/packages/speech-dispatcher/speechd.conf?spec=svn150&r=150 > > but you have to uncomment the line " # DefaultRate 0 " > and to start it run speech-dispatcher as your normal user in the terminal and > then open kttsmgr ( or whatever application that have a speak option ) . > it should be working smoothly but it wont follow the options from the talkers > list in the manager , it only takes the options from the speechd.conf file . > > Note : you have to do "killall speech-dispatcher" to stop the speaking . > > report back if you had any problems > > Farewell . I prefer your first method, but I canot get it to install without pulling in i686 dependencies. I don't like the second method, creating the file and editing it, etc. I am not unable to edit config files as root, but I do not think that is a very user-friendly way to set up a program, and to have to get information from other websites that does not originate from fedora is not cool. An then, to have to kill the daemon to stop speech... Well, jovie is supposed to be a user-friendly GUI for all that. That is not a suitable way to fix the problem. It is a kludge. I got speech-dispatcher-python-0.7.1-2.fc14.x86_64 installed without pulling in the i686 dependencies (must be a newer version), however, nothing has changed. Jovie still crashes when I start it and there is no way to select a festvox voice in the kdeaccessibility screen and reading of text is not possible. Application: Jovie (jovie), signal: Segmentation fault [KCrash Handler] #6 0x0000003986604981 in spd_execute_command () from /usr/lib64/libspeechd.so.2 #7 0x0000000000408c8f in _start () I got an error message when cron ran prelink this morning, so I decided to run it manually,, prelink --all. This is what appeared: prelink: /usr/lib64/speech-dispatcher-modules/sd_espeak: Could not find one of the dependencies prelink: /usr/lib64/speech-dispatcher-modules/sd_dummy: Could not find one of the dependencies prelink: /usr/lib64/speech-dispatcher-modules/sd_flite: Could not find one of the dependencies prelink: /usr/lib64/speech-dispatcher-modules/sd_festival: Could not find one of the dependencies prelink: /usr/lib64/speech-dispatcher-modules/sd_cicero: Could not find one of the dependencies prelink: /usr/lib64/speech-dispatcher-modules/sd_generic: Could not find one of the dependencies Maybe this has a bearing on the problems with festival/jovie/speech-dispatcher not working? speech-dispatcher 0.7.1 KDE 4.5.3 F14 I have bad experience with speech-dispatcher too. I tried to get jovie to work, but $ jovie --nofork starts with error msg: jovie(3341)/kttsd (daemon): could not get a connection to speech-dispatcher so I tried $ speech-dispatcher it seemed to work since: [Tue Dec 7 01:26:48 2010 : 854061] speechd: Speech Dispatcher 0.7.1 starting but in speech-dispatcher logfile there is: [Tue Dec 7 01:25:01 2010 : 34277] speechd: Speech Dispatcher Logging to file /home/marvel/.speech-dispatcher/log//speechd.log [Tue Dec 7 01:25:01 2010 : 34415] speechd: Initializing output module festival with binary /usr/lib64/speech-dispatcher-modules/sd_festival and configuration /etc/speech-dispatcher/modules//festival.conf [Tue Dec 7 01:25:01 2010 : 34438] speechd: Output module is logging to file /home/marvel/.speech-dispatcher/log//festival.log [Tue Dec 7 01:25:01 2010 : 35303] speechd: ERROR: Can't load output module festival with binary /usr/lib64/speech-dispatcher-modules/sd_festival. Bad filename in configuration? [Tue Dec 7 01:25:01 2010 : 35327] speechd: Couldn't load specified output module [Tue Dec 7 01:25:01 2010 : 35395] speechd: Initializing output module ivona with binary /usr/lib64/speech-dispatcher-modules/sd_ivona and configuration /etc/speech-dispatcher/modules//ivona.conf [Tue Dec 7 01:25:01 2010 : 35413] speechd: Output module is logging to file /home/marvel/.speech-dispatcher/log//ivona.log [Tue Dec 7 01:25:01 2010 : 35741] speechd: Module ivona loaded. [Tue Dec 7 01:25:01 2010 : 35925] speechd: ERROR: Bad syntax from output module ivona 1 [Tue Dec 7 01:25:01 2010 : 35944] speechd: Couldn't load specified output module [Tue Dec 7 01:25:01 2010 : 36039] speechd: Initializing output module dummy with binary /usr/lib64/speech-dispatcher-modules/sd_dummy and configuration (null) [Tue Dec 7 01:25:01 2010 : 36057] speechd: Output module is logging to file /home/marvel/.speech-dispatcher/log//dummy.log [Tue Dec 7 01:25:01 2010 : 36558] speechd: Module dummy loaded. [Tue Dec 7 01:25:01 2010 : 36783] speechd: ERROR: Bad syntax from output module dummy 1 [Tue Dec 7 01:25:01 2010 : 36803] speechd: Couldn't load specified output module [Tue Dec 7 01:25:01 2010 : 37028] speechd: Configuration has been read from "/etc/speech-dispatcher/speechd.conf" [Tue Dec 7 01:25:01 2010 : 37065] speechd: Speech Dispatcher Logging to file /home/marvel/.speech-dispatcher/log//speechd.log [Tue Dec 7 01:25:01 2010 : 37092] speechd: Error [speechd.c:646]:No speech output modules were loaded - aborting... I'm having the exact same problem. I've running: speech-dispatcher 0.7.1 Fedora 14 Kernel 2.6.35.6-48.fc14.x86_64 x86_64 After following this bug and a few other sites I'm at the same problem points as comments 47 and 48: $ jovie --nofork jovie(1505): KUniqueApplication: Cannot find the D-Bus session server: # prelink --all prelink: /usr/lib64/speech-dispatcher-modules/sd_espeak: Could not find one of the dependencies prelink: /usr/lib64/speech-dispatcher-modules/sd_flite: Could not find one of the dependencies prelink: /usr/lib64/speech-dispatcher-modules/sd_cicero: Could not find one of the dependencies prelink: /usr/lib64/speech-dispatcher-modules/sd_generic: Could not find one of the dependencies prelink: /usr/lib64/speech-dispatcher-modules/sd_dummy: Could not find one of the dependencies prelink: /usr/lib64/speech-dispatcher-modules/sd_festival: Could not find one of the dependencies And finally the speech-dispatcher log file gives: $ cat /tmp/speechd-debug/speechd.log [Sun Jan 9 15:00:14 2011 : 282448] speechd: Speech Dispatcher 0.7.1 starting [Sun Jan 9 15:00:14 2011 : 282604] speechd: Home dir found, trying to find /home/odin/.speech-dispatcher [Sun Jan 9 15:00:14 2011 : 282649] speechd: Using home directory: /home/odin/.speech-dispatcher for configuration, pidfile and logging [Sun Jan 9 15:00:14 2011 : 283853] speechd: Reading Speech Dispatcher configuration from /home/odin/.speech-dispatcher/conf//speechd.conf [Sun Jan 9 15:00:14 2011 : 284050] speechd: Config file include path is: /home/odin/.speech-dispatcher/conf/ [Sun Jan 9 15:00:14 2011 : 284313] speechd: Speech Dispatcher Logging to file /home/odin/.speech-dispatcher/log//speechd.log [Sun Jan 9 15:00:14 2011 : 284607] speechd: Initializing output module espeak with binary /usr/lib64/speech-dispatcher-modules/sd_espeak and configuration /home/odin/.speech-dispatcher/conf//modules//espeak.conf [Sun Jan 9 15:00:14 2011 : 284653] speechd: Output module is logging to file /home/odin/.speech-dispatcher/log//espeak.log [Sun Jan 9 15:00:14 2011 : 286154] speechd: Module espeak loaded. [Sun Jan 9 15:00:14 2011 : 286352] speechd: Trying to initialize espeak. [Sun Jan 9 15:00:14 2011 : 288326] speechd: ERROR: Bad syntax from output module espeak 1 [Sun Jan 9 15:00:14 2011 : 288449] speechd: Couldn't load specified output module [Sun Jan 9 15:00:14 2011 : 288729] speechd: Initializing output module festival with binary /usr/lib64/speech-dispatcher-modules/sd_festival and configuration /home/odin/.speech-dispatcher/conf//modules//festival.conf [Sun Jan 9 15:00:14 2011 : 288775] speechd: Output module is logging to file /home/odin/.speech-dispatcher/log//festival.log [Sun Jan 9 15:00:14 2011 : 289553] speechd: Module festival loaded. [Sun Jan 9 15:00:14 2011 : 289723] speechd: Trying to initialize festival. [Sun Jan 9 15:00:14 2011 : 290825] speechd: ERROR: Bad syntax from output module festival 1 [Sun Jan 9 15:00:14 2011 : 290882] speechd: Couldn't load specified output module [Sun Jan 9 15:00:14 2011 : 291168] speechd: Initializing output module dummy with binary /usr/lib64/speech-dispatcher-modules/sd_dummy and configuration (null) [Sun Jan 9 15:00:14 2011 : 291216] speechd: Output module is logging to file /home/odin/.speech-dispatcher/log//dummy.log [Sun Jan 9 15:00:14 2011 : 291886] speechd: Module dummy loaded. [Sun Jan 9 15:00:14 2011 : 292059] speechd: Trying to initialize dummy. [Sun Jan 9 15:00:14 2011 : 293690] speechd: ERROR: Bad syntax from output module dummy 1 [Sun Jan 9 15:00:14 2011 : 293767] speechd: Couldn't load specified output module [Sun Jan 9 15:00:14 2011 : 294437] speechd: Reading configuration for pattern *:gnomespeech:* [Sun Jan 9 15:00:14 2011 : 294631] speechd: Reading configuration for pattern emacs:* [Sun Jan 9 15:00:14 2011 : 294734] speechd: Configuration has been read from "/home/odin/.speech-dispatcher/conf//speechd.conf" [Sun Jan 9 15:00:14 2011 : 294858] speechd: Speech Dispatcher Logging to file /home/odin/.speech-dispatcher/log//speechd.log [Sun Jan 9 15:00:14 2011 : 294919] speechd: Error [speechd.c:646]:No speech output modules were loaded - aborting... So even after updates, I'm having the same results. I've pretty much given up trying to get speech-dispatcher to work (with kttsd anyway). I'm focussing efforts on getting opentts (seems to be a fork of speed-dispatcher, http://www.opentts.org ) + kttsd working. (In reply to comment #50) > I've pretty much given up trying to get speech-dispatcher to work (with kttsd > anyway). It should be fixed in rawhide. The issue is with dotconf, the version in F-14 is pretty broken. > I'm focussing efforts on getting opentts (seems to be a fork of > speed-dispatcher, http://www.opentts.org ) + kttsd working. opentts was a fork, but has now merged back into speech-dispatcher and is basically now EOL. OK, I'll try testing with rawhide builds. Can we get a fixed dotconf pushed to F14 updates? And F13? ok, installed both, and speech-dispatcherd service won't start, $ sudo /etc/rc.d/init.d/speech-dispatcherd start Starting speech-dispatcherd[Sun Jan 9 15:59:34 2011 : 591893] speechd: Speech Dispatcher 0.7.1 starting [FAILED] Is it expected to work out of the box, or does it require configuration first? (In reply to comment #53) > Can we get a fixed dotconf pushed to F14 updates? And F13? possibly. I need to look at deps. There's at least one package that needs a recompile and its FTBFS (not built since f-12) and doesn't look to be maintained. Same results with ramhide packages # service speech-dispatcherd start Starting speech-dispatcherd[Sun Jan 9 22:42:48 2011 : 549414] speechd: Speech Dispatcher 0.7.1 starting [FAILED] Doesn't seem like dotconf needs any deps other then glibc. > Doesn't seem like dotconf needs any deps other then glibc.
It doesn't, I don't want to have to deal with the other things that use/depend on dotconf as there's a soname bump and other dependents at that are FTBFS
Thanks for showing renewed interest in this years-long bug in Fedora. I am now using 4.5.95 and it still bugs. I just happened to glance at ~/.speech-dispatcher/log/*.log and I noticed this message in the dummy, festival, espeak &c files: : error while loading shared libraries: libsdaudio.so.2: cannot open shared object file: No such file or directory I checked my system and the file does exist, in: /usr/lib64/speech-dispatcher/libsdaudio.so.2 That's not in the linker search path! You have to do one of: a. move the library to ${_libdir} directly, not a subdirectory b. put the subdirectory into the linker search path with a file in ld.so.conf.d c. add an rpath to the modules. I'd suggest doing a. (actually, move the whole contents of %{_libdir}/speech-dispatcher into %{_libdir}, there are just the library and the symlinks). There's no good reason for a subdirectory for a single library. (In reply to comment #60) > That's not in the linker search path! > > You have to do one of: > a. move the library to ${_libdir} directly, not a subdirectory > b. put the subdirectory into the linker search path with a file in ld.so.conf.d > c. add an rpath to the modules. > > I'd suggest doing a. (actually, move the whole contents of > %{_libdir}/speech-dispatcher into %{_libdir}, there are just the library and > the symlinks). There's no good reason for a subdirectory for a single library. I didn't put those files there, yum did. So the speech-dispatcher package must not be installing correctly. What's the difference between ${_libdir} and %{_libdir}? Yeah, ok, I could try moving the libraries and symlinks out of speech-dispatcher/ and into its parent directory. OK, I copied the links and the .so. And guess what? I started speech-dispatcherd and there has been a development! I can now start Jovie and it doesn't crash. I can configure it, insofar as I can click add talker and I now see a list of espeak voices (no festival/festvox voices listed, even though I have some installed). I enter the language, English, and the only English espeak voice is now added to my talkers. I am able to apply these settings. However, on the Jobs page, it says: The name org.kde.KSpeech was not provided by any .service files I cannot remove this line. I select Speak File and a selector window opens, but no matter what file I select, it is never entered into the jobs list and nothing happens. Checking the log file, I see: speechd: Error: Module reported error in request from speechd (code 3xx): 302 ERROR BAD SYNTAX speechd: ERROR: Can't say message. Module reported error in speaking: -2 Still, this is further along that kdeaccessibility on fedora has been in 5 years! > What's the difference between ${_libdir} and %{_libdir}?
${_libdir} is just a typo, sorry.
@Peter Robinson: Can you please fix the speech-dispatcher package to put the shared library in the proper place (as per comment #60)? @Peter Gückel: > The name org.kde.KSpeech was not provided by any .service files That looks like a kdeaccessibility issue. > speechd: Error: Module reported error in request from speechd (code 3xx): 302 ERROR BAD SYNTAX > speechd: ERROR: Can't say message. Module reported error in speaking: -2 This one looks like a speech-dispatcher issue. (In reply to comment #64) > > The name org.kde.KSpeech was not provided by any .service files > > That looks like a kdeaccessibility issue. > This has now vanished! I guess after I closed systemsettings and reopened it later, my changes 'took'. Now, on the Jobs configuration tab, I have a list of languages and espeak as synthesizer beside each of them. The above message is gone. However, no festvox voices are listed, even though I have some installed and the festival.log says: festival_client: connect to server failed The espeak and dummy logs are now empty. > > speechd: Error: Module reported error in request from speechd (code 3xx): 302 > ERROR BAD SYNTAX > > speechd: ERROR: Can't say message. Module reported error in speaking: -2 > > This one looks like a speech-dispatcher issue. I forgot to add the first of the three error lines. The first one is: speechd: Warning: Didn't find prefered output module, using default Anyway, now that I have espeak showing in the Jobs tab, I tried to have a text read. Remarkably, a voice said that speech-dispatcher is working properly, but I can't quite understand what it says, something about a module and to look in the logs. I already listed the 3 lines of the log error above. The voice that says this is using the dummy module and it simply plays: /usr/share/sounds/speech-dispatcher/dummy-message.wav For some reason, speech-dispatcher is not able to use espeak or festival and defaults to the dummy module. I looked at /etc/speech-dispatcher/speechd.conf. Maybe jovie needs a client conf? Should the default module, espeak, be in "", like all the other lines are? That sounds too easy, but I haven't tried it yet. Guess what? I fixed it!!! I was looking at /etc/speechd.conf and it says the paths of the executables have to be relative to lib/speech-dispatcher-modules/ or absolute. I haven't tried speech on my i686 laptop, but I was thinking that my desktop is x86_64, so I put in absolute paths for all of the modules: /usr/lib64/speech-dispatcher-modules/sd_* I also put in quotes, like the other lines: DefaultModule "espeak" It works!!! I am not able to get festival or flite (I uncommented it) to work, however. festival.log still says: festival_client: connect to server failed flite.log and the others are empty, but I can only choose espeak voices. I cannot shut it off. It keeps on playing to the end of the file and doesn't respond to any controls, not in the systray or in systemsettings. Yikes! (In reply to comment #64) > @Peter Robinson: Can you please fix the speech-dispatcher package to put the > shared library in the proper place (as per comment #60)? Yes but I don't have much time atm so a patch would be welcome as that subdir is where they're put by default. I have been fiddling a bit and I must reiterate: 1. It is very difficult to get this working after a full system restart from power off or reboot. It takes numerous kills of jovie and restarts of speech-dispatcherd in various combinations (according to the jovie manual, speech-dispatcherd is supposed to be running first, I think, but it didn't work) to actually get a file to be read. 2. Once a file to be read has been selected and it starts reading, it is impossible to pause or stop it. It reads to the end no matter what you try to do to stop it, short of killing jovie. 3. Only the espeak module works, no other module. 4. festival crashes and never runs, not even from the command line. 5. flite is not detected by jovie, even though it is uncommented in /etc/speech-dispatcher/speechd.conf and it is supposed to work with jovie. 6. I haven't tried mbrola yet, but it works on the command line. Despite these 'growing pains', this is a HUGE development. Created attachment 477302 [details] Fix lib paths as per Comment 67 Can obtain test i386 binaries from http://tomasm.tk/fedorarepo/TMM/14/i386/ speech-dispatcher-0.7.1-4.fc13,dotconf-1.3-2.fc13 has been submitted as an update for Fedora 13. https://admin.fedoraproject.org/updates/speech-dispatcher-0.7.1-4.fc13,dotconf-1.3-2.fc13 speech-dispatcher-0.7.1-4.fc14,dotconf-1.3-2.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/speech-dispatcher-0.7.1-4.fc14,dotconf-1.3-2.fc14 confirmed a working speech-dispatcher https://bugzilla.redhat.com/show_bug.cgi?id=654585#c7 makes jovie function properly. yay! speech-dispatcher-0.7.1-4.fc13, dotconf-1.3-2.fc13 has been pushed to the Fedora 13 stable repository. If problems still persist, please make note of it in this bug report. speech-dispatcher-0.7.1-4.fc14, dotconf-1.3-2.fc14 has been pushed to the Fedora 14 stable repository. If problems still persist, please make note of it in this bug report. |