← 返回文章列表

Article / 文章

fcitx5-vinput语音输入

本文基于 fcitx5-vinput 2.2.2,适用于 Arch、Fedora、Ubuntu、Debian、Nix 和 Flatpak 环境。

这是什么?

fcitx5-vinput 是 Fcitx5 输入法的语音输入插件,支持本地离线识别云端服务,还能用 LLM 对识别结果进行纠错和改写。不用联网也能用,说完话直接上屏,体验很流畅。

核心亮点:

  • 完全离线可用 — 基于 sherpa-onnx,断网也能用
  • Push-to-Talk — 按住说话松手就上屏,符合直觉
  • 多模型可选 — 中英文、方言、多语言,小到 74MB
  • LLM 后处理 — 接大模型自动纠错、排版、翻译
  • 命令模式 — 选中文字,语音下指令改写

安装

Fedora(COPR)

sudo dnf copr enable xifan/fcitx5-vinput-bin
sudo dnf install fcitx5-vinput

Arch Linux(AUR)

yay -S fcitx5-vinput-bin

Ubuntu 24.04(PPA)

sudo add-apt-repository ppa:xifan233/ppa
sudo apt update
sudo apt install fcitx5-vinput

Debian / Ubuntu(手动 deb)

# 从 GitHub Releases 下载最新 .deb
sudo dpkg -i fcitx5-vinput_*.deb
sudo apt-get install -f

其他发行版(Nix、Flatpak)和手动安装方式参考官方文档


快速开始

1. 启动服务并设置开机自启

systemctl --user enable --now vinput-daemon.service

2. 重启 Fcitx5

fcitx5 -r

3. 下载模型

打开 Vinput GUI,进入 Resources(资源)→ Models(模型),选择一个模型下载并激活。

国内用户如果下载慢,程序内置了 gh-proxy.com 和 ghfast.top 代理回退,会自动尝试。也可以手动下载模型文件放到 ~/.local/share/vinput/models/ 目录下(详见文末)。


按键操作

默认按键在 ~/.config/fcitx5/conf/vinput.conf,所有按键均可自定义:

按键 默认值 操作方式
触发键 右 Alt 短按:开始/停止录音;长按(>0.3s):按住说话,松手即停
命令键 右 Ctrl 选中文字后按住,语音下达修改指令
ASR 菜单 F8 弹出菜单,运行时切换 ASR 提供商或模型
场景菜单 右 Shift 弹出场景切换菜单

日常使用就记住一个:按住右 Alt → 说话 → 松手,文字直接上屏。


可用模型一览

全部 13 个模型,从轻量到旗舰都有。其中带「热词」标注的支持自定义热词,能提升特定词汇的识别准确率。

离线模型(推荐日常使用)

模型 语言 大小 热词 适用场景
Paraformer Small 中文 74 MB - 最轻量,中文语音识别入门首选
Dolphin Multilingual 多语言 77 MB - 中英等多语言,体积小
Moonshine Tiny EN 英文 103 MB - 轻量英文识别
SenseVoice 五语 中日英韩粤 158 MB - 五门语言,识别覆盖面广
SenseVoice Nano 多语言 179 MB - 多语种方言口音覆盖更好
Paraformer 中文 int8 中文 218 MB - 中文通用场景,量化版本
Paraformer 中文 中文 223 MB - 中文通用场景
Moonshine Base EN 英文 239 MB - 英文离线识别大模型
Zipformer 方言 中文 295 MB 普通话+多方言,支持热词
Zipformer 中英 中英 297 MB 中英双语混合识别,支持热词
Qwen3-ASR 0.6B 多语言 827 MB - 旗舰级,基于 Qwen3

流式模型(实时识别)

模型 语言 大小 热词
Streaming Zipformer EN 英文 122 MB
Streaming Zipformer ZH 中文 126 MB

离线模型需要说完一整句才出结果;流式模型边说边出字,延迟更低。


手动安装模型(下载慢的解决办法)

国内从 GitHub Releases 下载可能很慢,可以手动操作:

1. 用 aria2 等多线程工具下载

# 例如下载 Zipformer 中英模型
aria2c -x 16 "https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-zipformer-zh-en-2023-11-22.tar.bz2"

2. 放到正确的目录

模型 ID 按 . 分割,去掉前面的 model 就是路径。例如 model.sherpa-onnx.zipformer-zh-ensherpa-onnx/zipformer-zh-en/

# 创建目录
mkdir -p ~/.local/share/vinput/models/sherpa-onnx/zipformer-zh-en

# 解压
tar -xjf sherpa-onnx-zipformer-zh-en-2023-11-22.tar.bz2 \
  -C ~/.local/share/vinput/models/sherpa-onnx/zipformer-zh-en/ \
  --strip-components=1

# 写入模型描述文件(vinput-model.json,从注册表获取内容)

3. 通过命令行激活

vinput config model use model.sherpa-onnx.zipformer-zh-en

高级功能

热词(Hotword)

在 GUI 中配置热词文件,每行一个词,提升特定领域词汇(人名、地名、专业术语)的识别率。仅部分模型支持。

命令模式

  1. 选中要修改的文字
  2. 按住 右 Ctrl,说出指令:「把这段话翻译成英文」「加个句号」「改成正式语气」
  3. 松手,选中的文字被替换

场景(Scenes)与 LLM

可以在配置中定义不同场景,接入 LLM 对语音识别结果进行后处理:

  • 原始输出(Raw)
  • 自动纠错排版
  • 中英翻译
  • 自定义 Prompt

云端 ASR

除了离线模型,还可以接入云端 ASR 服务:

  • 豆包(字节跳动)
  • 阿里百炼
  • ElevenLabs
  • OpenAI 兼容接口

F8 运行时切换。


项目信息

查看全部文章 →