Bug#857617: espeak - mbrola voice not found
Source: espeak
Severity: normal
Dear Maintainer,
it looks like ther eis a returning bg with espeak.I discovered, that espeak is not finding the
mbrola speech files. Additionally, espeak is not using mbrola phonetics.
This is the part of strace output at the command
espeak -v mb-de7 "hello world"
------ snip -----
sysinfo({uptime=4165, loads=[1792, 23904, 59584], totalram=1572311040, freeram=66408448, sharedram=27394048, bufferram=27017216, totalswap=1998737408, freeswap=1282551808, procs=850, totalhigh=0, freehigh=0, mem_unit=1}) = 0
stat("/usr/lib/x86_64-linux-gnu/espeak-data/voices/mb/mb-de7", {st_mode=S_IFREG|0644, st_size=106, ...}) = 0
open("/usr/lib/x86_64-linux-gnu/espeak-data/voices/mb/mb-de7", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=106, ...}) = 0
read(3, "name german-mbrola-7\nlanguage de"..., 4096) = 106
stat("/usr/lib/x86_64-linux-gnu/espeak-data/mbrola/de7", 0x7ffef52bfce0) = -1 ENOENT (No such file or directory)
stat("/usr/share/mbrola/de7", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
pipe([4, 5]) = 0
pipe([6, 7]) = 0
pipe([8, 9]) = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f0a4d8aa050) = 10624
open("/proc/10624/stat", O_RDONLY) = 10
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[PIPE], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f0a4c8e2040}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
fcntl(5, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
fcntl(6, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
fcntl(8, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
close(4) = 0
close(7) = 0
close(9) = 0
write(5, "#\n", 2) = 2
lseek(10, 0, SEEK_SET) = 0
read(10, "10624 (espeak) R 106", 20) = 20
poll([{fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 2, 1) = 0 (Timeout)
lseek(10, 0, SEEK_SET) = 0
read(10, "10624 (espeak) R 106", 20) = 20
poll([{fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 2, 4) = 0 (Timeout)
lseek(10, 0, SEEK_SET) = 0
read(10, "10624 (mbrola) R 106", 20) = 20
poll([{fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 2, 16) = 0 (Timeout)
lseek(10, 0, SEEK_SET) = 0
read(10, "10624 (mbrola) S 106", 20) = 20
poll([{fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 2, 0) = 0 (Timeout)
write(2, "mbrowrap error: unable to get .w"..., 53mbrowrap error: unable to get .wav header from mbrola) = 53
write(2, "\n", 1
) = 1
close(10) = 0
close(5) = 0
close(6) = 0
close(8) = 0
kill(10624, SIGTERM) = 0
wait4(10624, NULL, 0, NULL) = 10624
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=10624, si_uid=1000, si_status=SIGPIPE, si_utime=5, si_stime=0} ---
write(2, "mbrola voice not found\n", 23mbrola voice not found
) = 23
read(3, "", 4096) = 0
close(3) = 0
stat("/usr/lib/x86_64-linux-gnu/espeak-data/de_dict", {st_mode=S_IFREG|0644, st_size=21816, ...}) = 0
open("/usr/lib/x86_64-linux-gnu/espeak-data/de_dict", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=21816, ...}) = 0
read(3, "\0\4\0\0,\"\0\0\0\0\rD\\\364\2018T\177\"\6#2\0\0\23G\34Q\305:\260\205"..., 20480) = 20480
read(3, "\203\0\4oll\10\2br\3S\2q7\0oll\10\2ko\0oll\10\2str"..., 4096) = 1336
close(3) = 0
--- snap --------
As you can see, thembrla voices are not found. Thi swas an earlier bug in version 0.8.2.
However, when you add a symlink to the files, this does nt work (what is strange), but when you copy the files
diretly to the search path, they will be found.
On the other hand, this is only one bug I found, but the other thing is not working:
mbrola phonetics and sound is not used, espeak is still using the standard espeak phonetics.
Please note, this bug also involves the functionality of the package "gespeaker", which is based on
espeak.
It would be nice, if you could take a look at it.
Thank you for all your efforts!
Best regards
Hans
-- System Information:
Debian Release: 9.0
APT prefers testing
APT policy: (500, 'testing'), (500, 'stable')
Architecture: x86_64
Kernel: Linux 4.9.0-2-amd64 (SMP w/1 CPU core)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)
Reply to: