Zian — 纯粹的离线语音输入
西佩特
2026年02月26日 12:11

大家好,我是老孙。

在做完前一个自制语音包的工具之后,我最近做了一个语音输入法。本来想出一个视频的,后来试了试,感觉一个输入法好像也没有什么可演示的,就写篇文章在这里介绍一下吧。最近语音输入法特别火,市面上出现了好多同类产品,这可能得益于转写模型的成熟,还有就是大模型辅助编程也越来越完善,要实现一个输入法已经不是很难的事情了。

我做这个语音输入法主要是为了解决工作中的一个痛点:在与大模型对话的时候,需要输入大量指令,纯靠打字还是有些慢。之前我尝试过好几种方案。比如我会在微软拼音里面加入自定义词组,靠几个简写字母来输出大段文字,但是微软拼音的自定义功能有限制,词组数量和句子长度都不够用;我还用过Windows自带的剪贴板功能,把常用的内容钉住,这样下次启动就不会消失;另外我还用过Ditto这个剪贴板增强工具来记录自定义词组。插一句,Ditto非常不错,没接触过的朋友可以去试试。

话说回来,上面几种方式试用下来,多多少少都有些局限性和让人不满的地方。正好前段时间语音输入法火了起来,我就想,语音输入不仅能提高速度,而且如果能自定义替换词或规则,类似于微软拼音的自定义词组,用几个字母或短语替换生成大段提示词,那就完美了。于是我去试了几个当时比较流行的语音输入法,结果还是有些不满意。最大的问题是,大多数的语音输入法其实只是一种大模型的堆砌和调用。它抛给你一堆模型让你自己选,没有对模型进行微调,也没有针对长期使用的优化,全靠用户自己去摸索。

另外,因为要支持众多模型,这些输入法本身的安装包可能很小,但安装完后需要用户自己去下载模型或配置在线API。这对部分用户来说门槛不低,我甚至遇到过某个模型死活下载不下来的情况。当然,最关键的是我最想要的自定义规则替换功能,它们支持得都不好。

所以我想,不如我自己做一个吧。我看了一下,大部分输入法背后的模型无非就是Whisper或者是阿里的FunASR,都是通过ONNX来调用或量化的。因为我之前做过专门的转写软件sunnyscribe,对这部分还算了解,所以说干就干,花了一个月左右的时间做出了这个语音输入法。

先说一下我这个输入法的优点。第一,最关键的是它是完全离线的。下载安装包或者绿色版解压后直接就能用,完全不需要在线再去下载什么模型。更重要的是,这个软件再也不会联网,我甚至连在线检测版本更新的功能都没加。所以除了你第一次下载需要联网,日常使用根本不需要网络。这也是我做产品的一种理念,我讨厌全程联网,讨厌动不动就检测推送,这可能也是一个互联网遗民的倔强和执念吧。

第二个特点是可以和手机联动。形象点说,就是把手机当麦克风来输入。我专门做了一个安卓手机端,跟PC端连接后,能在手机上说话,在电脑上打字。当然也可以在手机上直接输出文字,因为手机端能直接调用PC端的模型。我觉得和手机连接这个设计挺酷的,我自己用得也很开心。

第三,我这个输入法没有使用大部分同类产品常用的ONNX方案,所有的模型调用和转写引擎都是用C++实现的,具体来说用的是GGML框架。模型用的是阿里的SenseVoice。C++加上这个模型,在速度和准确度上表现得非常不错。

此外,这个输入法我还加入了一个简单的语音转写功能。因为我之前做过sunnyscribe这个转写软件,所以在这里集成转写功能比较容易实现。当然,限于模型本身的能力和定位,并没有实现太高级的转写功能,比如说话人识别、字符级时间戳。但是针对不同长度的音频文件,转写出文本、字幕等各种格式,以及支持句子级的时间戳,还是没问题的。

还有就是我做输入法的初衷,文本替换功能,这个当然是有的。但真正做完后,我发现自己对这个功能的需求并没有那么强烈了。用上语音输入后,不像打字那么麻烦,所以规则替换的用处就显得没那么重要了。但功能既然做了,肯定要考虑周全。软件里包含一个规则文件,可以实现几种替换方式。比如,你可以像我最初设想的那样,用自己设置的固定词组或者字母,替换成大段文字,这很适合用来输入长段的提示词或常用指令。其次是热词功能,你可以把经常识别错的专有名词、特有姓名记录为热词,输入时系统识别到热词会自动纠正替换。最后是清洗规则,像是嗯、啊等语气词或口语废话,可以在规则文件里定义并自动清洗掉。

最后是一个AI润色功能,但这是我觉得最不重要的,做完后我自己基本没用过。市面上大多数输入法都是通过在线模型来润色,我觉得意义不大,不仅会拖慢速度,还违背了我讨厌全程联网的初衷。但是大模型告诉我,你可以不用,但不能没有。所以我就把这个功能做在里面了,不过默认是关闭的,需要时可以手动打开。这个润色功能默认调用本地模型,比如Ollama支持的模型。除了本地模型,也支持用户填入API调用在线模型进行AI润色。这个功能见仁见智吧,反正我很少用。

输入法的基本功能就这么多,介绍完了。其他的像手机端跟PC端的连接、数据的安全加密认证等等,这些细节都是有的。得益于大模型的辅助,很多我自己想不到的事情,它往往能帮我想到。

这里需要说明一下,这个输入法不是免费的,需要收费。不过放心,是买断制,一次付费,永远可用。不付费也没有关系,有试用版,且试用版功能完全具备,只是在语音转写和手机连接时有时间限制。如果你只是在PC端把它当做纯输入法使用,那就没有任何限制。

因为这个输入法是完全离线的,所以收费版本采用机器码和序列号的方式来激活。前面我说除了第一次下载再也不用联网,严格来说是不严谨的,起码你在购买序列号的时候还是需要上一下网的。不过有个好消息,你可以直接通过手机端购买序列号,在手机上买完后能直接激活PC端。

好了,这个输入法的情况就是这样。大家可以去官网下载体验,也可以去GitHub上下载绿色免安装版来使用。

如果你也跟我一样,讨厌各种莫名其妙的联网,讨厌被窃取隐私,喜欢纯粹的离线,喜欢干净清爽的本地小工具,那非常欢迎你来试用一下,也欢迎随时向我提出意见和建议,谢谢大家!

官网地址:ziansoft.com

GitHub:github.com/sipeter/zian_public

QQ交流群:1034895071