Updates to Github #github


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #171 monotonous speech by default when used as a lib?
By sthibaul:

Hello,

I believe I found what the issue is. You can try easily by building brltty from brltty.com, patching Programs/spktest.c the following way:

  • if (!sayString(spk, string, 0)) return 0;
  • if (!sayString(spk, string, SAY_OPT_MUTE_FIRST)) return 0;

then

./configure --with-speech-driver=es && make cd Programs ; make spktest ./spktest -t "hello, this is a test" es

The speaking will be monotonous. Running with ltrace notably shows:

27451 espeak_Initialize(0, 0, 0, 0 ... 27451 espeak_SetParameter(1, 265, 0, 185 27451 espeak_Cancel(0x7ffd488f7270, 0x5593fc0aa0c0, 0, 0x5593fc0aeb94 27451 espeak_Synth(0x5593fccfae60, 22, 0, 1

i.e. espeak_Cancel is called before any call to espeak_Synth. It happens that espeak_ng_Cancel indeed calls SetParameter with the saved parameters without having checked that they have been saved at all at least once, and thus bogusly sets all parameters to 0!

Even if it looks odd, calling espeak_Cancel before espeak_Synth is not a crazy thing to do and it does work with espeak. The following patch fixes the issue here.

monotonous.txt


[espeak-ng:master] New Comment on Issue #171 monotonous speech by default when used as a lib?
By sthibaul:

Ergl, of course github mangled it all... I of course meant to replace the first quoted code line with the second quoted line.

Join espeak-ng@groups.io to automatically receive all group messages.