核心用法
iMessage Voice Reply 是一款通过本地 Kokoro TTS 引擎生成原生 iMessage 语音消息的自动化技能。用户输入文本后,系统调用本地 ONNX 推理生成语音,经 Apple afconvert 编码为 CAF/Opus 格式(48kHz mono, 32kbps),最终通过 BlueBubbles 通道以原生语音气泡形式发送至 iMessage,实现与 Messages.app 录音完全一致的波形可视化体验。
执行流程:文本输入 → Kokoro TTS 本地合成 → afconvert 编码 → BlueBubbles 发送 → iMessage 渲染为内嵌语音气泡
显著优点
1. 零运营成本:Kokoro TTS 完全本地运行,无 API 调用费用,模型体积仅 ~136MB
2. 原生体验:输出格式与 Messages.app 录音完全一致(CAF/Opus),支持波形可视化、内联播放
3. 多语言支持:内置英语、西班牙语、法语、日语、中文等 10+ 音色,含男女声选项
4. 安全设计:Python 脚本采用 subprocess.run 列表参数(无 shell=True),推荐 --text-file 方式处理不可信输入,有效规避注入风险
潜在局限
- 平台限制:
afconvert编码依赖 macOS,Linux 环境回退至 MP3,可能丧失原生语音气泡渲染 - 外部依赖:必须配置 BlueBubbles 通道(
channels.bluebubbles),且需 Apple ID 生态支持 - 首词截断:虽内置 150ms 静音填充,特定音色仍可能出现开头裁剪
- 无障碍缺陷:纯语音消息对听障用户不友好,需配套文本回复
适合人群
- 高频使用 iMessage 且偏好语音交互的 macOS/Apple 生态用户
- 需低成本自动化语音客服、语音通知的场景
- 多语言 TTS 需求者(尤其中日英法西)
常规风险
- 配置敏感性:
filename、contentType、asVoice三参数任一错误即导致降级为文件附件 - 缓存占用:模型缓存目录
~/.cache/kokoro-onnx/需持续维护 - 通道稳定性:BlueBubbles 服务中断将直接导致发送失败