Bug 981271 - KTTSMgr cannot use festival 2.4 in 15.0
Summary: KTTSMgr cannot use festival 2.4 in 15.0
Status: RESOLVED WORKSFORME
Alias: None
Product: openSUSE Distribution
Classification: openSUSE
Component: KDE3 (show other bugs)
Version: Leap 15.0
Hardware: x86-64 Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Yasuhiko Kamata
QA Contact: E-mail List
URL: http://bugs.pearsoncomputing.net/show...
Whiteboard:
Keywords: accessibility
Depends on: 1116808
Blocks:
  Show dependency treegraph
 
Reported: 2016-05-24 06:35 UTC by Felix Miata
Modified: 2021-02-19 22:02 UTC (History)
9 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
output from alsa-info.sh (48.61 KB, text/plain)
2017-06-15 06:33 UTC, Felix Miata
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Felix Miata 2016-05-24 06:35:13 UTC
To reproduce:
1.ensure sound system works reliably
2.install festival and kdeaccessibility3 or trinity-tdeaccessibility from standard repos
3.enable festival with chkconfig (no systemd service for it exists)
4.open a KDE3 or TDE session
5.open KTTSMgr
6.try to add or edit a talker (talker tab)

Actual behavior:
1.voice query fails
2.Enable on General tab cannot be selected
3.TTS cannot produce sound

Expected behavior:
1.voice query succeeds
2.enabling on General tab is possible
3.TTS works as expected (e.g. speak clipboard)

Notes:
1-KDE3's KTTSMgr on 13.1 on host Easystreet made sound until most recent updating, which replaced festival 2.1 with 2.4. Reverting to festival 2.1 from OSS repo restored sound.
2.KDE3' KTTSMgr on 13.2 had never been made to find voices or make sound on host Easystreet. I was only able to make it find voices and make sound after replacing its installed festival 2.4 from KDE3 repo with 2.1 from OSS repo.
3.TDE's KTTSMgr on 42.1 on hosts Easystreet and gx62b would not find voices or make sound until I replaced their festival 2.4 with the 2.1 version from 13.2's OSS repo.
4.TDE's KTTSMgr on Debian stretch on host Easystreet works as expected with its own festival 2.4. Yet to do is figure out why same OS/KTTSMgr/festival on host big41 does not output sound, though it does claim to find voices and appear fully configured to output sound, and other apps do output sound.
5.mailing list thread: http://trinity-users.pearsoncomputing.net/?0::10248
Comment 1 Takashi Iwai 2016-05-24 07:03:27 UTC
festival belongs to KDE:KDE3 project.  Reassigned the component.
Comment 2 Felix Miata 2016-05-24 08:19:57 UTC
The festival packages that I currently have working on 13.1, 13.2 and 42.1 all came from OSS repos, not KDE3:KDE3. I don't see Ilya's email address or string kde anywhere in the changelog of either 2.1 or 2.4.
Comment 3 Takashi Iwai 2016-05-30 08:27:22 UTC
(In reply to Felix Miata from comment #2)
> The festival packages that I currently have working on 13.1, 13.2 and 42.1
> all came from OSS repos, not KDE3:KDE3.

The develproject for festival package in OBS is KDE:KDE3.
Comment 4 Felix Miata 2016-05-30 09:19:42 UTC
(In reply to Takashi Iwai from comment #3)
> The develproject for festival package in OBS is KDE:KDE3.

That's home to non-working openSUSE Festival version 2.4, while the Festvoxes and Festlexes, sources of voices for 2.4, and separate packages in Stretch, are nowhere to be found in OBS except as .tgzs within KDE3:KDE3's Festival source rpm and on http://www.cstr.ed.ac.uk/projects/festival/ .
Comment 5 Takashi Iwai 2016-05-30 09:29:53 UTC
(In reply to Felix Miata from comment #4)
> (In reply to Takashi Iwai from comment #3)
> > The develproject for festival package in OBS is KDE:KDE3.
> 
> That's home to non-working openSUSE Festival version 2.4, while the
> Festvoxes and Festlexes, sources of voices for 2.4, and separate packages in
> Stretch, are nowhere to be found in OBS except as .tgzs within KDE3:KDE3's
> Festival source rpm and on http://www.cstr.ed.ac.uk/projects/festival/ .

No, the develproject is the place where the fix and the development are done primarily.  Please try to understand how the development in openSUSE works.
Comment 6 Felix Miata 2016-05-30 16:53:05 UTC
(In reply to Takashi Iwai from comment #5)
> No, the develproject is the place where the fix and the development are done
> primarily.  Please try to understand how the development in openSUSE works.

I know well how openSUSE is developed. I don't understand the point of comment 3. Until something changes WRT Festival/Festvox/Festlex in KDE3:KDE3, there's no point trying it, since its sole binary rpm, Festival 2.4, has proven useless in multiple installations, while the older v2.1 is better than nothing.
Comment 7 Takashi Iwai 2016-05-30 19:54:47 UTC
(In reply to Felix Miata from comment #6)
> (In reply to Takashi Iwai from comment #5)
> > No, the develproject is the place where the fix and the development are done
> > primarily.  Please try to understand how the development in openSUSE works.
> 
> I know well how openSUSE is developed. I don't understand the point of
> comment 3. Until something changes WRT Festival/Festvox/Festlex in
> KDE3:KDE3, there's no point trying it, since its sole binary rpm, Festival
> 2.4, has proven useless in multiple installations, while the older v2.1 is
> better than nothing.

You utterly misunderstand my comments 1 and 3.  This *bug entry* was reassigned to KDE3 because festival package in general is maintained by KDE people as OBS develproject suggests, while it was assigned to a wrong component ("Sound") at first.  It doesn't matter which distro version is.  The only question is the maintainer of the package and/or project.

And changing the bug assignee / component isn't meant that you need to test that version in develproject (although the new bug assignee might request it later).

Anyway, I'll get off, as this was already assigned to the right people now.
Comment 8 Felix Miata 2017-01-09 06:57:10 UTC
Problem exists with 42.1's festival-2.4-23.1, where changelog's last entry was 2015-02-12 by p.drouand@gmail.com.
Comment 9 Forgotten User PDNa7AafJW 2017-04-14 23:07:15 UTC
Leap 42.1 This is why Festival does not work under SuSE.

I installed the festival text to speech application from zypper and tried to run it and got an error message:

~> festival --tts test.txt
Initialization file /usr/share/festival/lib/init.scm not found

~> rpm -qf `which festival`
festival-2.4-3.3.x86_64
~> rpm -ql festival-2.4-3.3.x86_64 | grep init.scm
/usr/share/festival/init.scm
/usr/share/festival/siteinit.scm

It seems that program is expecting stuff to be in /usr/share/festival/lib/ when it is all in /usr/share/festival/

After making a lib sub folder of /usr/share/festival/ and then linking all the files to it I got the thing running though I did have to add the lines

(Parameter.set 'Audio_Required_Format 'aiff)
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "paplay $FILE --client-name=Festival --stream-name=Speech")

to the bottom of festival.scm.

Note: I later changed the latter to:

(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -Dsysdefault -q -c 1 -t raw -f s16 -r $SR $FILE")

This was to get running using Alsa rather than PulseAudio as I was trying to use inside Apache2 (I also added wwwrun to the audio group).
Comment 10 Felix Miata 2017-06-15 04:26:49 UTC
Much obliged for comment 9. Though it's tedious to this user who gets tripped up over shell substitution basics, I was able to use MC to symlink each of the 68 files and 3 directories in /usr/share/festival/ individually to a new directory /usr/share/festival/lib/ in 42.2, add the 3 lines to festival.scm, add wwwrun to the audio group, and have 'festival --tts sometextfile.txt' work. However, speaking the KTTSMgr clipboard, the Easystreet PC user's primary use of TTS, produces no sound. Trying a test sound in KTTSMgr talker configuration also fails.

# grep RETT /etc/os-release
PRETTY_NAME="openSUSE Leap 42.2"
# uname -a
Linux Easystreet 4.4.70-18.9-default #1 SMP Wed May 31 09:09:25 UTC 2017 (c1231a7) x86_64 x86_64 x86_64 GNU/Linux
# rpm -qa | grep festiv
festival-2.4-4.4.x86_64
# lsmod | sort | grep snd
snd                    90112  20 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
snd_hda_codec         147456  4 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel
snd_hda_codec_generic    81920  1 snd_hda_codec_realtek
snd_hda_codec_hdmi     57344  1 
snd_hda_codec_realtek    94208  1 
snd_hda_core           73728  5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
snd_hda_intel          40960  6 
snd_hwdep              16384  1 snd_hda_codec
snd_pcm               135168  4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_core
snd_timer              36864  1 snd_pcm
soundcore              16384  1 snd
# rpm -qa | sort | egrep 'alsa|arts|imedia-l|imedia3|kdm|libasoun|libgstream|mix|pavuc|phonon|pulse|space-libs|tdm|dia-tdeio'
alsa-1.1.3-8.9.1.x86_64
alsa-firmware-1.0.29-4.1.noarch
alsa-oss-1.0.28-6.4.x86_64
alsa-oss-32bit-1.0.28-6.4.x86_64
alsa-plugins-1.1.1-1.3.x86_64
alsa-plugins-pulse-1.1.1-1.3.x86_64
alsa-plugins-pulse-32bit-1.1.1-1.3.x86_64
alsa-utils-1.1.2-1.2.x86_64
arts-1.5.10-66.5.x86_64
kdebase3-kdm-3.5.10.1-325.6.x86_64
kdelibs3-arts-3.5.10-290.1.x86_64
kdemultimedia3-3.5.10.1-56.1.x86_64
kdemultimedia3-CD-3.5.10.1-56.1.x86_64
kdemultimedia3-arts-3.5.10.1-56.1.x86_64
kdemultimedia3-mixer-3.5.10.1-56.1.x86_64
kdemultimedia3-sound-3.5.10.1-56.1.x86_64
kdemultimedia3-video-3.5.10.1-56.1.x86_64
libasound2-1.1.3-8.9.1.x86_64
libasound2-32bit-1.1.3-8.9.1.x86_64
libgstreamer-0_10-0-0.10.36-16.2.x86_64
libgstreamer-1_0-0-1.8.3-2.3.1.x86_64
libphonon4-4.8.1-3.5.x86_64
libpulse-mainloop-glib0-9.0-1.2.x86_64
libpulse0-32bit-9.0-1.2.x86_64
libpulse0-9.0-1.2.x86_64
libxine2-pulse-1.2.8-118.2.x86_64
pavucontrol-3.0-6.4.x86_64
pavucontrol-lang-3.0-6.4.noarch
phonon-backend-gstreamer-4.8.2-4.1.x86_64
pulseaudio-9.0-1.2.x86_64
pulseaudio-bash-completion-9.0-1.2.x86_64
pulseaudio-module-x11-9.0-1.2.x86_64
pulseaudio-utils-32bit-9.0-1.2.x86_64
pulseaudio-utils-9.0-1.2.x86_64
Comment 11 Felix Miata 2017-06-15 06:33:04 UTC
Created attachment 729021 [details]
output from alsa-info.sh

Sound works as expected in Firefox, KDE3 desktop system  and VLC as well as with 'festival --tts sometextfile.txt'.
Comment 12 Felix Miata 2017-06-15 08:49:09 UTC
I got talker tests and speak clipboard to work by changing KTTSMgr's auto output from Arts, which worked prior to upgrade from 13.1 to 42.2, to Alsa default.
Comment 13 Richard Farthing 2017-09-13 11:03:13 UTC
The source rpm spec file maybe has an error
(tested latest Leap 42.3, i.e. 2.4.6.2)

Change the spec file
FTLIBDIR="%{_datadir}/festival/lib" \
to
FTLIBDIR="%{_datadir}/festival" \

and festival compiles and works without error as far as I can tell.
(in addition to adding the lines to festival.scm as suggested above)
Comment 14 Matthias Svete 2018-03-30 20:52:39 UTC
I tested the last festival rpm (2.4.6.2) from Leap 42.3 on Tumbleweed with command line and it worked after:
putting the configuration files from /usr/share/festival/ to /usr/share/festival/lib as mentioned by Richard Farthing

Since I wanted to generate speech output from command line output
I had also to activate the custom audio output in the siteinit.scm file by these  lines (after installation as comments):

(Parameter.set 'Audio_Required_Format 'riff)
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "play -q $FILE")

which seems to be the recommended way on current linux machines since otherwise the output is tried over the deprecated /dev/dsp

The bug seems more a festival maintenance bug than a KTTSMgr bug.

BR MSV
Comment 15 Felix Miata 2018-11-21 04:16:42 UTC
Cannot use in 15.0 due at least to bug 1116808.
Comment 16 Felix Miata 2018-11-29 21:27:26 UTC
The comment 0 "Easystreet" owner reported to me that he was able to enjoy a massive improvement as a result of following the bug 1116808 comment 2 zypper up instruction. However he also said that KTTS falls short of perfection by: 1: omitting the first letter or so in speaking the clipboard, and 2: speaking a bit faster than he'd like. He reported he is now using 15.0 to the exclusion of Debian 9, 13.1, 42.2 and 42.3.
Comment 17 Yasuhiko Kamata 2021-02-19 10:25:20 UTC
Sorry, this bug is closing because Leap 15.0's support period has expired long ago.
Comment 18 Felix Miata 2021-02-19 22:02:01 UTC
I was just notified comment 16 shortcoming went away in 15.1, making this WORKSFORME.