我pulseaudio
在我的系统上使用。我已经安装了 tts 应用程序espeak
和flite
.从命令行调用时,两者都可以完美工作,但通过 调用时则无法工作spd-say
。我需要它们通过 工作spd-say
,因为我想为 Okular 配置 TTS 引擎。
这是输出sudo systemctl status speech-dispatcherd.service
● speech-dispatcherd.service - Speech-Dispatcher an high-level device independent layer for speech synthesis.
Loaded: loaded (/usr/lib/systemd/system/speech-dispatcherd.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2019-01-18 00:30:18 IST; 2min 9s ago
Process: 1067 ExecStart=/usr/bin/speech-dispatcher -d (code=exited, status=1/FAILURE)
Jan 18 00:30:18 archlinux-hostname systemd[1]: Starting Speech-Dispatcher an high-level device independent layer for speech synthesis....
Jan 18 00:30:18 archlinux-hostname speech-dispatcher[1067]: [Fri Jan 18 00:30:18 2019 : 363344] speechd: Speech Dispatcher 0.8.8 starting
Jan 18 00:30:18 archlinux-hostname systemd[1]: speech-dispatcherd.service: Control process exited, code=exited, status=1/FAILURE
Jan 18 00:30:18 archlinux-hostname systemd[1]: speech-dispatcherd.service: Failed with result 'exit-code'.
Jan 18 00:30:18 archlinux-hostname systemd[1]: Failed to start Speech-Dispatcher an high-level device independent layer for speech synthesis..
这是输出journalctl -xe
➜ journalctl -xe
Jan 18 00:30:18 archlinux-hostname sudo[1064]: codingcoffee : TTY=pts/1 ; PWD=/home/codingcoffee ; USER=root ; COMMAND=/usr/bin/systemctl restart speech-dispatcherd.service
Jan 18 00:30:18 archlinux-hostname sudo[1064]: pam_unix(sudo:session): session opened for user root by codingcoffee(uid=0)
Jan 18 00:30:18 archlinux-hostname systemd[1]: Starting Speech-Dispatcher an high-level device independent layer for speech synthesis....
-- Subject: A start job for unit speech-dispatcherd.service has begun execution
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- A start job for unit speech-dispatcherd.service has begun execution.
--
-- The job identifier is 4254.
Jan 18 00:30:18 archlinux-hostname speech-dispatcher[1067]: [Fri Jan 18 00:30:18 2019 : 363344] speechd: Speech Dispatcher 0.8.8 starting
Jan 18 00:30:18 archlinux-hostname systemd[1]: speech-dispatcherd.service: Control process exited, code=exited, status=1/FAILURE
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- An ExecStart= process belonging to unit speech-dispatcherd.service has exited.
--
-- The process' exit code is 'exited' and its exit status is 1.
Jan 18 00:30:18 archlinux-hostname systemd[1]: speech-dispatcherd.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- The unit speech-dispatcherd.service has entered the 'failed' state with result 'exit-code'.
Jan 18 00:30:18 archlinux-hostname systemd[1]: Failed to start Speech-Dispatcher an high-level device independent layer for speech synthesis..
-- Subject: A start job for unit speech-dispatcherd.service has failed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- A start job for unit speech-dispatcherd.service has finished with a failure.
--
-- The job identifier is 4254 and the job result is failed.
Jan 18 00:30:18 archlinux-hostname audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=speech-dispatcherd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=fail>
Jan 18 00:30:18 archlinux-hostname kernel: audit: type=1130 audit(1547751618.383:189): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=speech-dispatcherd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=>
Jan 18 00:30:18 archlinux-hostname sudo[1064]: pam_unix(sudo:session): session closed for user root
Jan 18 00:30:19 archlinux-hostname sudo[1124]: codingcoffee : TTY=pts/1 ; PWD=/home/codingcoffee ; USER=root ; COMMAND=/usr/bin/systemctl status speech-dispatcherd.service
Jan 18 00:30:19 archlinux-hostname sudo[1124]: pam_unix(sudo:session): session opened for user root by codingcoffee(uid=0)
Jan 18 00:30:19 archlinux-hostname sudo[1124]: pam_unix(sudo:session): session closed for user root
这是我的语音调度程序配置文件的输出~/.config/speech-dispatcher/speechd.conf
LogLevel 3
LogDir "default"
DefaultRate 0
DefaultPitch 0
DefaultVolume 100
DefaultLanguage en
AudioOutputMethod pulse
DefaultModule espeak
Include "clients/*.conf"
答案1
也许以下链接可以帮助您解决该问题。
重要的是,Okular 必须看到文本,而不是[扫描的]图像,才能让所有这些文本朗读工具发挥作用。您是否检查过 pdf 文件中是否有文本(可以复制和粘贴文本)?
我没有自己的经验
spd-say
,希望了解的人可以帮助您配置。