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

Abh*_*and 6 kde text-to-speech

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

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

P. *_*eau 2

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

在控制台类型上

~$ spd-conf
Run Code Online (Sandbox Code Playgroud)

并回答每个问题的默认答案。这将在 ~/.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"      ""
...
Run Code Online (Sandbox Code Playgroud)

然后编辑文件 ~/.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>
Run Code Online (Sandbox Code Playgroud)

检查语音调度程序是否处于用户模式,通过检查文件 /etc/defaults/speech-dispatcher 应该显示:

RUN=no
Run Code Online (Sandbox Code Playgroud)

为了确保万无一失,请重新启动计算机。

我第一次使用 TTS 时,收到 DBUS 错误消息,但之后工作正常。

希望它会有所帮助。


Tim*_*Tim 0

用户群说道:

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

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