Speech Dispatcher 如何配置后端(espeak-ng)参数?

复现步骤:
# zypper in --recommends espeak-ng speech-dispatcher-configure
$ spd-conf -u
$ systemctl reboot
$ spd-say “哈哈”

如题,没有从官方文档中找到相关说明 :joy:
提出这个问题,是因为 speech-dispatcher 会使用 espeak-ng 的 cmn 语音 来输出中文,效果惨不忍睹(声音就像舌头打了几个弯,说的貌似也不是普通话),不过 espeak 的cmn-latn-pinyin语音包 倒是蛮不错的 :joy:

@Sauntor

找一下 espeak-ng-mbrola-generic.conf,里面有 AddVoice “zh” “FEMALE1” “cn1”

那样可能需要自己编译安装 mbrola 并启用 espeak-ng-mbrola.conf,仅修改espeak-ng.conf不起作用 :disappointed_relieved:

  • 配置文件里添加 defaultVoiceAddVoice 似乎不起作用 *

我试过:

espeak-ng -v cmn-latn-pinyin "wow 你真棒!"
spd-say -l zh-CN -y cmn-latn-pinyin "wow 你真棒!"

这两个命令都是可以正常发音的,为啥就不能配成默认值呢?

@Sauntor 这个问题你只能去 GitHub 找 espeak-ng 上游提 issue 改默认,沟通一下看看上游怎么说。因为就算能改配置实现,openSUSE 作为下游维护这一套 patch 光是保持同步也是很费时费力的 :joy: 况且 espeak-ng 现在的维护者不是中国人,他理解不了你所谓的 “好” 好在哪里。或者如果你愿意参与维护这个包,去自己维护这个补丁集,可以去 OBS 的 Science/espeak-ng 申请一下,我这边有权限可以批准的。