语音输入
用设备端语音转文字向 MadoHub 口述——你的音频从不离开本机。
语音输入让你口述而不是打字。按住热键、说话、松开——转写文字落到你指定的目标位置。整条流水线都在本地运行:音频采集、重采样和转写都在你的机器上完成,中间没有任何网络调用。
如果你曾经向云端语音 API 口述过,然后琢磨那段音频最后去了哪里,这就是另一种设计。你的声音被采集、由本地 Whisper 模型转写、写进 MadoHub——全在同一个进程、你的机器上完成。音频和转写文字都不会被上传。
你能用它做什么
- 按住即说(push-to-talk)口述 —— 按住热键、说话、松开即可转写。
- 重试上一次录音 —— 不用重新说,对同一段录音再跑一次转写,第一次听错时很有用。
- 把转写文字路由到三个目标之一 —— 进入 MadoAgent 聊天输入框、写入当前聚焦的终端但不提交,或写入聚焦终端并立即提交。
- 即时切换目标 —— 从命令面板更改口述落点,不必打开 Settings。
- 选择模型大小 —— 从
tiny(约 75 MB)到medium(约 1.5 GB);更大的模型更准但更慢、下载更重。 - 固定语言或自动检测 —— 英语、中文、日语、韩语、西班牙语、法语、德语,或自动。
如何使用
- 从 Settings → Voice 启用语音输入,或从命令面板(Cmd+Shift+P)的 Enable Voice Input 条目启用(可用 "voice"、"dictation"、"push-to-talk" 或 "语音" 搜索)。
- 如果还没下载 Whisper 模型,MadoHub 会打开 Settings 的 Voice 标签并弹 toast 告诉你要下载什么——不会对着空音频录音。
- 按住 Cmd+Shift+V(默认 push-to-talk 热键)录音,松开停止并转写。
- 如果第一次听错了,按 Cmd+Shift+R 重试上一次录音。重试仅在转写成功后 30 秒内、且未开始新录音时可用。
- 在 Settings → Voice 选择转写文字落到哪里,或从命令面板即时切换目标。
| 目标 | 行为 |
|---|---|
| Agent(默认) | 草拟进 MadoAgent 聊天输入框,输入框会自动打开让你看到文字落地。你自行审阅、编辑并按 Enter。 |
| Terminal — insert | 写入当前聚焦的终端图块但不提交。换行会被折叠成空格,避免在 shell 里自动提交。 |
| Terminal — auto | 写入聚焦终端图块并立即提交。 |
两个终端目标锁定的是你开始录音时聚焦的那个终端图块——录音中途改焦点不会让转写走错地方。如果开始时没有聚焦的终端(或说话期间图块被关掉),MadoHub 会回退到 Agent 目标并弹 toast 说明原因。
常见用例
- "把 auth 模块重构成一个类,给登录流程加测试。" —— 一边在脑子里过代码一边向 MadoAgent 口述一段长 prompt,然后审阅并发送。
- 不打字跑一个快速 shell 命令 —— 把目标设为 Terminal — auto,口述
git status或pnpm test。 - CJK 口述 —— 把语言固定为中文/日语/韩语,短口述更准,因为 Whisper 的自动检测在安静或很短的 CJK 片段上容易出错。
提示与最佳实践
- 从
small模型(默认)开始,准确率和体积的平衡较好。只有经常口述且需要更高准确率时才上medium。 - 知道自己在说什么时把语言固定下来——避免在短或安静的片段上自动检测出错。
- 如果 push-to-talk 或重试热键与你已有的快捷键冲突,在 Settings 里重绑;Settings 会对冲突发出警告。
- 口述多行输入时用 Terminal — insert 而不是 Terminal — auto,这样你可以在提交前审阅。
相关功能
- Command Palette —— 在这里切换语音输入和切换目标。
- Settings —— Voice 标签,配置模型、语言、热键和目标。
- MadoAgent —— 默认的口述目标。
局限
- 语音输入默认关闭;首次使用前需启用。
- 重试仅在转写成功后 30 秒内、且未开始新录音时可用。
- 终端目标要求开始录音时有聚焦的终端图块。否则 MadoHub 回退到 Agent 目标。
- 录音前必须下载好模型;MadoHub 不会对着空音频录音。