# 语音 ## 概述 Neotask 通过多个系统支持语音交互:唤醒词检测、连续语音对话(对话模式)和文字转语音的语音响应。 ## 唤醒词 ### Swabble(macOS) Swabble 是一个原生 macOS 守护进程,使用 Apple 的 Speech.framework 提供始终在线的**设备端**语音唤醒词检测。 **特性:** - 本地处理 -- 唤醒词检测期间没有音频离开您的设备 - 可自定义唤醒词 - 连续音频采集和转录 - Hook 执行 -- 检测到唤醒词时触发 shell 命令 - 文件转录 -- 将音频文件转换为文本(TXT 或 SRT 格式) - 可配置的冷却时间、最小字符数和超时 **工作原理:** 1. Swabble 使用系统麦克风持续监听 2. 当它在语音文本中检测到唤醒词时,捕获后续语音 3. 捕获的文本通过配置的 hook 命令发送到您的代理 4. 代理处理语音命令并响应 ### 节点唤醒词 在 iOS 和 Android 伴侣应用上,语音唤醒由原生处理: - 唤醒词配置由 Gateway 管理 - 节点在连接时接收唤醒词配置 - 检测使用平台原生语音识别 ## 对话模式 对话模式支持连续语音对话 -- 自然地说话并听到代理回应。 ### 工作原理 1. **语音转文字** -- 您的语音实时转录(Deepgram 流式传输或平台原生 STT) 2. **代理处理** -- 转录的文本作为常规消息发送给您的代理 3. **文字转语音** -- 代理的回复以语音形式回放给您 ### 语音状态机 对话模式在四种状态之间转换: | 状态 | 描述 | |-------|-------------| | **Idle** | 未主动监听 | | **Listening** | 正在采集和转录您的语音 | | **Thinking** | 代理正在处理您的请求 | | **Speaking** | 正在播放代理的语音回复 | ### 文字转语音提供商 | 提供商 | 描述 | |----------|-------------| | **ElevenLabs** | 高质量语音合成,支持声音选择 | | **OpenAI TTS** | OpenAI 的文字转语音 API | ### 语音偏好 - **声音选择** -- 从可用的 TTS 声音中选择 - **自定义系统提示** -- 为语音模式覆盖代理的个性 - **自定义响应格式** -- 控制代理如何格式化语音回复 - **语言支持** -- 语音字符串本地化支持 18+ 种语言 ## 语音命令 ### 多意图检测 代理可以检测和执行多步语音命令: > "Create a calendar event for tomorrow at 3 PM, then send an email to the team about it, and post a reminder in Slack" 这会自动解析为一系列命令,每个按顺序执行,结果流向下一步。 ### 工具执行 在语音对话期间,代理可以像在文字对话中一样执行工具 -- 浏览网页、运行代码、管理文件、控制设备等。结果被总结并以语音播放。 ### 操作真实性验证 语音模式包含验证,确保代理的声明与实际工具结果一致。如果代理说"我已发送邮件"但邮件工具失败了,系统会捕获这一差异并报告实际结果。 ## 语音通话(插件) Voice Call 插件添加 SIP 电话支持: - 来电处理 - 去电(依赖提供商) - 实时双向音频(PCM 流) - TTS 合成注入通话音频 ## 配额管理 语音服务可能有使用配额: - TTS + STT 的每月分钟分配 - 按会话跟踪 - 使用量达 80% 时警告 - 达到配额限制时自动截止