Contents (5)
在 Linux 上装本地中文语音输入:踩了四个坑,答案是 SenseVoice
我对着电脑说了一段中文,屏幕上打出来的是 “Thank you very much.”
这是在 Omarchy(Arch + Hyprland)上装 Voxtype 的第一个结果。Voxtype 是个按键说话、再按出字的语音输入工具,默认配的是 Whisper 的 base.en——一个只认英文的模型。你说中文,它不报错,而是很自信地给你一句英文。
如果你也想在 Linux 上要一个不联网的中文听写,下面四个坑可以直接绕过去。
坑一:别拿 Whisper 硬扛中文
第一反应是换多语言版 Whisper。能用,但在没有 GPU 加速的笔记本上很慢:base.en 转 5 秒音频要 5 秒左右,换更大的多语言模型只会更慢。
最后换成了阿里开源的 SenseVoice-small。同一台机器,纯 CPU:
- 4 秒音频,0.09 秒出字
- 7 秒音频,0.20 秒出字
- 中英混说能认,标点自动加
按每秒音频算,比 Whisper 快了三十多倍。
有个前提:Voxtype 默认装的是 Whisper 版二进制,要先跑一次 sudo voxtype setup onnx --enable 切到 ONNX 版,SenseVoice 才加载得起来。
坑二:我说的话会不会传给阿里?
不会。SenseVoice 是开源模型,下载下来就是本地一个 229MB 的目录(int8 量化的 onnx 文件加一份词表),由 ONNX Runtime 在本机跑。我查过守护进程,没有任何网络连接。0.2 秒的延迟本身也是证据——去服务器走一趟都不止这个数。
开源模型和云服务是两回事。模型是谁家的不重要,跑在哪才重要。
坑三:语言设成自动,会冒出 “I.”
auto 模式下,没说话或者开头太安静,它会猜成英文,吐出一个 “I.” 或者 “.”。主要说中文就直接锁 zh,中英混说里的英文单词照样认得出来。
坑四:按键”没反应”,其实是没按到
两个原因叠在一起:
- 单次录音默认上限 60 秒。说长了它自己停下出字,你再按一下等于开了新的一段,看起来像按键失灵。改成 600 秒就好。
- Framework 笔记本的 F1–F12 默认是多媒体键,按 F9 发出去的是”切换显示器”,不是 F9。得按 Fn+F9,或者 Fn+Esc 锁成功能键。
最后我把它绑在 F1:Fn 和 F1 都在左手边,一只手就能按。
一句话
本地语音输入,别从模型排行榜挑,从你说的语言挑。中文就用 SenseVoice:快,准,不出门。
你现在主要靠什么输入中文,键盘还是语音?
Repost this post?
Share with your followers.
Reply