为 jovie(KDE 的文本转语音)添加命令行合成引擎

为 jovie(KDE 的文本转语音)添加命令行合成引擎

我希望能够在 Ubuntu 中大声朗读 PDF。我目前使用 Okular PDF 阅读器。安装 Jovie 后,我能够在 Okular 中大声朗读我的 PDF。但是,我发现当前合成引擎 (espeech) 的语音质量很差,远不及我的 Android 手机上的文本转语音引擎的质量。

安装了android的合成引擎(libttspico-utils)。现在我正努力让 Jovie 知道 libttspico-utils。Jovie 手册(第 A.2 节)说“它(Jovie)也适用于任何可以通过 Konsole 命令运行的合成引擎。”,但没有解释如何做到这一点——这是我的问题。我知道libttspico-utils 可以通过命令行调用

答案1

经过一番调查,我找到了一种使用命令行的方法。如果 Jovie 与 espeak 配合使用正常,并且安装了 libttspico-utils。

在控制台上输入

~$ spd-conf

并回答每个问题的默认答案。这将在 ~/.config/speech-dispatcher/speechd.conf 中创建一个 conf 文件

编辑此文件并取消注释包含“pico-generic”的行

...
#AddModule "ibmtts"       "sd_ibmtts"    "ibmtts.conf"
#AddModule "cicero"        "sd_cicero"     "cicero.conf"
 AddModule "pico-generic" "sd_generic"     "pico-generic.conf"

 # DO NOT REMOVE the following line unless you have
 # a specific reason -- this is the fallback output module
 # that is only used when no other modules are in use
 #AddModule "dummy"         "sd_dummy"      ""
...

然后编辑文件 ~/.kde/share/config/kttsdrc,并将 talker 的 outputModule 从 espeak 更改为 pico-generic

[Talkers]
Sam=<voice name="Sam" lang="en" outputModule="pico-generic" voiceName="" voiceType="1"><prosody volume="0" rate="0" pitch="0" /></voice>

检查 Speech-dispatcher 是否处于用户模式,通过检查文件 /etc/defaults/speech-dispatcher,它应该显示:

RUN=no

为确保无误,请重新启动计算机。

第一次使用 TTS 时,我收到了 DBUS 错误消息,但之后它就运行正常了。

希望它会有所帮助。

答案2

用户基础说:

现在您可以继续并创建一个 Talker。从文本转语音控制模块中选择 Talker 选项卡,然后单击添加。

选择要使用的语言和合成器。您需要安装语音才能使用 Festival,之后您可以通过选择“编辑”按钮来配置语音。现在应该设置好了 Jovie,您可以通过选择“编辑”然后“测试”来测试它。

相关内容