Edge-TTS 和 PopClip 结合朗读选择的文字
一直使用默认的 say
来朗读,但是效果一言难尽。今天 google
了一下 “popclip 朗读”,前两个推荐就是 edge-tts
,特别是 X 上的推友 连代码都写出来了,于是部署了 一下。
安装
使用 mkdir edge-tts
创建一个目录,进入目录中初始化python
虚拟环境:
python3 -m venv .venv |
然后把 edge-tts
安装到该虚拟环境中:
pip install edge-tts |
使用 edge-playback --text "hello"
测试,提示需要安装 mpv
。使用 brew
安装 mpv
(会安装比较多的依赖):
brew install mpv |
再次运行 edge-playback --text "hello"
,lulu
提示要连接网络,允许后就可以播放声音了,效果非常不错。
配置
修改推友的代码,把
/path/to/edge-playback --rate="${POPCLIP_OPTION_RATE:-+20%}" --voice "${POPCLIP_OPTION_VOICE:-zh-CN-XiaoxiaoNeural}" --text "$POPCLIP_TEXT" |
改成了
export PATH=${POPCLIP_OPTION_PATH}:$PATH |
因为我们是把 edge-tts
安装在 python
的虚拟环境中,需要设置 PATH
环境变量。
然后,在下面的 options 中增加了
- identifier: path |
这样使用的时候就不需要修改代码,只需要把之前创建的edge-tts/.venv/bin
目录的全路径填入第一个设置栏即可。
代码
完整的代码在 github
参考:
https://gist.github.com/limboinf/e9345163d721548e580d730d094dd003