Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

[Solved] Speech synthesis feature

For discussion of ports to POSIX based systems, especially using GNUStep.

Moderators: another_commander, winston, Getafix

Locked
User avatar
tinker
Deadly
Deadly
Posts: 166
Joined: Tue Jul 22, 2008 7:45 am
Location: Sachsen

[Solved] Speech synthesis feature

Post by tinker »

caracal wrote:

Also, my sound level at startup is wildly variable. Sometimes I have to immediately turn it way down, sometimes it is almost inaudible and needs to be cranked up. But I think that's more of an issue with my system configuration rather than oolite, cuz all sorts of audio-related things have been acting cranky since I installed PulseAudio. :x
I first noticed this effect yesterday, first start up sounds was inaudible, adjust sound level a played for a while OK. Second startup was deafened.

I have not noticed any other problems with sound since updating to Lucy and it has only occurred with 1.74 did not have any problem with 1.73.4 or 1.74 trunk.

I am willing to blame pulse audio, but not with any certainty yet.

I have also noticed a couple of crash to desktops with 1.74 but do not have enough info to report any bug yet.
User avatar
caracal
Deadly
Deadly
Posts: 205
Joined: Wed Jun 25, 2008 11:31 am
Location: The Desert, USA
Contact:

Re: Joystick behavior change starting with 1.74

Post by caracal »

tinker wrote:
caracal wrote:
Also, my sound level at startup is wildly variable.
I first noticed this effect yesterday, first start up sounds was inaudible, adjust sound level a played for a while OK. Second startup was deafened.
...
I am willing to blame pulse audio, but not with any certainty yet.
Oh, I'm putting the blame squarely on PulseAudio. It is widely hated, exactly for problems such as this. There's probably some magic coniguration flyspeck you can put somewhere to make it stop doing that, but ... sigh. Why they chose Pulse, I'll never know. Maybe it was the most portable or something.
tinker wrote:
I have also noticed a couple of crash to desktops with 1.74 but do not have enough info to report any bug yet.
I've had exactly one so far using the nightly builds. I exited witchspace and then was looking at my wallpaper, which at that moment was displaying a space scene. Took me a second to realize that it was not some new game effect. :oops:
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Re: Joystick behavior change starting with 1.74

Post by Kaks »

caracal wrote:
Why they chose Pulse, I'll never know. Maybe it was the most portable or something.
Err, I think you'll have to ask the espeak dev team that very question! :)

I vaguely believe it's got something to do with audio latency, but it's clearly not my area of expertise! :P
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
User avatar
caracal
Deadly
Deadly
Posts: 205
Joined: Wed Jun 25, 2008 11:31 am
Location: The Desert, USA
Contact:

Re: Joystick behavior change starting with 1.74

Post by caracal »

Kaks wrote:
caracal wrote:
Why they chose Pulse, I'll never know. Maybe it was the most portable or something.
Err, I think you'll have to ask the espeak dev team that very question! :)

I vaguely believe it's got something to do with audio latency, but it's clearly not my area of expertise! :P
Nor mine, but I always smell bullshit when the audio gurus start debating things like latency and such. Next thing you know, we'll all have to go out and buy $9000 iridium-plated speaker cables. :roll:
User avatar
Getafix
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 979
Joined: Tue Apr 01, 2008 12:55 pm
Location: A small ice asteroid, orbiting Oresrati in Galaxy 8 (a.k.a. northwest Armorica).
Contact:

Post by Getafix »

espeak can be built with pulseaudio or portaudio.
The espeak currently distributed with test-releases is customly built with pulse-audio due to the fact that portaudio was generating a lot of issues to many distros.
EDIT (26/Jul/2010): PulseAudio dependency has been removed at Oolite 1.74.2. Speech via PulseAudio is still available as an alternative.

However, Ubuntu distributes espeak built with portaudio.

You could force oolite to use your O/S's espeak (which uses portaudio) by
renaming the espeak* library distributed with oolite .package installation
and rerun oolite:

Code: Select all

$ sudo mv [/usr or ~/.local]/lib/Oolite/oolite-deps/lib/libespeak.so.1 [/usr or ~/.local]/lib/Oolite/oolite-deps/lib/libespeak.so.1.oolite
$ oolite
Please, post the results!

EDIT: Please, keep in mind that using espeak/portaudio could hit on this bug.
Therefore, either you learn how to configure PulseAudio or
just take your chance to hit on the bug and
start hearing blips and scritching sounds instead of speech.
Last edited by Getafix on Sun Jul 25, 2010 9:50 pm, edited 1 time in total.
"Any sufficiently advanced information is indistinguishable from noise." [Newman, Lachmann, Moore]
User avatar
caracal
Deadly
Deadly
Posts: 205
Joined: Wed Jun 25, 2008 11:31 am
Location: The Desert, USA
Contact:

Post by caracal »

Getafix wrote:
EDIT: Please, keep in mind that using espeak/portaudio could hit on this bug.
Therefore, either you learn how to configure PulseAudio or
just take your chance to hit on the bug and
start hearing blips and scritching sounds instead of speech.
That's what this is all about, the speech synthesis?! Well okay then ... I tried it for about ten minutes, decided it wasn't for me, so won't be using it in the future. So if my only risk is bad synthesized speech, I think I can live with that.

Thanks for the tip, Getafix!
User avatar
Getafix
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 979
Joined: Tue Apr 01, 2008 12:55 pm
Location: A small ice asteroid, orbiting Oresrati in Galaxy 8 (a.k.a. northwest Armorica).
Contact:

Post by Getafix »

@caracal
You may choose to live without that, however,
oolite will be still needing that to startup. :P
Unless, you choose to hide the espeak packaged with oolite and, therefore,
force the usage of your O/S's native espeak installation (if existing, else
oolite will complain about missing dependency).

As far as I am concerned I like it, especially after the voice profile changes
suggested by a_c here.
"Any sufficiently advanced information is indistinguishable from noise." [Newman, Lachmann, Moore]
User avatar
tinker
Deadly
Deadly
Posts: 166
Joined: Tue Jul 22, 2008 7:45 am
Location: Sachsen

Post by tinker »

I have also abandoned espeak use, I much prefer my slightly modified Hal's sister for ship messages and the synthesised messages just walk over her as well as not sounding as good. The only good points being the spoken name of the current system and the use of my commanders name, I can live without those. It is also very disturbing that the epeak messages get broken up a lot especially when exiting witchspace, I usually hear "In... Inc.. ...age." There is a similar break up when leaving a station but normally not as severe.

I would be useful if the player could set what messages are spoken, then I could use a different voice for system messages and keep my current on-board messages.
User avatar
Getafix
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 979
Joined: Tue Apr 01, 2008 12:55 pm
Location: A small ice asteroid, orbiting Oresrati in Galaxy 8 (a.k.a. northwest Armorica).
Contact:

Post by Getafix »

Split discussion.

@tinker
tinker wrote:
...It is also very disturbing that the epeak messages get broken up...
Which version of oolite are you using?
Which type of installation (i.e. built from code, autopackage, deb)?

I only had these problems when using the O/S's native espeak.
With oolite custom espeak all these problems have been resolved
(tested on Debian5.03, Fedora11, [K]ubuntu8.04-10.04, Mandriva2009, OpenSuse11.1).
caracal wrote:
...Oh, I'm putting the blame squarely on PulseAudio. It is widely hated, exactly for problems such as this. There's probably some magic coniguration flyspeck you can put somewhere to make it stop doing that, but ... sigh. Why they chose Pulse, I'll never know. Maybe it was the most portable or something....
I really do not care for who's to blame. :P

What I care for is give to the Linux user the opportunity to have a blast
playing a game like oolite, as the Mac and Windows user do, considering:
a. the moto "Let's all (gamers, testers, maintainers, developers, managers) have fun"
b. the limited resources we have on adapting Oolite to every distro's need/difference
or even mentality (call me BSD, GNU or call me rpm based, deb based or whatever)
c. deploy a cross/platform game with all these wonderful features our
great-great-great and 8) development team has created and
not leave the Linux user with a cut-down version

Concerning the speech synthesis (in case of incompatibilities) the user is still free to choose:
1. I like the option of speech synthesis and since my distro does not have
pulseaudio, I will get it and if needed I will configure it. Anyhow it is not
the first time Linux is needing some "touching" to bring it to my needs.
2. I hate pulseaudio or I do not want to configure anything my distro
does not deliver by default (:shock:), therefore, I will use my distro's
espeak/portaudio. If it's buggy, I can live without speech synthesis until
my distro decides to resolve the bugs.
3. I hate speech synthesis (even with a_c's voice profile?!? :shock: ). I turn it off.

Sorry for the long speech (not synthesized :D) but the latest issues we
encountered due to distro oriented issues, has really gotten on my nerves.

-- Getafix is now performing his relaxation exercises
Inhale... Exhale saying Goooooooosfraaabaa... Inhale...


EDIT: Now that I finished my relaxation exercises I realized that I forgot :oops:
the great-great-great and 8) expansion packs developed by the community
members making Oolite a really versatile game!
"Any sufficiently advanced information is indistinguishable from noise." [Newman, Lachmann, Moore]
User avatar
tinker
Deadly
Deadly
Posts: 166
Joined: Tue Jul 22, 2008 7:45 am
Location: Sachsen

Post by tinker »

Which version of oolite are you using?
Which type of installation (i.e. built from code, autopackage, deb)?
I have this problem with 1.74 autopackage 64bit, in case someone wants to blame the system specs :wink: I have a quad core AMD, 8 Gb ram, nvidia 9800 GX2 1Gb video running Xubuntu 10.4 @ 1920 x 1200 and Oolite looks really good on a 28 inch monitor.

I am quite with you on your rant, I have several a week due to problems brought about by distro maintainers deciding what is best for me. For this reason I am thinking of ditching *buntu in favour of a system where I have more, or even total, control over the installation and at the same time move away from a release based distro to a rolling release. I have just installed Arch on one of my severs with minimal problems and will probably get around to my games box soon. I expect problems but they will at least be my own problems.
User avatar
Getafix
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 979
Joined: Tue Apr 01, 2008 12:55 pm
Location: A small ice asteroid, orbiting Oresrati in Galaxy 8 (a.k.a. northwest Armorica).
Contact:

Post by Getafix »

@tinker
Your system specs are quite good. :P :D
The truth is that Linux has still a long way to reach to a decent audio stack. :wink:

Anyhow, trying hard not to go way off-topic, could you try the following?
A simple check that Xubuntu has espeak natively installed

Code: Select all

$ ll /usr/lib/libespeak*
and then
Getafix wrote:
You could force oolite to use your O/S's espeak (which uses portaudio) by
renaming the espeak* library distributed with oolite .package installation
and rerun oolite:

Code: Select all

$ sudo mv [/usr or ~/.local]/lib/Oolite/oolite-deps/lib/libespeak.so.1 [/usr or ~/.local]/lib/Oolite/oolite-deps/lib/libespeak.so.1.oolite
$ oolite
"Any sufficiently advanced information is indistinguishable from noise." [Newman, Lachmann, Moore]
User avatar
tinker
Deadly
Deadly
Posts: 166
Joined: Tue Jul 22, 2008 7:45 am
Location: Sachsen

Post by tinker »

Getafix wrote:
@tinker
Your system specs are quite good. :P :D
The truth is that Linux has still a long way to reach to a decent audio stack. :wink:
Well it can do audio quite well, my Studio box works well, midi and audio editing in real time, but runs a realtime kernel and does nothing but makeing music,it does nothing else very well.
Anyhow, trying hard not to go way off-topic, could you try the following?
A simple check that Xubuntu has espeak natively installed

Code: Select all

$ ll /usr/lib/libespeak*
that shows

Code: Select all

-rw-r--r-- 1 root root 474964 2010-03-25 05:47 /usr/lib/libespeak.a
lrwxrwxrwx 1 root root     19 2010-05-17 11:29 /usr/lib/libespeak.so -> libespeak.so.1.1.43
lrwxrwxrwx 1 root root     19 2010-05-14 16:20 /usr/lib/libespeak.so.1 -> libespeak.so.1.1.43
-rw-r--r-- 1 root root 235408 2010-03-25 05:47 /usr/lib/libespeak.so.1.1.43
and then
Getafix wrote:
You could force oolite to use your O/S's espeak (which uses portaudio) by
renaming the espeak* library distributed with oolite .package installation
and rerun oolite:

Code: Select all

$ sudo mv [/usr or ~/.local]/lib/Oolite/oolite-deps/lib/libespeak.so.1 [/usr or ~/.local]/lib/Oolite/oolite-deps/lib/libespeak.so.1.oolite
$ oolite
Running Oolite is better then, from the point that it does not stutter or miss big chunks of speech, but I will still be turning it off for normal play. It might become interesting if I can select what messages are spoken until then I am happy to live without it.
User avatar
Getafix
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 979
Joined: Tue Apr 01, 2008 12:55 pm
Location: A small ice asteroid, orbiting Oresrati in Galaxy 8 (a.k.a. northwest Armorica).
Contact:

Post by Getafix »

tinker wrote:
...Running Oolite is better then, from the point that it does not stutter or miss big chunks of speech...
Nice! I understand that in some distros portaudio behaves right, while in others pulseaudio is the way to proceed. :?
Thank you very much for performing the test and giving me that info. 8)
tinker wrote:
...but I will still be turning it off for normal play...
Turning the damn thing off, is always an option! :)
tinker wrote:
...It might become interesting if I can select what messages are spoken...
To tell you the truth I would also like to have that option.
For example, select what kind of messages are spoken from a predefined list like
"None",
"Alerts Only" (e.g. Incoming missile)
"Alerts & Info" (e.g. Alerts & some important informative) or
"All" (all messages like views etc.)
or even minimize the spoken messages when in combat mode.

As I see it, this is too much of a fuzz to have it, even for the stable version, and
I am again going straight forward to off-topic again. :)
"Any sufficiently advanced information is indistinguishable from noise." [Newman, Lachmann, Moore]
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post by Kaks »

Hmm, as early as v1.65 you could already select the level of Growl alerts - on macs - so most of the groundwork for different alert/message levels should be in the code already...

I'll see what can be done, it might not be too much of a fuzz, whatever that is! :D
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
Locked