语音交互
OpenClaw 不只是一个文字聊天助手——它支持完整的语音交互体验,包括语音唤醒、连续语音对话和高质量语音合成。本文将介绍如何配置和使用 OpenClaw 的语音功能。
Voice Wake(唤醒词配置)
Voice Wake 允许你通过语音唤醒词激活 AI,就像对 Siri 说”Hey Siri”或对 Alexa 说”Alexa”一样。
工作原理
环境音频流(持续监听) ↓本地唤醒词检测引擎 ↓ 检测到唤醒词开始录音 ↓ 用户说完话语音转文字(STT) ↓AI 处理并回复 ↓文字转语音(TTS)播放回复
配置唤醒词
# openclaw.yamlvoice: wake: # 启用语音唤醒 enabled: true # 唤醒词(支持多个) keywords: - "hey claw" - "ok claw" - "你好助手" # 唤醒灵敏度(0.0-1.0,越高越灵敏但误触率也越高) sensitivity: 0.5 # 唤醒后的录音最大时长(秒) maxRecordingSeconds: 30 # 静音检测(用户停止说话后自动结束录音) silenceDetection: enabled: true # 静音多久后结束(毫秒) thresholdMs: 1500
唤醒反馈
voice: wake: # 唤醒成功后的反馈 feedback: # 播放提示音 sound: "~/.openclaw/sounds/wake.wav" # 或使用 TTS 回复 ttsPrompt: "我在听"
Talk Mode(连续语音对话)
Talk Mode 是更沉浸的语音交互模式——进入后无需每次说唤醒词,持续保持语音对话状态。
进入和退出 Talk Mode
# 通过唤醒词进入"Hey Claw, 进入对话模式"# 通过命令进入/talk# 退出 Talk Mode"退出对话模式""再见"/talk off
Talk Mode 配置
# openclaw.yamlvoice: talk: # 启用 Talk Mode enabled: true # 自动退出设置 autoExit: # 静默多久后自动退出(秒) silenceTimeoutSeconds: 120 # 最大连续对话时长(分钟) maxDurationMinutes: 30 # Talk Mode 中的 TTS 设置 tts: # 使用的 TTS 服务 provider: "elevenlabs" # ElevenLabs 语音 ID voiceId: "21m00Tcm4TlvDq8ikWAM" # 语音模型 modelId: "eleven_multilingual_v2" # 语音参数 stability: 0.5 similarityBoost: 0.8 style: 0.0 useSpeakerBoost: true # 语音转文字设置 stt: # STT 提供商 provider: "whisper" # 语言(留空则自动检测) language: "zh" # 模型大小 model: "whisper-1"
Talk Mode 行为定制
voice: talk: # 对话间的停顿处理 pauseHandling: # 短暂停顿视为思考中(不中断) shortPauseMs: 800 # 长停顿视为说完了 longPauseMs: 2000 # 是否允许打断 AI 的回复 interruptible: true # AI 回复前的过渡提示音 transitionSound: "~/.openclaw/sounds/thinking.wav"
ElevenLabs TTS 配置
ElevenLabs 是目前最优秀的 AI 语音合成服务之一,OpenClaw 原生支持与其集成。
基本配置
# openclaw.yamlvoice: tts: provider: "elevenlabs" # API Key(推荐使用环境变量) apiKey: "${ELEVENLABS_API_KEY}"
# 设置 API Keyexport ELEVENLABS_API_KEY="your-elevenlabs-api-key"
语音选择
ElevenLabs 提供了多种预设语音和自定义语音克隆:
voice: tts: provider: "elevenlabs" # 预设语音 ID 示例 # Rachel (女声, 美式英语): 21m00Tcm4TlvDq8ikWAM # Adam (男声, 美式英语): pNInz6obpgDQGcFmaJgB # Bella (女声, 温柔): EXAVITQu4vr4xnSDxMaL # Antoni (男声, 沉稳): ErXwobaYiN019PkySvjV voiceId: "21m00Tcm4TlvDq8ikWAM"
模型选择
voice: tts: # 多语言模型 v2(推荐中文使用) modelId: "eleven_multilingual_v2" # 其他可选模型: # eleven_monolingual_v1 — 英语专用,速度最快 # eleven_multilingual_v1 — 多语言 v1 # eleven_multilingual_v2 — 多语言 v2(质量最好,推荐) # eleven_turbo_v2 — 低延迟模式 # eleven_turbo_v2_5 — 低延迟增强版
语音参数微调
voice: tts: provider: "elevenlabs" voiceId: "21m00Tcm4TlvDq8ikWAM" modelId: "eleven_multilingual_v2" # 稳定性(0.0-1.0) # 低值 = 更有表现力但不稳定 # 高值 = 更稳定但可能单调 stability: 0.5 # 相似度增强(0.0-1.0) # 高值 = 更接近原始语音 similarityBoost: 0.8 # 风格(0.0-1.0, 仅 v2 模型) # 高值 = 更有感情和风格 style: 0.0 # 说话人增强 useSpeakerBoost: true # 输出格式 outputFormat: "mp3_44100_128" # 可选:mp3_44100_64, mp3_44100_128, mp3_44100_192, # pcm_16000, pcm_22050, pcm_24000, pcm_44100
备用 TTS 提供商
如果不使用 ElevenLabs,OpenClaw 也支持其他 TTS 方案:
# macOS 内置 TTSvoice: tts: provider: "system" # macOS 系统语音 systemVoice: "Ting-Ting" # 中文语音 # OpenAI TTSvoice: tts: provider: "openai" apiKey: "${OPENAI_API_KEY}" voice: "nova" # alloy, echo, fable, onyx, nova, shimmer model: "tts-1" # tts-1 或 tts-1-hd
平台支持
OpenClaw 的语音功能在不同平台上的支持程度不同。
macOS
macOS 是语音功能支持最完善的平台:
# macOS 完整语音配置voice: wake: enabled: true keywords: ["hey claw"] sensitivity: 0.5 talk: enabled: true tts: provider: "elevenlabs" voiceId: "21m00Tcm4TlvDq8ikWAM" modelId: "eleven_multilingual_v2" stt: provider: "whisper" language: "zh" # macOS 特有设置 macos: # 使用系统麦克风 inputDevice: "default" # 使用系统扬声器 outputDevice: "default" # 菜单栏图标 menuBarIcon: true
支持的功能:
- Voice Wake(唤醒词检测)
- Talk Mode(连续对话)
- 系统通知集成
- 菜单栏快捷操作
- 系统音频输入/输出
iOS
iOS 上通过 OpenClaw 移动端 App 支持语音:
voice: # iOS 设置 ios: # Siri 快捷指令集成 siriShortcuts: true # 后台语音检测 backgroundListening: false # iOS 限制,仅前台可用 # 触觉反馈 hapticFeedback: true
iOS 支持的功能:
- Talk Mode(App 内)
- Siri 快捷指令触发
- 语音消息发送
- 推送通知语音播报
Android
Android 上通过配套 App 支持:
voice: # Android 设置 android: # 使用 Android 语音服务 useSystemStt: false # false = 使用 Whisper # 通知渠道语音播报 notificationTts: true # 后台监听(需要权限) backgroundListening: true
Android 支持的功能:
- Talk Mode(App 内和后台)
- 通知语音播报
- 语音消息识别
- Widget 快捷操作
完整配置示例
个人语音助手配置
# openclaw.yaml — 完整语音交互配置 voice: # 语音唤醒 wake: enabled: true keywords: - "hey claw" - "你好助手" sensitivity: 0.5 maxRecordingSeconds: 30 silenceDetection: enabled: true thresholdMs: 1500 feedback: ttsPrompt: "我在" # Talk Mode talk: enabled: true autoExit: silenceTimeoutSeconds: 120 maxDurationMinutes: 30 interruptible: true # TTS 配置 tts: provider: "elevenlabs" voiceId: "21m00Tcm4TlvDq8ikWAM" modelId: "eleven_multilingual_v2" stability: 0.5 similarityBoost: 0.8 style: 0.0 useSpeakerBoost: true outputFormat: "mp3_44100_128" # STT 配置 stt: provider: "whisper" language: "zh" model: "whisper-1"
仅 TTS 输出配置(不需要语音输入)
# 只使用语音输出,不监听语音输入voice: wake: enabled: false talk: enabled: false tts: provider: "elevenlabs" voiceId: "21m00Tcm4TlvDq8ikWAM" modelId: "eleven_multilingual_v2" # 在这些通道中自动使用 TTS autoChannels: - "telegram" # Telegram 语音消息 - "discord" # Discord 语音频道
调试语音功能
如果语音功能不正常,可以使用以下方法排查:
# 测试 TTS 是否正常工作openclaw voice test-tts "你好,这是一条测试消息" # 测试 STT 是否正常工作openclaw voice test-stt # 录制一段音频并转文字 # 测试唤醒词检测openclaw voice test-wake # 进入唤醒词测试模式 # 查看音频设备列表openclaw voice devices # 查看语音相关日志openclaw logs | grep -i voice
常见问题
- 唤醒词不响应:检查麦克风权限,降低
sensitivity值 - TTS 无声音:确认
ELEVENLABS_API_KEY是否正确,检查输出设备 - STT 识别不准确:明确指定
language: "zh"而非自动检测 - 延迟过高:尝试使用
eleven_turbo_v2_5模型,或切换到本地 TTS
语音交互让 AI 助手从屏幕走进了真实生活。配合 Voice Wake 和 Talk Mode,你可以在做饭、开车或运动时与 AI 自然对话,体验真正的智能助手。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...



