首页 资讯 下载 教程 Skills 社群

OpenClaw 语音对话(Talk)配置:ElevenLabs 语音合成与实时对话

Talk 模式

Talk 是 OpenClaw 的语音交互功能,支持 macOS、iOS 和 Android 平台。通过 ElevenLabs 语音合成,AI 助手可以用自然人声回复。

配置

openclaw.json 中配置 Talk:

{
  talk: {
    voiceId: "EXAVITQu4vr4xnSDxMaL",
    voiceAliases: {
      "Clawd": "EXAVITQu4vr4xnSDxMaL",
      "Roger": "CwhRBWXzGAHq8TQ4Fs17"
    },
    modelId: "eleven_v3",
    outputFormat: "mp3_44100_128",
    apiKey: "elevenlabs_api_key",
    silenceTimeoutMs: 1500,
    interruptOnSpeech: true
  }
}

参数说明

参数 说明 默认值
voiceId ElevenLabs 语音 ID -
voiceAliases 语音别名映射,方便在对话中切换语音 -
modelId ElevenLabs 模型 eleven_v3
outputFormat 音频输出格式 mp3_44100_128
apiKey ElevenLabs API Key(也可通过 ELEVENLABS_API_KEY 环境变量设置) -
silenceTimeoutMs 用户停止说话后等待多久开始处理 Android/macOS: 700ms, iOS: 900ms
interruptOnSpeech 用户说话时是否中断 AI 的语音回复 -

环境变量

Talk 支持以下环境变量作为备用:

  • ELEVENLABS_API_KEY:ElevenLabs API 密钥
  • ELEVENLABS_VOICE_ID:默认语音 ID
  • SAG_VOICE_ID:备选语音 ID

配置文件中的值优先于环境变量。

语音切换

通过 voiceAliases 可以在对话中用别名切换语音,例如告诉 AI "用 Roger 的声音说"。

注意事项

  • Talk 功能需要 ElevenLabs 账号和 API Key
  • 语音合成会消耗 ElevenLabs 的字符额度
  • silenceTimeoutMs 设置太短可能导致用户还没说完就开始处理