爱意满满的作品展示区。
devcxlcn

给 Fcitx5 写了个语音输入插件, VAD 自动分割,不用按键

  •  2
     
  •   devcxlcn ·
    devcxl · 22h 16m ago · 624 views

    先说背景。我一直想在 Linux 上用语音输入,最开始瞄上的是 fcitx5-vinput ,这个项目用的是本地语音识别,想法很好。但我试了一下发现一个问题——它要在本地跑模型,我的轻薄本 16G 内存本来写个 IDE 再开几个浏览器标签就差不多了,再跑个语音模型,风扇直接起飞。也有这个请求 API 的模式,但是,它使用的是一个单独的进程在做。我有点架构洁癖,代码洁癖。

    所以退而求其次,走云端方案。但现有方案基本都要你手动按快捷键开始/停止,或者用系统级方案加外部脚本,体验很割裂。

    后来想了想,不如自己写一个 Fcitx5 的插件:fcitx5-voice-input

    核心思路就三个:

    1. Silero VAD 自动检测语音 — 不用 push-to-talk ,张嘴说话就行,停 800ms 自动结束
    2. 后台队列流水线 — 采集 → VAD → ASR 三个独立线程走队列,不阻塞输入法
    3. 兼容 OpenAI 协议 — 可以用自己的 OpenAI 账号,也可以用 Groq (免费额度够用而且很快唯一不足的就是 Whisper ,它的识别率不是很好。)、SiliconFlow 啥的

    云端识别的好处就是本地几乎零开销,16G 轻薄本完全无感。

    写完了装到 Arch 上用了几天,几个实际感受:

    • 800ms 停顿时长默认挺合理,正常说话不会断,停下来了自动提交
    • 切窗口时加了 200ms 延迟停止,不会因为切出去看一眼就被打断
    • 已经打包到 release ,也支持编译安装

    README 写了详细配置和构建步骤: https://github.com/devcxl/fcitx5-voice-input

    有啥建议或者 bug 直接提 issue ,目前 MVP ,后续计划加本地 ASR 。

    Image
    Supplement 1  ·  17h 34m ago
    Image
    8 replies    2026-06-29 14:27:12 +08:00
    devcxlcn
        1
    devcxlcn  
    OP
       18h 49m ago via Android
    我丢。怎么没人评论 有没有使用 Linux 桌面发行版 的?帮我测试测试呗。我估计还有很多 bug 。
    selca
        2
    selca  
       18h 42m ago
    给录个使用样例看看呗
    Tink
        3
    Tink  
    PRO
       17h 47m ago
    想在 steamdeck 上试试,那上面是 arch+fcitx
    devcxlcn
        4
    devcxlcn  
    OP
       17h 39m ago
    yplam
        5
    yplam  
       17h 21m ago
    我试过本地 ASR 资源占用应该还可以,sherpa-onnx 跑 1G 的模型支持多语言,效果还行。
    devcxlcn
        6
    devcxlcn  
    OP
       17h 12m ago
    @yplam 对于我这个 3 年前的板载 16G 内存笔记本来说有点捉襟见肘,特别是开了 IDEA 跟很多浏览器标签页之后。内存得有 80% 我再开个 asr 我笔记本直接就卡飞了。
    devcxlcn
        7
    devcxlcn  
    OP
       17h 11m ago
    @Tink 我不确定 steamdeck 这上面能不能用。因为它后端去采集音频是用的,什么我还不太清楚。不过有问题的话,随时提 issue
    shoaly
        8
    shoaly  
       13h 40m ago
    后续接一个 流式反馈的语音模型吧, 比如豆包, 体验一下就上去了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   925 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 20:07 · PVG 04:07 · LAX 13:07 · JFK 16:07
    ♥ Do have faith in what you're doing.