Bug 569531

Summary: jovie (formerly kttsd) doesn't start & installed voices cannot be selected
Product: [Fedora] Fedora Reporter: Peter Gückel <pgueckel>
Component: speech-dispatcherAssignee: Peter Robinson <pbrobinson>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: low    
Version: 13CC: 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 Flags
Fix lib paths as per Comment 67 none

Description Peter Gückel 2010-03-01 16:42:45 UTC
Description of problem:
Despite having festvox voices installed and despite both festival and espeak working when started on the command line, nothing works in kttsd. It perpetually says that kttsd is not running, and when one ticks the box to start, the apply button never alights to cause it to do so. When starting kttsd from the command line, nothing appears to happen, and system settings still shows that it is not running, and the 4th tab that it creates never appears, as is shown in all of the latest kde documentations. When trying to select a talker, the mask opens, but it is empty and it is impossible to select any voice.

Version-Release number of selected component (if applicable):
4.4.0-1

How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:
The last time kttsd worked in fedora was a few years ago when kde 3.4 was current. Once switching to 4.0, kttsd no longer worked and has not worked to this day, not on x86_64, nor on i686.

Comment 1 Peter Gückel 2010-03-01 16:46:41 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.

Comment 2 Peter Gückel 2010-03-07 23:42:24 UTC
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.

Comment 3 Peter Gückel 2010-03-11 16:15:43 UTC
Why is kttsd not working? How to get it working and get speech working?

Comment 4 Steven M. Parrish 2010-03-13 02:44:27 UTC
Rex, Kevin any comments or kick this upstream?

Steven M. Parrish
KDE & Packagekit Triager 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 5 Kevin Kofler 2010-03-13 04:26:12 UTC
Well, I have no idea why this doesn't work. I'd suggest reporting this upstream.

Comment 6 Peter Gückel 2010-03-14 16:44:16 UTC
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.

Comment 7 Kevin Kofler 2010-03-18 21:46:16 UTC
*** Bug 574925 has been marked as a duplicate of this bug. ***

Comment 8 Peter Gückel 2010-05-07 18:11:50 UTC
This is clearly a blocker for Fedora 13. Is there a test release to see the progress?

Comment 9 Rex Dieter 2010-05-07 19:32:54 UTC
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.

Comment 10 Rex Dieter 2010-05-07 19:35:19 UTC
Found these, 
bug #467761
upstreamed as
http://bugs.kde.org/show_bug.cgi?id=197245

Comment 11 Rex Dieter 2010-05-07 19:57:22 UTC
Looking into whether we need speech-dispather for this...

found: http://www.freebsoft.org/speechd

but no source tarballs, just a git repo. :(

Comment 12 Peter Gückel 2010-05-08 02:23:13 UTC
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.

Comment 13 Rex Dieter 2010-05-08 02:47:59 UTC
nvm, we already have
BR: speech-dispatcher-devel

Comment 14 Peter Gückel 2010-05-08 15:40:25 UTC
(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.

Comment 15 Kevin Kofler 2010-05-08 18:25:48 UTC
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).

Comment 16 Kevin Kofler 2010-05-08 18:28:14 UTC
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.

Comment 17 Peter Gückel 2010-05-09 00:48:02 UTC
(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.

Comment 18 Kevin Kofler 2010-05-09 14:57:08 UTC
PulseAudio was introduced by default in Fedora 8, so if that's when it stopped working, that would be it.

Comment 19 Peter Gückel 2010-05-09 18:54:05 UTC
You're definitely onto something, Sherlock! I know that's gotta be it.

Comment 20 Peter Gückel 2010-05-29 05:13:49 UTC
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.

Comment 21 Steven M. Parrish 2010-06-05 00:05:43 UTC
This bug has been triaged



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 22 Peter Gückel 2010-06-06 00:58:12 UTC
(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.

Comment 23 Justin 2010-07-09 04:37:07 UTC
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.

Comment 24 Kevin Kofler 2010-07-09 04:40:50 UTC
Your evidence appears to indicate that the Fedora package of speech-dispatcher is broken. Reassigning.

Comment 25 Justin 2010-07-09 11:03:00 UTC
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.

Comment 26 Justin 2010-07-09 13:33:17 UTC
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.)

Comment 27 Peter Gückel 2010-07-09 16:21:54 UTC
(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?

Comment 28 Justin 2010-07-09 19:15:52 UTC
> 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.

Comment 29 Peter Gückel 2010-07-09 22:06:39 UTC
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

Comment 30 Justin 2010-07-10 17:26:56 UTC
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.

Comment 31 Peter Gückel 2010-07-10 21:55:08 UTC
(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?

Comment 32 Peter Robinson 2010-08-04 10:03:58 UTC
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?

Comment 33 Kevin Kofler 2010-08-04 20:08:30 UTC
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!

Comment 34 Peter Robinson 2010-08-30 09:59:46 UTC
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.

Comment 35 Peter Gückel 2010-08-30 23:03:46 UTC
(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?

Comment 36 Peter Robinson 2010-08-30 23:10:58 UTC
(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.

Comment 37 Peter Robinson 2010-10-06 09:22:39 UTC
*** Bug 640533 has been marked as a duplicate of this bug. ***

Comment 38 Kevin Kofler 2010-10-11 16:58:15 UTC
*** Bug 641972 has been marked as a duplicate of this bug. ***

Comment 39 Peter Robinson 2010-10-15 08:20:49 UTC
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.

Comment 40 cobra the joker 2010-10-26 18:06:50 UTC
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 ) .

Comment 41 Peter Gückel 2010-10-27 05:40:24 UTC
(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.

Comment 42 Peter Robinson 2010-10-27 07:01:39 UTC
> 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.

Comment 43 cobra the joker 2010-10-27 16:30:03 UTC
(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 .

Comment 44 Peter Gückel 2010-10-27 17:09:55 UTC
(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.

Comment 45 Peter Gückel 2010-10-27 17:13:55 UTC
(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.

Comment 46 Peter Gückel 2010-11-11 21:27:50 UTC
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 ()

Comment 47 Peter Gückel 2010-11-16 20:33:13 UTC
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?

Comment 48 Marcel Poul 2010-12-07 00:35:19 UTC
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...

Comment 49 Joshua White 2011-01-09 20:17:16 UTC
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.

Comment 50 Rex Dieter 2011-01-09 20:39:11 UTC
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.

Comment 51 Peter Robinson 2011-01-09 21:05:50 UTC
(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.

Comment 52 Rex Dieter 2011-01-09 21:42:06 UTC
OK, I'll try testing with rawhide builds.

Comment 53 Kevin Kofler 2011-01-09 21:55:13 UTC
Can we get a fixed dotconf pushed to F14 updates? And F13?

Comment 54 Rex Dieter 2011-01-09 21:59:06 UTC
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?

Comment 55 Peter Robinson 2011-01-09 22:03:11 UTC
(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.

Comment 56 Joshua White 2011-01-10 03:46:54 UTC
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.

Comment 57 Peter Robinson 2011-01-10 15:17:21 UTC
> 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

Comment 58 Peter Gückel 2011-01-10 20:36:03 UTC
Thanks for showing renewed interest in this years-long bug in Fedora. I am now using 4.5.95 and it still bugs.

Comment 59 Peter Gückel 2011-01-11 21:23:39 UTC
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

Comment 60 Kevin Kofler 2011-01-11 23:02:28 UTC
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.

Comment 61 Peter Gückel 2011-01-11 23:57:03 UTC
(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.

Comment 62 Peter Gückel 2011-01-12 00:15:41 UTC
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!

Comment 63 Kevin Kofler 2011-01-12 00:42:43 UTC
> What's the difference between ${_libdir} and %{_libdir}?

${_libdir} is just a typo, sorry.

Comment 64 Kevin Kofler 2011-01-12 00:46:31 UTC
@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.

Comment 65 Peter Gückel 2011-01-12 07:42:26 UTC
(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.

Comment 66 Peter Gückel 2011-01-12 08:09:10 UTC
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!

Comment 67 Peter Robinson 2011-01-12 12:55:07 UTC
(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.

Comment 68 Peter Gückel 2011-01-12 23:07:54 UTC
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.

Comment 69 Tomas Miljenović (TomasM) 2011-02-06 13:26:45 UTC
Created attachment 477302 [details]
Fix lib paths as per Comment 67

Can obtain test i386 binaries from http://tomasm.tk/fedorarepo/TMM/14/i386/

Comment 70 Fedora Update System 2011-03-15 09:44:36 UTC
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

Comment 71 Fedora Update System 2011-03-15 09:45:28 UTC
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

Comment 72 Rex Dieter 2011-03-15 13:31:44 UTC
confirmed a working speech-dispatcher https://bugzilla.redhat.com/show_bug.cgi?id=654585#c7 makes jovie function properly.  yay!

Comment 73 Fedora Update System 2011-03-23 22:53:41 UTC
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.

Comment 74 Fedora Update System 2011-03-23 22:55:41 UTC
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.