我没法打字,所以做了一款免费开源的 Mac 语音输入 App

YapToText 是一款免费的开源 Mac 语音输入软件,采用 GPL 许可证发布,完整的 Swift 源代码在 GitHub 上,它在你的 Mac 上运行 Whisper Large v3 Turbo 和 Phi-3.5 Mini。它不要钱,没有付费方案,也没有用量上限,我做它是因为我的双手让打字很困难。价格页面只有一句话:免费。

Mac 上每一款好到可以替代键盘的语音输入 App,要么要订阅,要么要 249.99 美元的授权,要么要把我的声音交给别人的服务器。我写的所有东西都靠听写,所以这不是偏好问题,而是使用电脑的代价。于是我做了 YapToText:永远免费,采用 GPL 开源,完全在本机上运行。它在 Mac App Store 上架,所以安装只要点一下,也不用 Terminal。

在 Mac App Store 下载 YapToText免费下载。无需账号,没有锁定的功能。需要搭载 Apple 芯片的 Mac 和 macOS 14 或更高版本。 源代码在 GitHub 上。

步骤

  1. 从 Mac App Store 免费安装 YapToText。
  2. 打开它并允许使用麦克风,然后打开辅助功能权限,这样它才能在光标处输入文字。
  3. 把光标放在你想要文字出现的位置:邮件、消息、代码注释。
  4. 轻按一次 Right Command 键,开始说话。
  5. 再轻按一次。你说的话就会输入到光标处。

我为什么做它

我听写不是因为方便。我听写是因为打字对我来说很困难,邮件、消息、文档,还有这款 App 里的代码注释,都是靠听写写出来的。当说话就是你的键盘时,语音输入 App 就不是提高效率的小玩具,而是输入设备本身。

这就改变了价格的意义。文本编辑器的订阅是一个商业决定。而为了能够写字本身去订阅,就是一笔过路费。把你写的每一个字都发送到服务器,也不是隐私页面上的一个勾选项。那是你的往来信件、你的工作和你的就医预约,全都要经过一家你得永远信任的公司。

我找不到一款同时满足三点的 Mac App:好到可以替代打字,完全在设备上运行,而且免费。所以我自己写了一个,并且免费送出。

App Store 海报,标题为 I created this because my hands don't work,配有无障碍图标和 YapToText 的水豚。
图1. 它存在的理由,一句话说完:我首先把 YapToText 做成一个无障碍工具,因为我靠它来写字。

同类软件实际要花多少钱

下面是我本来可能会用的那些 App 的价格,2026 年 10 月 3 日在各家厂商自己的网站上查核。价格会变,换软件之前请再查一遍,完整的比较里有带来源的详细内容。

  • Apple 的听写。 免费,在搭载 Apple 芯片的 Mac 上,受支持的语言可以在设备上处理。它不会整理你说的话,不会排版邮件,也不能编辑你已经写好的文字。
  • Wispr Flow。 每月 15 美元,按年付费则每月 12 美元,免费方案在桌面端每周限 2,000 个词。它的隐私页面说,转写始终在云端进行。
  • superwhisper。 有使用本地模型的免费方案,Pro 每月 8.49 美元、每年 84.99 美元,或一次性付费 249.99 美元。
  • MacWhisper。 Pro 一次性付费 64 欧元。它在本机运行,是很好的软件。

这些都不是糟糕的 App。其中好几款在我还没做的功能上比我的更好。我想说的只是更窄的一点:底层的语音模型是开源的,Apple 把硬件加速免费提供给每一位开发者,这些成本都不该落在无法使用键盘的人身上。

它能做什么

按一个键,说话,再按一次,文字就出现在光标所在的位置,任何 App 都可以。你要做的只有这些。底下的那些部分才是真正花了功夫的地方。

展开的 YapToText 面板:蓝色的实时波形在转写出的句子上方,有取消、暂停和停止按钮,以及带编号的模式小标签。
图2. 一个键就能开始,你说话时文字在面板里成形,然后落在光标所在的位置。
  • 它会读取你正在往里听写的那句话。 把光标放在一行的中间说话,第一个词该小写时就会小写,空格衔接得很干净,句子还要继续时,结尾的句号会被去掉。这是我在其他所有 App 里最怀念的功能。
  • 它分得清邮件和便条。 Auto mode 会读懂你说的内容,自己选好格式。邮件会变成邮件,随手的消息保持随意,其余的只做整理。
  • 你可以用声音编辑文字。 在任何 App 里选中文字,轻按 Quick Edit 键,说出要做的修改:make this shorter、fix the grammar、translate it to Spanish(改短一点、修正语法、翻译成西班牙语)。改写的结果会原地替换你选中的文字。
  • 语音标点符合听写用户的习惯。 说 is it working now, question mark,就会得到问号,也不会留下多余的逗号。
  • 词典和语音命令。 把总是识别错的名字的拼写教给它,或者在 Commands 页面填好电话号码的模板,这样说 insert phone number 就会输入你真正的号码。

Intelligent Insert、Auto mode 和词典的帮助页面分别详细讲了每一项,Mac 语音转文字指南则带你完成第一次听写。

音频处理的全过程

大部分的工程工作都花在这里,因为我说话声音轻,常常是在一台 3D 打印机正在运转的房间里。把原始的麦克风音频直接丢给 Whisper 再碰运气,是大多数套壳软件停下的地方,也是它们在真实房间里不堪使用的原因。

语音模型看到任何一个采样之前:先测量房间的噪声,只有信噪比需要时才减去稳态噪声,所以安静的房间永远不会被过度处理。轻声说话时,声音是相对于房间被提升的,而不是提升到固定的电平。采集有峰值保护,所以一个很响的词不会爆音。长时间的静音会被压缩,解码器就不会跑偏。当片段测出噪声大时,解码会从贪心搜索切换到束搜索。

之后:当转写结果比输入的语音短时,会启动一次补救。还有一道防护,把 Whisper 在静音尾部陷入的重复循环折叠掉。所有这些,在发布之前都用我自己真实的听写录音组成的测试集测量过。一个对干净录音有帮助的改动,往往会损害耳语般的录音。

App Store 海报,标题为 It hears you through anything,在展开的录音面板上方列出上面的音频处理步骤。
图3. 六个步骤的音频处理,从去除背景噪声到语速校正,全部发生在 Whisper 之前或前后,全部在 Mac 上完成。

它和其他开源 Whisper 套壳软件有何不同

把 Whisper 接到一个快捷键上,只是一个周末的小项目,也有好几个人做得很好。open-wispr 就是一个好例子:按住一个键,说话,松开,文字就出现在光标处,全部在设备上完成,采用 MIT 许可证。如果你只需要这些,它是不错的选择,你应该用它。

区别在于转写结果出来之后发生的事。套壳软件交给你的是 Whisper 的原始输出。YapToText 的大部分工作,就在这份输出和你真正想要的文字之间:

  • 上下文。 它会读取光标两侧的内容,并让转写结果与之相配,所以在句子中间听写时,大小写、空格和结尾的标点都是对的。
  • 整理。 本地的语言模型把口语里的赘词变成成型的文字,并根据你说的内容选择格式,不需要调用云端。
  • 编辑。 在任何地方选中已有的文字,用声音修改它,这和转写完全是另一种工作。
  • 音频处理。 它有以信噪比为触发条件的噪声消减、相对于房间的增益、有峰值保护的采集,以及在片段噪声大时切换策略的解码器。这就是轻声说话在嘈杂房间里也能用的原因。
  • 安装。 它通过 App Store 安装,而不是靠 shell 脚本,所以它在沙盒里运行,经过 Apple 的审核,由系统负责更新。
Quick Edit 卡片带着实时波形,显示 Listening for your edit,下面是口述的指令 make it sound more formal。
图4. 编辑和转写是两种不同的工作:在任何 App 里选中文字,轻按 Quick Edit 键,说出要做的修改,卡片会显示它听到了什么。

这些并不说明更简单的工具是错的。它们只是规模不同。我需要更大的那一种,因为听写对我来说不是捷径,而是我写字的唯一方式。

开源的 Mac 语音输入 App 并排比较

这些是我所知道的 Mac 开源语音输入 App。星标衡量的是关注度,不是质量,而且 YapToText 从 2026 年 7 月 22 日才上架 App Store,所以请看各列的内容,不要看数字。

2026 年 10 月 3 日在 GitHub 和各项目自己的页面查核。

App许可证GitHub 星标怎么安装用语音编辑选中的文字平台
HandyMIT32,747从它的网站或 GitHub 发布页未说明Mac、Windows、Linux
FluidVoiceGPL-3.011,894Homebrew 或 GitHub 发布页可以,Write ModeMac
OpenWhisprMIT8,992从它的网站可以,用它的 voice agent 键Mac、Windows、Linux;iPhone 和 iPad 在付费方案里
VoiceInkGPL-3.06,651从它的网站付费下载,或者自己编译可以Mac;iPhone 和 iPad 版 App 在测试中
YapToTextGPL-3.025Mac App Store,免费,或 Homebrew可以,Quick EditMac

对用户来说,GPL 和 MIT 有什么区别。 两者都允许你免费阅读、编译和修改代码。区别在于有人发布修改过的副本时会怎样:在 GPL 下,他们必须用同样的条款公开自己的修改,在 MIT 下则不必。对于一款会听到你说的所有话的语音输入 App,我选了 GPL,这样你能下载到的任何版本,你也都能读到它的源代码。VoiceInk 替代方案页面详细比较了最接近的那款 GPL App。

为什么它从 App Store 安装,而不是 shell 脚本

很多开源的 Mac 工具靠把互联网上的脚本通过管道送进你的 shell 来安装。这对开发者很方便,但它要求你用自己的权限运行没有经过审核的代码,而代码来自一个你在运行的那一刻无法审查的网址。

YapToText 在 Mac App Store 上。这意味着它在沙盒里运行,经过审核,通过系统更新,也能像其他 App 一样删除。点一下就行,不用 Terminal,除了 Apple 已经检查过的内容,也没有什么需要你额外信任的。免费和开源,不一定要配一种在公司的安全审查里过不了关的安装方式。

如果你更喜欢命令行,有一个 Homebrew cask,用 Developer ID 签名并经过公证。它目前比 App Store 版本晚一个版本,是 1.5.2 对 1.5.3,而且不含模型。

Terminal:从我的 Homebrew tap 安装 YapToText。

brew install --cask ryleighnewman/yaptotext/yaptotext

会发生什么:下载约 12 MB 之后,YapToText 出现在你的Applications文件夹里,如果那里有 App Store 的副本,就会被替换。在 AI Models 页面下载语音模型之前,它无法听写。

源代码在 GitHub 上是公开的,目前是 1.5.2,所以你可以先读再运行。安装页面讲了这两种方式。

这里说的“在设备上”到底是什么意思

语音模型和整理模型都在 App Store 版本里面。没有账号,没有遥测,没有使用情况分析,听写的过程不会碰网络。在飞机上、第一次打开、关着 Wi-Fi,它都能用。Homebrew 版本要先下载那一个模型。唯一用到网络的地方,是你自己发起的模型下载,下载的是 AI Models 页面上的其他模型,离线听写页面里有一个你可以自己做的测试。

声音是格外私人的数据。它不是一条搜索词,而是你在说话,连同内容和背景一起。对隐私的诚实说法,不是对公司如何处理你的录音作出承诺。而是录音从不离开你的设备,证明这一点的代码是公开的。

App Store 海报,标题为 Nothing leaves your Mac,下方是 YapToText 的 AI Models 页面,两个模型都标着 Included。
图5. 两个模型都在 App Store 版本里,在 AI Models 页面上标着 Included,所以听写从不需要网络。

做它的过程中我学到了什么

  • 模型反而是最容易的部分。 Whisper 开箱即用就很出色。让听写显得完整的一切,都在它的周围:知道光标在哪里,光标两侧是什么,你在哪个 App 里,以及你说“period”是什么意思。
  • 输入文字比转写文字更难。 在行为各不相同的 App 里,不抢走焦点就读取光标周围的文字,花的功夫比整个转写流程还多。
  • 无障碍是设计,不是一张清单。 给无法打字的人用的 App,必须不用打字就能操作,而且它不应该看起来像医疗器械。它有你声音的真实波形、三种面板布局和系统自己的材质,因为人们依赖的工具,值得做得好看。

现在的状况

下面是 2026 年 10 月 3 日这个项目的情况,只用朴素的数字。

  • 版本。 Mac App Store 上是 1.5.3 (21),2026 年 9 月 29 日发布。GitHub 和 Homebrew 是 1.5.2,发布说明列出了每一项改动。
  • 许可证。 GPL-3.0,源代码在 github.com/ryleighnewman/YapToText。
  • 关注度。 GitHub 上有 25 个星标。
  • 钱。 不需要花钱。App 里有一个打赏罐,打赏不会改变你得到的任何东西。

简短总结

  • 免费。 没有付费方案,没有上限,也不用账号。
  • 开源。 许可证是 GPL-3.0,源代码在 GitHub 上。
  • 在你的 Mac 上。 两个模型都在本机运行,你的声音从不离开。

如果你是从有免费方案的付费 App 换过来,superwhisper 替代方案页面会按具体用途逐项讲换过来的过程。

想把其他开源选择并排看一遍,我在Mac 开源语音输入 App 里做了比较。

如果你试用后发现哪里不对,我宁愿听到这个,也不愿听到别的。它能走到今天,靠的就是这个。请在 GitHub 上提交 issue。每一条我都会看。

在 Mac App Store 下载 YapToText免费下载。无需账号,没有锁定的功能。需要搭载 Apple 芯片的 Mac 和 macOS 14 或更高版本。 源代码在 GitHub 上。

关于作者。 Ryleigh Newman 从事软件开发,用手打字有困难,每天都用本站介绍的 YapToText 听写。本页译自英文。App 的界面和网站的其他页面是英文的。 进一步了解这个项目(英文)。

指南

更多指南(英文)

资料来源

常见问题

Mac 上有开源的语音输入软件吗?

有。YapToText 免费,采用 GPL-3.0 开源,在 Mac App Store 上架。Handy 和 OpenWhispr 采用 MIT 许可证,FluidVoice 和 VoiceInk 采用 GPL-3.0。

有没有 Wispr Flow 和 superwhisper 的开源替代品?

有。YapToText 采用 GPL 许可证且免费,在你的 Mac 上运行 Whisper 加一个本地整理模型,可以从 Mac App Store 或 Homebrew 安装。什么都不会上传,也不用账号。

YapToText 能离线使用吗?

能。Mac App Store 版本第一次打开就可以:语音模型和整理模型都内置在 App 里,所以听写不会发出任何网络请求。Homebrew 版本要先下载一个语音模型。

它和其他开源 Whisper 套壳软件有什么不同?

有三点。它会让你说的话与光标周围的句子相配,所以在句子中间听写时,大小写、空格和标点都是对的。它会替你选好格式,邮件会变成邮件。它还能让你在任何地方选中文字,用声音修改。此外,它通过 App Store 安装,而不是靠 shell 脚本。

真的免费吗?有什么陷阱?

没有陷阱,也没有付费方案。它永远免费,源代码是公开的,App 里唯一的钱是一个可选的打赏罐,打赏不会改变你得到的任何东西。

哪款 Mac 开源语音输入 App 在 App Store 上?

YapToText。我知道的其他开源语音输入 App,下载都要去它们自己的网站或 GitHub 发布页。有了 App Store,就是点一下安装、自动更新,还有 Apple 的沙盒和审核。