核心用法
Voice Wake Say 是一个专为 macOS 语音交互场景设计的辅助技能。当检测到用户消息以特定前缀 User talked via voice recognition on m3 开头时,自动触发本地语音播报流程。
执行流程:
1. 即时确认 — 先调用 say 告知用户已收到指令,避免静默等待
2. 执行任务 — 处理用户的实际需求
3. 结果播报 — 完成后选择性播报关键结果
技术实现:
- 使用
printf '%s' "$SPOKEN_TEXT" | say管道命令 - 支持可选参数
-v指定语音、-r调整语速 - 自动清理 Markdown 与代码块,长内容转为摘要播报
显著优点
- 隐私优先:完全本地执行,无需联网调用云端 TTS 服务
- 零延迟:系统内置
say命令响应极快 - 场景精准:严格按前缀匹配,避免误触发
- 体验连贯:先声确认 + 后台执行,符合语音交互直觉
潜在局限
- 平台限制:仅适用于 macOS,Windows/Linux 无
say命令 - 语音质量:系统合成语音较云端方案自然度稍逊
- 前缀依赖:触发条件刻板,若设备标识变化(如 m3 → m4)需同步更新
- 无多语言自动切换:需手动指定
-v语音包
适合人群
- 高频使用 macOS Voice Wake 的语音交互用户
- 注重隐私、偏好本地处理的用户
- 需要无障碍语音反馈的场景(驾驶、烹饪等视线受限场景)
常规风险
- 命令注入:
SPOKEN_TEXT若包含未转义的 shell 特殊字符可能导致意外行为 - 语音覆盖:连续快速指令可能造成语音重叠
- 失败静默:
say命令失败时仅文本提示,无强制重试机制