你说的 呃,那个,我想说的是吧,说出来它成文字了

说出来,
成文字

按住 Ctrl + Shift + Space 说话,松手。 文字落进你正开着的那个输入框——微信、飞书、邮件、代码编辑器,不论哪一个。 识别在你自己的电脑上完成,音频不离开这台机器。

开发中 · 尚未开放下载 · 本页所有数字均为本机实测,测法与原始数据可复现

实测

288ms
松手到出字
5 秒语音 · 纯 CPU · 无独立显卡
0byte
音频上传量
识别全程在本机进程内完成,断网照常工作
31/ 31
长句正确字数
一句 31 字中文,一字不差

中文

母语,不是第一百零一种语言

多数语音输入以英文为母语,中文是顺带支持的一项。 而中国人说话的日常是「这个 bug 我 debug 了一下午」——中英交替、术语连片。 以下是本机真实跑出来的,不是效果图。

这个 bug 我 debug 了一整个下午,还是没找到 root cause
这个 bugdebug 了一整个下午,还是没找到 root cause
我们这个项目的核心问题其实不是技术选型而是之前的架构选错了方向
我们这个项目的核心问题其实不是技术选型,而是之前的架构选错了方向。
明天下午三点开会
明天下午 3 点 开会。
这个 feature 的 deadline 是下周五,我先 review 一下 PR
这个 featuredeadline 是下周五,我先 review 一下 P2

最后一行的 P2 是一处真实的识别错误(应为 PR)。我们把它留在这里, 而不是换一句好看的——术语词典正是为此而做。标点与「三点 → 3 点」由引擎自动完成, 你不需要说「逗号」「句号」。

隐私

别人承诺不保存你的录音。
我们的做法是——录音从未离开你的电脑

这不是一条政策,是一个可以验证的架构事实:拔掉网线,它照常工作。

其 一

识别在本机进程内完成

模型文件随软件装在你的硬盘上,转写时不发起任何网络请求。没有「上传后立即删除」这种需要你相信的环节,因为根本没有上传。

其 二

不读你输入框里的内容

为了按场景调整语气,我们只读当前前台程序的进程名。窗口标题不读——那里常常有聊天对象的姓名和文档名。

其 三

你的剪贴板会被原样放回

用剪贴板通道写入前,完整快照你原有的内容(含图片与富文本格式),写完恢复,并以剪贴板序列号守卫,绝不覆盖你在这期间新复制的东西。

其 四

没有账号,不必登录

不收集设备标识,不做行为埋点。

形态

召唤即用,用完即隐

它不是一个你要去打开的应用,而是一条被叫出来的悬浮条——出现、说话、写回、消失。 整个过程里,你的光标从未离开原来的输入框。

不 抢 焦 点

系统层面就不接受激活

悬浮条以 WS_EX_NOACTIVATE 创建,所以文字落在你刚才在写的地方,而不是落进它自己。

两 条 通 道

写进任何输入框

标准应用走 Unicode 直接注入;微信、飞书这类自绘输入框自动改走剪贴板通道。两条路都实现了,不是只做一条就宣称通用。

如 实 相 告

失败就说失败

麦克风没收到声音、引擎还在加载、没识别到内容——每一种都告诉你是哪一层出了问题。绝不显示「已插入」而其实什么都没发生。

进度

做到哪了

连同还没做完的一起公开。在能交到你手上之前,这一页会如实更新。

已 完 成

本机识别引擎——转写从依赖服务端改为进程内推理,端到端由 63 秒降至 288 毫秒。

已 完 成

全局热键与不抢焦点悬浮条——避开中文输入法占用的组合键。

已 完 成

自动标点与数字规范——「三点」成「3 点」一类转换、句读自动补全。

进 行 中

说话时的实时字幕——悬浮条上边说边出字,让你知道它确实在听。

进 行 中

口语整理层——去掉「呃」「那个」「就是说」,认出说到一半的自我纠正。原则是整理而非改写:绝不把你说的词换成你不会用的词。

进 行 中

术语词典——让 GitHub 不再被听成别的词,且可由你自己扩充。

计 划 中

按应用切换语气——微信里保留语气词,邮件里收敛。只依据前台程序名判断,不读你的内容。

计 划 中

macOS 版本