虽然有很多选项可以大声朗读粘贴到命令行的文本,但什么是实现突出显示文本相同功能的最佳软件/工具?我正在寻找类似于 mac OS 的东西,但还没有找到任何东西。
已经尝试过这个命令:
bash -c "gespeaker --play-text=\"$(xsel | sed -e :a -e '$!N;s/\n/ /;ta')\""
但没有用。有什么建议吗?
答案1
用户 597291 又来了(没有账户)。弄清楚了如何使用单个键绑定来实现这一点。
您可以使用 xclip 获取主要选定的文本(即突出显示的文本),然后将其导入剪贴板。
从那里使用 xsel 获取剪贴板文本并将其传送到 espeak。我还建议清理换行符,否则 espeak 将只读取最后一段。
方法 1(单独文件):
我这样做的方式是,键绑定调用一个脚本来执行所有这些操作,就像sh ~/.custom-scripts/play-selected-text
键盘绑定命令一样。
脚本如下。
#! /bin/bash
xclip -out -selection primary | xclip -in -selection clipboard
xsel --clipboard | tr "\n" " " | espeak
方法 2(直接在按键绑定中):
如果您不需要单独的文件夹来存储自定义脚本,那么您可以将其放入键盘绑定命令部分。
xclip -out -selection primary | xclip -in -selection clipboard; xsel --clipboard | tr "\n" " " | espeak
答案2
安装 TTSfestival
并xsel
通过管道传输选定的文本。
$ sudo apt-get install festival
$ sudo apt-get install xsel
$ cat << eof > talk.sh
> #!/bin/bash
> xsel | festival --tts --pipe
> eof
$ chmod +x talk.sh
现在转到settings
>keyboard shortcuts
和+
图标创建一个新的快捷方式。在命令字段中输入/home/<your username>/talk.sh
完成。现在您可以选择任意文本,按下您选择的快捷键,Festival 就会为您读出它!