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 非自回归架构优势
已知问题
- 中英混排顺序错乱(本项目要修的):见 01-问题分析.md
- ONNX 与 Whisper 二进制互斥:切引擎需换二进制 + 重启 daemon;动态的是模型不是二进制
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 家族。