Comments

post #7501 Boris Dušek 14/08/2011 08:08 PM:

This was initiated by Debian Bug #636283.

sd_generic with espeak-generic.conf and alsa output is unusable. Did not try other outputs.

When I compile speech-dispatcher 0.7.1 in Debian SID with CFLAGS="-O0 -ggdb3", set "Debug 1" in espeak-generic.conf and start espeak-generic using:

LD_LIBRARY_PATH=src/audio/.libs src/modules/.libs/sd_generic config/modules/espeak-generic.conf

and then provide the module with these commands:

INIT
LOGLEVEL
log_level=5
.
AUDIO
audio_output_method=alsa
audio_alsa_device=default
.
SET
pitch=0
rate=0
volume=100
punctuation_mode=none
spelling_mode=off
cap_let_recogn=none
language=en
voice=male1
synthesis_voice=NULL
.
SPEAK
this is a very long message to make sure it will be spoken by espeak-generic for a very long time
.

Then the module does not speak anything and exits. The log (attached) mentions a full command that was executed by the generic module. If I run the command manually from command-line:

echo 'this is a very long message to make sure it will be spoken by espeak-generic for a very long time' | espeak -w /tmp/espeak.wav -v en -s 160 -a 20 -p 50 ??6 --stdin && aplay /tmp/espeak.wav

or better using the verbatim output from stderr to make sure the garbled characters before `--stdin' parameter to `espeak' are interpreted exactly as they are:

sed -n '61p' espeak-generic-stderr.log | cut -b 61-255 | /bin/sh

then the message is spoken fine.

The same happens with pico-generic.conf (accessible from Debian), so the problem seems more specific to sd_generic in general than espeak-generic.conf.

Attaching transcript of interactive session with sd_generic (espeak-generic.log in this message) and redirected stderr to a file from another run of the same commands (espeak-generic-stderr.log in next comment).

Finally I will add that when I debugged sd_generic with gdb, and set follow-fork-mode child to make sure I get into the child process that constructs the above command string and passes it to `system' function, it worked fine - the message was spoken.
Attachment: espeak-generic.log (4.286 kB)

post #7502 Boris Dušek 14/08/2011 08:09 PM:

stderr from sd_generic run with espeak-generic.conf config file
Attachment: espeak-generic-stderr.log (3.556 kB)

post #7713 Boris Dušek 21/08/2011 07:44 AM:

I just tried on ubuntu natty. It is reproducible with alsa, but works fine with pulse. So it's probably some aplay oddity. aplay however plays back the sound fine when launched from command-line (i.e. aplay /tmp/espeak.wav).

post #7714 Boris Dušek 21/08/2011 07:51 AM:

 * Název: sd_generic in 0.7.1 broken: does not say first message and quits -> sd_generic in 0.7.1 broken with alsa: does not say first message and quits
Forgot to say this: Ubuntu Natty was IA-32 (i.e. i686), Debian unstable was Intel 64 (i.e. x86_64).
Total records: 4
Note: You need to log in before you can post comments.