OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  voice-wake-say:使用 macOS 内置的 say 命令朗读响应

voice-wake-say:使用 macOS 内置的 say 命令朗读响应

 
  desktop ·  2026-02-17 02:47:23 · 3 次点击  · 0 条评论  

名称: voice-wake-say
描述: 当用户输入表明来自语音唤醒/语音识别时(例如,以“User talked via voice recognition on ”开头的消息),使用 macOS 内置的 say 命令将助手的回复内容朗读出来。


语音唤醒朗读

概述

当对话源自语音唤醒/语音识别时,使用 macOS 的 say 命令将助手的回复内容大声朗读出来。不要使用 tts 工具(它会调用云服务提供商)。

何时使用 say(请逐条检查每条消息)

如果用户消息以下内容开头:User talked via voice recognition
- 步骤 1: 首先使用 say 进行确认(以便用户知道你已听到)
- 步骤 2: 然后执行任务
- 步骤 3: 如果合适,在任务完成后可再次朗读

如果用户消息不是以该确切短语开头
- 那么: 不要使用 say。仅提供纯文本回复。

关键点:
- 逐条检查每条消息——上下文不会延续
- 触发短语必须位于消息的最开头
- 对于耗时任务,先进行确认,以便用户知道你在处理

工作流程

1) 检测语音唤醒上下文
- 仅当最新的用户/系统消息 User talked via voice recognition 开头时触发。
- 如果消息指示“先重复提示”,则在回复中保持此行为。

2) 准备朗读文本
- 以最终回复文本为基础。
- 去除 Markdown/代码块;如果回复较长或代码较多,则朗读简短摘要,并说明详情已在屏幕上显示。

3) 使用 say 进行朗读(本地 macOS 文本转语音)

printf '%s' "$SPOKEN_TEXT" | say

可选控制(仅在设置时使用):

printf '%s' "$SPOKEN_TEXT" | say -v "$SAY_VOICE"
printf '%s' "$SPOKEN_TEXT" | say -r "$SAY_RATE"

故障处理

  • 如果 say 不可用或出错,仍发送文本回复,并注明文本转语音失败。
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor