fcitx5
实现一个中文语音输入法我这几天为fcitx5
实现一个中文语音输入法,由三部分组成:
fcitx5
输入法模块fcitx5-net
,名字是net
,显示图标是汉字“网”,作用是向goimserver
发送录音指令和结束录音指令。goimserver
,作用是按照fcitx5-net
的指令录音,然后把录音发给asr-paddlespeech
识别,再把识别结果发送给fcitx5-net
。asr-paddlespeech
,用百度飞桨实现的著名语音AI
-paddlespeech
提供本地http
语音识别服务。fcitx5-net
源代码地址是https://gitee.com/rocket049/fcitx5-net,为ubuntu24.04
打包好的DEB包
下载地址是https://gitee.com/rocket049/fcitx5-net/releases,其他系统可以自己编译或者把这个包重新打包以适应其他系统。
goimserver
源代码地址是https://gitee.com/rocket049/goimserver,为ubuntu24.04
编译好的程序压缩包下载地址是https://gitee.com/rocket049/goimserver/releases,编译时需要安装portaudio19-dev
和libasound2-dev
,运行只需要安装libporaudio2
和libasound2
。
asr-paddlespeech
源代码地址是https://gitee.com/rocket049/asr-paddlespeech,下载源代码后进入本目录,按照readme.txt
装paddlespeech
运行环境,然后运行脚本run-asr-server
就可以了。脚本run-im-backend
可以同时启动goimserver
和asr-paddlespeech
,但是要先把goimserver
程序链接或复制到本目录下。脚本close-im-backend
用来关闭后台运行的goimserver
和asr-paddlespeech
。
安装fcitx5-net
后,先运行脚本run-im-backend
,然后把输入法切换到fcitx5-net
,输入法名字是net
,显示图标是汉字“网”,点一下右侧Ctrl
,开始录音,结束时在按一次右侧Ctrl
,识别结果就会直接输入到光标处。