Mac 语音输入:macOS 自带听写怎么开,边界在哪
关于 Mac 上的语音转文字,网上的文章有个共同毛病:上来就推荐第三方工具,仿佛 系统自带的那个不存在。
实际上 macOS 的听写(Dictation)在多数场景下够用、免费、不需要装任何东西, 而且可以完全在本机跑。真正值得讨论的不是"它行不行",而是"它在哪些地方到不了, 到不了的时候有什么别的办法"。
先把它打开
路径是:系统设置 → 键盘 → 听写,把开关打到开启。
第一次开启时系统会要求授予麦克风权限,并提示下载对应语言的资源。同一页里有 几个值得先设好的选项:
- 语言:可以添加多种语言,但一次听写只按当前选中的那一种识别
- 麦克风来源:默认跟随系统输入设备,接了外置麦克风可以在这里指定
- 快捷键:默认是连按两下 Control,下拉菜单里可以换成其他组合或自定义
设好之后,把光标放进任意一个文本框——备忘录、浏览器的输入框、邮件正文都行—— 连按两下 Control,屏幕上出现麦克风图标就可以说了。说完再按一次快捷键或者点一下 图标结束。
标点可以直接念出来("逗号"、"句号"、"换行")。部分语言和部分系统版本支持自动 加标点,这个行为在各版本之间不一致,建议在自己机器上试一次再决定要不要手动念。
它能用到什么程度
比很多人以为的要好。
写邮件、发微信、在备忘录里口述一段想法、填写网页表单、在搜索框里输入一个长 查询——这些场景系统听写都能胜任,而且因为它是系统级的,你不需要为了用它去 切换到某个特定的 App。
更关键的是离线这件事。macOS 支持把部分语言的听写放在本机完成:旧版本里 这是一个叫「增强听写」的显式开关,新版本在 Apple 芯片的机器上对支持的语言 默认走设备端处理。无论哪种形态,前提都是对应的语言包已经下载到本地。做到了 这一点,音频就不离开你的机器,断网也能用。
这个隐私属性是很多付费工具拿来当卖点的东西,而系统自带的已经给了。
需要留一句:到底哪些语言、哪个系统版本是什么行为,Apple 在不同版本之间调整过 多次,上面这段只给方向,具体请在自己的机器上确认。
它在哪些场景会卡住
理解边界要先理解它的工作方式:系统听写把识别结果交给当前获得焦点的标准文本
控件,走的是 macOS 的辅助功能(Accessibility)接口。普通应用用的是
NSTextField、NSTextView 这类系统控件,系统知道光标在哪、该把字插在哪。
一旦目标不是标准文本控件,这条链就断了。具体会遇到的情况:
终端模拟器。 Terminal、iTerm2、Warp、Alacritty 自己绘制字符网格,把键盘 输入直接转成字节流送给伪终端,对系统而言更像一块画布而不是文本框。文字插不 进去或插错位置都很常见。这一条我们单独写过,细节见 Mac 终端里怎么用语音输入。
跑在终端里的程序。 Vim、各类 REPL、以及 Claude Code、Codex CLI 这类终端里的 AI 工具,都继承了上面那条——它们处理字节流,不碰图形层的文本控件。
以 canvas 渲染正文的网页编辑器。 有一类在线编辑器把正文画在 canvas 上而不是 用浏览器原生的文本元素(Google Docs 已经改成这种渲染方式)。这类界面是否还向 系统暴露可用的文本接口,取决于它自己的实现,不能一概而论——值得在自己常用的 那个工具里试一次。
远程桌面和虚拟机窗口。 VNC、Parallels 之类客户端把远端画面当图像呈现, 里面的"输入框"对本机系统来说并不存在。能不能用取决于那个客户端做了什么, 同样建议自己验证。
除了"插不进去"这一类,还有两种更日常的卡点:
长时间连续口述。 系统听写有会话的概念,说一段后会自行结束,需要再次触发。 想一口气口述一篇初稿或者记一整场会议,节奏会被反复打断。(具体时长上限随版本 变化,需要自行确认。)
中英混说和专业术语。 一次听写只按当前选定的语言走,中文模式下夹英文单词, 常见结果是被硬转成中文近音词。这里要说句公道话:这是所有语音方案的共同难点, 不是系统听写独有的短板,任何宣称"完美支持中英混输"的说法都值得怀疑。实际 可行的做法只有一条——说完扫一眼再提交。
卡住了,有哪些办法
先排除一个最容易被误判的原因:系统输入音量太低。
Mac 的输入电平默认不一定在合适的位置,调低过之后很容易忘。表现是听写能触发、 界面也在动,就是识别不出东西,或者只出来零星几个字。去「系统设置 → 声音 → 输入」说一句话看电平条有没有跳,这一步能省掉大量瞎猜。
确认不是音量问题之后,按场景选办法:
| 办法 | 怎么把字送进去 | 能离线 | 适合 | 要注意 |
|---|---|---|---|---|
| macOS 自带听写 | 交给标准文本控件 | 语言包下载后可以 | 日常写作、邮件、表单 | 终端和自绘界面里不可靠 |
| 模拟键盘输入的工具 | 当成键盘事件敲进去 | 看工具是否本地模型 | 终端为主、想全局可用 | 需要辅助功能和输入监听权限 |
| 先转写再粘贴 | 人工复制粘贴 | 跟上游方案一致 | 偶尔用一次 | 多两步操作 |
| 自建 ASR 脚本 | 自己决定 | 看模型跑在哪 | 想完全掌控 | 自己处理密钥、延迟和热键 |
"先转写再粘贴"值得被认真对待。 在备忘录里用系统听写说完,复制,粘贴到目标 位置。听上去笨,但如果你一周只需要三五次,它零成本、零权限、零风险,比装一个 常驻后台的工具划算。
模拟键盘输入是另一条路:不走"插入文本"的接口,而是把识别结果作为键盘事件 发给系统,目标应用收到的和你真敲键盘没有区别。好处是不依赖应用暴露任何文本 接口,只要那个窗口有焦点就行;代价是要授予辅助功能和输入监听两项权限—— 这两项权限能力很大,所以装之前值得确认这个工具是否把音频上传、数据流向有没有 说清楚。
语音狗子 走的就是这条路:长按右 Option 说话,松开后文字作为键盘输入落在 光标处,终端、编辑器、浏览器一视同仁。识别用本地模型,不联网、不需要 API Key、 永久免费。限制也说清楚:只支持 Apple Silicon 的 Mac,需要 macOS 13 或更新的 版本;另外终端开启「安全键盘输入」时,系统会停止向第三方程序派发按键事件, 这时按住右 Option 会完全没反应且没有任何提示——这个限制对所有依赖按键监听的 工具一视同仁。
怎么决定用哪个
一个够用的判断顺序:
- 你主要在普通应用里说话(邮件、文档、聊天、表单)→ 系统听写就够了, 先把语言包下好,把输入音量调对
- 你偶尔需要在终端里说一段 → 转写后粘贴,不值得为此装东西
- 你每天都要在终端、编辑器、浏览器之间来回说 → 考虑模拟键盘输入的工具, 并确认它的数据流向
- 你想完全掌控识别模型和后处理 → 自己接 ASR
大部分人停在第 1 条就可以了。真正会被边界卡住的是第 3 类人——终端里跑 AI 工具、 一天要输入几十段自然语言描述的那种。系统听写覆盖不到这个场景,不是因为它做得 不好,而是因为它从设计上就不是为自绘界面准备的。