GitHub ↗

04 · 当前配置与改动清单

04 · 当前配置与改动清单

本机(omarchy,单机)相对 voxtype 出厂状态的全部改动。配置文件由 chezmoi 管理(~/chezmoi/dot_config/voxtype/config.toml),模型文件不入 git。

出厂 → 现状

项 出厂 现状 改动方式
二进制家族 whisper.cpp ONNX(/usr/bin/voxtype → /usr/lib/voxtype/voxtype-onnx-avx2) pkexec voxtype setup onnx --enable(官方切换命令,写 /usr/bin 需 root)
引擎 whisper sensevoice config.toml 一行
模型 base.en(142MB,纯英文) sensevoice-small-int8(229MB,zh/en/ja/ko/yue) 手动下载放置
听写语言 英文 中文(language = "zh" + use_itn = true 数字/日期规范化) config.toml

config.toml 有效差异

[engine]
engine = "sensevoice"        # 原为 "whisper"

# [whisper] 段保留出厂内容(model = "small" 为过渡期遗留,已不生效)

[sensevoice]                 # 新增段:缺失会导致 daemon 启动失败
model = "small-int8"         # 目录名 ~/.local/share/voxtype/models/<model>
quantized = true             # int8 量化版(229MB;全精度 fp32 约 894MB)
language = "zh"
use_itn = true               # 逆文本规整:「九点」→「9点」

磁盘上的模型

路径(~/.local/share/voxtype/models/) 大小 状态
ggml-base.en.bin 142M 闲置(出厂自带,可删)
ggml-small.bin 466M 闲置(whisper 过渡方案遗留,可删)
sensevoice-small-int8/{model.int8.onnx, tokens.txt} 229M 使用中

来源:HuggingFace csukuangfj/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17

使用方式

操作 动作
按住 F9 说话 push-to-talk,松开即转写注入
Super + Ctrl + X 开关式连续听写
文字去向 当前聚焦的输入框光标处

实测性能

  • SenseVoice 模型加载:1.54s(daemon 启动时一次性)
  • 中文转写推理:0.19s(int8 CPU AVX2,测试音频「开饭时间早上9点至下午5点。」)
  • 对比 whisper small 同任务慢数倍——CTC 非自回归架构优势

已知问题

  1. 中英混排顺序错乱(本项目要修的):见 01-问题分析.md
  2. ONNX 与 Whisper 二进制互斥:切引擎需换二进制 + 重启 daemon;动态的是模型不是二进制
  3. voxtype setup model 的交互 TUI 无法脚本化下载 ONNX 模型,新机器部署需手动下载两件套

chezmoi 同步

  • 已纳管:~/chezmoi/dot_config/voxtype/config.toml
  • 不纳管:模型二进制(体积大,首次使用按本文档手动下载)、系统级 /usr/bin/voxtype 符号链接(换机后重跑一次 pkexec voxtype setup onnx --enable 即可)

回滚到 Whisper 方案

[engine]
engine = "whisper"
[whisper]
model = "small"   # 多语言版,需 ggml-small.bin 在位
language = "zh"

重启 systemctl --user restart voxtype 前先 pkexec voxtype setup onnx --disable 切回 whisper.cpp 家族。