开发者一天中几乎没有什么时间是在处理语法。这包括提交信息、拉取请求描述、代码审查评论、Linear 任务、Slack 线程中关于构建失败的原因,以及偶尔的注释解释一个六个月后没人记得的决定。这些都是普通的文字内容,和写邮件一样通过语音输入完成,而这正是这页上所有应用都能真正帮助完成的部分。
编写代码本身是另一个问题,而且在说这些应用之前,我必须明确地说:将语音转为文字并不是执行语音命令,而这里几乎没有任何工具能完成后者。如果你真正想要的是说“def”,然后出现四个空格的缩进,并且无需触碰键盘就能导航文件,那么答案只有一个,那就是Talon,而不是任何语音输入工具,包括这个。
通用语音输入工具在开发者日常中会遇到的两个问题
两个问题,始终如此。第一个是词汇量——代码库中的变量名、服务名和内部术语并不在通用语言模型的训练数据中,而一个无法教它这些词汇的工具每次都会错误地处理这些词汇。第二个问题是语音中充满标点符号:将“打开括号,引号,通过 ID 获取用户,引号,关闭括号”输入到通用工具中,通常会得到更接近英文段落的内容,而不是字面字符,因为这就是工具所调校的。
这两个问题都没有通用的解决办法。一些工具通过自定义词库解决第一个问题;但下面的工具中没有一个声称能真正解决第二个问题,这正是为什么 Talon 是一个独立类别,而不是其他人的功能选项。
Talon —— 唯一真正编写代码,而不是关于代码的工具
可在 macOS、Linux 和 Windows 上免费下载,talonvoice.com 网站上没有定价信息——该网站推广的是 Patreon 计划,用于“早期功能访问”和“高优先级支持”,而不是商店。Talon 是一个控制层,拥有一个由社区维护的大型编码语法集:语音命令映射到按键、缩进、导航和编辑操作,因此“state i equals zero”可以变成 i = 0,“go to definition”可以真正跳转到定义。这与语音输入是完全不同的工作,用 Python 配置,有真实的学习曲线——完整比较 有更诚实的设置成本说明。对于那些长时间打字会感到疼痛的人来说,这个成本是值得的。对于那些打字没问题,只是想让评论和提交信息从手上解放的人来说,它更像是一个工具,而不是工作本身。
Wispr Flow —— 在四个平台上学习名称
今天在他们的网站上查看:Pro 每用户每月 $15(年付 20% 折扣),免费层级在其之下。Wispr Flow 宣称它会随着你学习你的名称和术语,支持 Mac、Windows、iOS 和 Android,还支持 100 多种语言——这是这页上其他任何产品都无法比拟的真实产品。对于一个开发者来说,最大的日常摩擦是 CustomerOnboardingService 无法正确生成,一个专门学习这个词汇的工具正在解决实际问题,而不是绕过它。比较 有其余内容,包括 $19 一次性购买与 $15 每月的计算。
Aqua Voice —— 词库加上实时清理
今天在他们的定价页面上查看:Starter 免费,包含 1000 个词,Pro 每月 $8 年付(每月 $10),Max 每年 $24(每月 $30),增加实时编辑和“发送它”的语音命令。Pro 及以上版本包括扩展的自定义词库和自定义指令——告诉它你希望如何表达,它之后就会遵循这个指令。对于一个开发者来说,他通过语音输入写了一个粗略的 PR 描述,更希望收到一个已经整理好的内容而不是手动修改,这种实时编辑行为才是真正的卖点。比较 有其余内容,这是真正不同种类的产品。
superwhisper — 本地运行,拥有你自定义的词库
查看 他们的定价对比: 今天:免费套餐,或 Pro 套餐 $8.49/月,$84.99/年,或 $249.99 一次性购买。 他们的 Pro 文档 列出自定义词库作为 Pro 功能之一,与 AI 驱动的模式并列,这些模式你可以根据特定类型的写作进行定制。这种组合 —— 本地处理加上你自行训练的词库 —— 是本页面上最接近 Wispr Flow 的学习词库理念的产品,而且无需订阅,这也是为什么它通常是开发者在尝试此产品之后通常会尝试的第二个产品。对比 覆盖了更广泛的应用程序。
VoiceInk — 以最便宜的方式获得词库并保持本地运行
查看 tryvoiceink.com 今天:$25 一台 Mac,$39 两台,$49 三台,一次性购买,14 天退款期,适用于 Apple 芯片和 macOS 14.4 或更高版本。他们的网站描述了一项词库功能,可以让 VoiceInk “准确识别人名、产品名和自定义词” —— 这与 superwhisper 的功能属于同一类别,但价格更低,而且无需首先检查本地模型套餐。对比 有详细说明。
MacWhisper — 适用于录音,而非实时语音输入
查看 macwhisper.com 今天:永久免费,Pro 套餐 €64 一次性购买。它像列表中的其他产品一样在系统范围内进行语音输入,但对开发者来说,它的实际优势不同:它可以打开一个已有的音频文件 —— 例如手机录制的站会、配对会议或设计评审 —— 并在本地、离线状态下进行转写,而其他产品都无法做到这一点。如果需要的技朮讨论已经以文本形式完成并被录制,这就是适合你的工具。对比 有更多细节。
Coii VoiceInput — 无词库、无订阅、无上传
$19 一次性购买,支持三台设备,macOS 13 Ventura 或更高版本。它没有自定义词库,也没有学习项目标识符的方法 —— 明确说明这一点,因为这是所有上面竞争对手都超越它的行,开发者在选择这些工具时应在购买前了解这一点。它提供的替代方案是一个按住说话的快捷键,可以在任何文本框中使用,包括终端,转写文本会在引擎被询问之前写入本地历史记录,因此缓慢的响应或粘贴未成功只会导致复制粘贴而不是丢失提交信息。没有内容被上传,而且它在无网络状态下也能运行,这在受限制的公司笔记本电脑上比听起来更重要。
git commit -m 修复分页错误,其中最后一页会丢弃最后一行
对比表格
| 通过语音编写真实代码 | 自定义词库/词典 | 支持平台 | 今日价格 | |
|---|---|---|---|---|
| Talon | 是,通过命令语法 | 社区语法,不是教过的词典 | macOS、Linux、Windows | 免费,无定价发布 |
| Wispr Flow | 否 —— 仅支持文本输入 | 是,边用边学习 | Mac、Windows、iOS、Android | $0–$15/用户/月 |
| Aqua Voice | 否 | 是,支持实时编辑 | macOS、Windows、iOS | $0–$30/月 |
| superwhisper | 否 | 是,Pro 套餐 | macOS | $0–$249.99 |
| VoiceInk | 否 | 是 | macOS | $25–$49 一次性购买 |
| MacWhisper | 否 | 否 | macOS | 免费–€64 一次性购买 |
| Coii VoiceInput | 否 | 否 | macOS | $19 一次性购买 |
每天真正发生变化的是什么
从这个列表中选择最合适的工具,诚实的方式是区分你正在语音输入的内容和你希望用语音代替打字的内容。
如果你大部分的困扰是少数几个专有名词和产品名称反复出错,那么一个你可以教的词汇库比这个页面上的任何其他功能都更有价值 —— superwhisper 和 VoiceInk 可以以一次性或适度的重复费用在本地实现这一点,而 Wispr Flow 则通过最大的平台覆盖范围实现,如果你也使用手机工作。如果你真正想要的是整个任务都不用动手打字,而不仅仅是文字部分,那就是 Talon 的情况,而且它需要的是一种真正的承诺,而不是一个下午的设置。如果以上都不是你想要的 —— 你只是希望用语音输入提交信息、注释和工单,保存在任何内容丢失之前,不发送任何内容,也不需要任何配置 —— 那么只需按住一个键就能实现,三十天的试用 无需任何费用即可尝试。
- 10:044.1sFix pagination bug where the last page dropped the final row.Terminal
- 10:229.6sThis PR moves the retry logic out of the request handler and into the queue worker, so a dropped connection no longer blocks the caller.GitHub
- 11:153.0sReproduced on staging — logs attached to the ticket.Linear
说出标点符号,以及为什么大多数人会放弃
第一次用语音输入提交信息时,每个人都会尝试说出标点符号,但几乎每个人都会在一周内放弃。"修复分页错误,逗号,最后一页丢失了最后一行,句号" 会产生一个句子,其中"逗号"和"句号"被输入的频率比实际的标点符号更高,因为这些工具没有构建出能够区分"说'逗号'这个词"和"插入一个逗号"的功能,除非有一个命令语法来告诉它们哪个是正确的 —— 除了 Talon 之外,其他工具都没有这样的功能。真正有效的方法是先语音输入词语,再手动输入标点符号,这听起来似乎违背了初衷,但实际上一旦形成习惯,只需几秒钟,而不是几分钟。
标识符是更难处理的问题,而上面提到的词汇库功能正是为了解决这个问题。说出 getUserById 时,通用工具会听到三个或四个英文单词,并猜测如何将它们组合起来 —— get user by id, getUserByID, get_user_by_id,很少是你的代码库实际使用的那个。一个经过训练的词汇库可以解决这个特定术语的猜测问题;如果没有词汇库,解决方法是语音输入你所指的普通英文版本,然后让自动补全或快速更正处理确切的标识符,这虽然更慢但更可靠,这也是没有词汇库的工具 —— 包括这个工具在内 —— 实际上要求你做的事情。
本地处理是为何要查看此处的全部原因
这个列表对开发者的吸引力有时与语音输入的质量无关,而与雇主允许使用什么有关。一个在保密协议下的代码库、一个有严格数据处理条款的客户合作,或者仅仅是公司笔记本电脑上一个阻止未知内容的出站代理,都会在准确性和词汇量讨论之前就排除掉云语音输入工具 —— 不是因为供应商不可信,而是因为音频必须离开机器,才能在托管服务上运行,而这是一条无法通过任何设置更改的属性。
Coii VoiceInput、VoiceInk、MacWhisper 的免费版本和 superwhisper 的本地模型都是通过设计而非政策来避免这一点的:在任何版本中都没有服务器可以接收音频,因此没有内容可供安全审查关注,句子的去向。对于那些真正经历过这个审查流程的开发人员 —— 那个安全人员问"音频去了哪里"而云工具没有好答案的审查 —— 这个属性往往比页面上的任何词汇功能都更重要,因此在订阅之前检查这一点比在 IT 要求你卸载它之后更有价值。
这些工具都无法解决的问题
大声朗读堆栈跟踪并不能解决问题,语音输入变量名也无法让其正确 —— 本页上的每一个工具仍然需要你了解自己原本想写什么。至于语法本身,在 Talon 的语法之外,只要编程语言仍然以标点符号密集且对精确字符毫不宽容,这些工具的输入速度就无法超越 typing(即 typing 本身)。上述每一个应用,包括这个应用,其真实的卖点比“为你提供语音代码”更狭窄:它只是“语音输入英文部分,这样你的双手就可以用于真正需要它们的部分”。
这个更狭窄的卖点比听起来更有价值,因为一个工作日中包含的英文内容,远比大多数开发者在开始工作前所计算的要多:站会更新、任务描述、解释为何存在变通方法的评论、告诉审查者改动内容和原因的信息。这些内容都不需要命令语法或需要教授的词汇才能比 typing 更值得语音输入 —— 它只需要一个在目标应用中能可靠工作的按键,而无需先询问你打算打开哪个工具。