espeakup是一个控制台读屏软件,它连接espeak-ng发声,支持中文。即使控制台的中文是乱码也可以正确朗读出来(这一点对于明眼人也有特殊的好处)。Ubuntu Mate上可以使用espeakup。Gnome3桌面上暂不能使用,原因不明。
1. 安装espeakup
安装命令如下:
sudo apt install espeak-ng espeakup
2. 配置espeakup
/etc/default/espeakup配置文件里有一行配置默认语音的,需要将其值改为代表普通话的cmn:
default_voice=cmn
3. 关闭读屏
espeakup和Orca读屏是冲突的,使用espeakup需要关闭Orca读屏。
4. 重启系统
第一次安装完espeakup后需要重启系统才能生效。对于Mate桌面,重启后按CTRL+ALT+F1可以切换到终端1。按CTRL+ALT+F7可以切换回Mate桌面。
5. 已知问题
2023-10-9,在eGuideDog 0.9和Ubuntu Mate 22.04上均无法使用espeakup,原因应该是Linux内核把espeakup的支持去掉了。但我不清楚这是什么时候发生的,也不记得我成功使用espeakup时的Linux版本。
该问题参考资料:
- https://www.mail-archive.com/ubuntu-bugs@lists.ubuntu.com/msg6014099.html
- https://listman.redhat.com/archives/blinux-list/2017-July/msg00060.html
espeakup项目代码地址:https://github.com/linux-speakup/espeakup
评论4
几个控制台读屏对比
espeakup是内核态实现,也就是说它只能在Linux使用,我前面介绍的fenrir是用户态实现,能在其他操作系统使用。
Debian官方推荐yasr,但是我用的Arch没有这个包(连AUR都没有),我还没弄懂这个怎么用。
谢谢你提供的信息,fenrir看起来还不错…
谢谢你提供的信息,fenrir看起来还不错。yasr自2013年就没有更新了,感觉已经欠维护了。
espeakup最牛的地方是他会朗读从服务启动后的所有系…
espeakup最牛的地方是他会朗读从服务启动后的所有系统日志,如果你的系统快坏掉了,他会朗读错误。
一般来说Linux进不去系统的概率非常低
这个功能有一定作用,不过也不是100%不会出现,我只见过别人的Arch滚挂了或者安装时配置错误会这样。如果你有盲文点显器,将会很有用,甚至还能读取BIOS和grub的显示。
其实不管是console(控制台,espeakup能读的地方)还是终端模拟器,从头读到尾往往不是我们想要的结果,尤其是输出很长的时候。比如我正在编译一个软件,我想知道的结果是进度到哪里了,有没有报错,不关心编译细节。所以一个合格的读屏软件必须能够用快捷键快速导航到任意行,至少要能快速跳到最后一行,这点Mac的iTerm2都有些差强人意,Chrome OS的终端就很好用。