Mac 私密语音听写:Loqua 的混合语音输入栈如何把数据留在你这一侧
大多数语音听写依赖云路径。Loqua 采用混合架构:敏感层本地优先、云功能可选,并把边界明确展示出来。
要点速览
如果你在寻找 Mac 私密语音听写选项,而不想要只是“带隐私政策的云转写”,这篇文章给出的是架构层面的答案。Loqua 从设计上就是混合架构:敏感核心路径——语音识别、本地清理、命名实体处理和屏幕/上下文读取——默认设计为在 Apple Silicon 设备端运行。我们把它视作 Mac 上的安全听写,不是因为营销文案写了“私密”,而是因为接触音频和屏幕内容的层本地优先。可选云处理只用于更长改写或选定翻译等功能,并且可以关闭。我们不会用用户听写数据训练模型。目标是在本地语音输入模式下哪些内容留在本地、哪些内容在用户开启后会跨过网络边界,这两者之间画出可见边界。
Loqua 是一款面向 Mac 的上下文感知语音输入工具。它可以使用屏幕上下文,这让隐私叙事成为核心。如果一个听写产品能看到你的代码、消息和写到一半的邮件,那么围绕这些数据的架构就不是营销脚注,而是产品本身。
我是 Shuran,我和一个小型算法研究团队一起构建了这套栈。我们在自己的内部 Slack、邮件、coding prompts 和 code review 中使用 Loqua。我们想要的标准很简单:敏感路径默认留在本地,可选云使用必须可见,并且避免使用用户听写数据训练。
云默认路线的取舍
许多现代听写产品使用云转写。这可以是合理的工程选择:大模型、集中更新、跨平台一致性、企业控制和有文档说明的零数据留存模式,都可以存在于这种架构中。
取舍在于暴露面。一旦音频或上下文跨过网络,你的麦克风和光标之间就多了一条服务器路径:传输、队列、日志、模型提供商、运维元数据和企业策略。好的供应商会认真管理这个暴露面。但用户仍然需要理解边界在哪里。
Loqua 从不同默认值出发。接触音频和屏幕上下文的层设计为本地优先运行。可选云功能被当作明确的功能边界,而不是看不见的底层管线。
为什么纯设备端仍然是一种取舍
纯设备端 AI 很有吸引力,对常规听写而言也是正确默认值。但绝对化表述很脆弱。一些长尾任务——非常长的改写、远距离语言翻译、罕见领域转换——可能受益于更大的云模型。模型更新、崩溃报告、许可证检查和功能分发,在很多产品里也会带来网络触点。
所以我们避开口号版隐私。真正有用的答案不是“云不好”或“本地有魔法”。答案是一种混合架构:默认值清楚、控制项明确,并且在云功能关闭时产品仍然可用。
Loqua 所说的混合架构
架构说清楚就是这样:
| 层 | 默认运行位置 | 原因 |
|---|---|---|
| 语音识别(Layer 1) | 设备端,Apple Neural Engine | 延迟预算;音频敏感性 |
| 语言智能——填充词清理、NER、基础格式化(Layer 2) | 设备端 | 延迟;词汇属于你 |
| 多模态上下文——屏幕读取(Layer 3) | 设备端 | 屏幕内容不离开你的机器 |
| 云端后处理——仅在你选择开启时 | Loqua 管理的云端,TLS 加密 | 长文改写、部分翻译 |
三个核心层——也就是接触音频和屏幕内容的层——默认设计为在设备端运行。核心听写体验可以在离线模式下使用。
云只保留给具体、选择开启的场景。使用云时:云流量通过 TLS 加密;云处理为零留存(请求被处理后即丢弃);用户可以在 Settings 中完全关闭云。我们在任何时候都不会使用用户数据训练模型——不使用云流量,不使用设备端使用数据。
每条边界都可见
原则是:如果你的某类数据跨过边界,你不应该必须读完 EULA 才知道。我们这样让每条边界可见:
- 菜单栏指示器。 Loqua 正在录音时,菜单栏图标会变红。某次语音输入使用云时,指示器会有明显不同(小云图标叠层)。你可以实时看到是否有内容离开机器。
- Settings → Privacy 面板。 列出哪些云调用已启用,并为每一项提供开关。翻译可以开启而长文改写关闭,反之亦然。
- 音频处理。 默认核心听写路径不会把音频发送到云。可选云功能是明确的,并且可以关闭。
- 屏幕内容处理。 多模态上下文层读取的屏幕内容不会跨过网络。即使开启云端改写,发送的也只是被改写的文本,而不是周围屏幕。
- 日志。 本地调试日志不包含听写内容。云侧日志不包含音频或转写文本。
AED 和多模态上下文处理也留在同一边界内。有意义的声音中描述的原型工作把非词语音视作本地、选择开启的信号;打造一个能看见你所见的监听器中描述的多模态监听器,则只为当前语音输入使用屏幕上下文,而不是创建通用屏幕日志。
低延迟下的算法取舍
让核心层在设备端运行,同时在消费级 Mac 上保持听写响应,是这套栈里最难的工程工作。三件事让它可行:
- 为 Neural Engine 激进选择算子。 不是每个 transformer 算子都能在 Apple Neural Engine 上高效运行。我们选择能留在快速路径上的层类型、attention 变体和量化方案。Apple Core ML 文档列出了支持的算子集合;一旦掉出这个集合,成本会很高。
- 流式优先的语音识别。 在整句话最终确定前就开始输出。非流式变体可以提高单句准确率,但体感更慢。
- 并行流水线。 上下文层与语音识别并行运行。等语言层准备好格式化输出时,目标上下文已经在本地读取完成。
取舍是参数预算很紧。每个本地层都比不受笔记本散热约束的云模型更小。我们用任务特定训练数据、谨慎微调和窄范围 Mac 优先策略来补偿。内部基准目前目标约为 200ms 级响应、高技术词汇识别率,以及受支持条件下较低个位数 WER;在公开基准页面存在之前,我们会把这些描述为内部目标。
我们的保证
硬列表如下:
- 不使用用户数据训练。 不使用音频,不使用转写文本,不使用云处理文本,也不会用于任何未来模型版本。
- 除非你选择开启,否则不上传音频。 默认:无云端音频。选择开启的云功能是明确且按功能划分的。
- 云处理数据零留存。 请求被处理后立即丢弃。不存在“30 天软删除”——因为没有副本可删。
- 所有云流量使用 TLS。 这是标准实践,但我们仍然完整说明。
- 离线模式。 Settings 中一个开关即可关闭所有云调用。Loqua 会继续只使用设备端层工作。
- 没有浏览器 hook。没有跨应用追踪。 Loqua 只为当前听写读取活动应用的上下文。两次听写之间,多模态上下文层处于空闲状态。
- 个人词典留在本地。 你的自定义词汇存在本地文件里。它不会同步到任何云,我们也看不到。
你的控制项
隐私只有在控制项容易找到时才有意义。在 Settings -> Privacy 面板,你可以:
- 关闭可选云调用
- 开启或关闭长文云端改写
- 开启或关闭云端翻译
- 把特定应用完全排除在 Loqua 之外
- 在 macOS System Settings 中撤销麦克风权限
- 在 macOS System Settings 中撤销 Accessibility 权限
对于受监管或安全敏感的工作流,请使用完整离线模式,并执行你自己的合规审查。我们不会把一篇博客文章表述为法律或 HIPAA 合规建议;这里描述的是技术产品边界,正式合规要求应通过合适的政策渠道评估。
延伸阅读
- Apple Core ML 文档——Loqua 使用的设备端运行时。
- Apple 隐私功能概览——Loqua 建立其上的更广泛 Mac 隐私模型。
- 我们的配套文章:三模型架构和语音遇见视觉:全模态听写。
如果你有这篇文章没有覆盖到的语音输入隐私或安全要求,请发邮件给我们。我们是一个小团队,比起让你从通用政策文档里猜答案,我们更愿意直接回答你的问题。这就是 Loqua 为什么首先被设计成一款 Mac 私密语音听写产品,其次才是一款带云功能产品的简短版本。
常见问题
今天就试试 Loqua
免费开始。Mac 原生。由每天都在使用它的算法研究者打造。
下载