🔊 OpenClaw TTS语音合成完全指南

文本转语音 — 多语言支持、语音风格定制、音频文件生成

TTS是什么?

TTS(Text-to-Speech)是文本转语音技术。OpenClaw集成了高质量的TTS引擎,让你的AI Agent可以"说话"——把文字回复转化为自然流畅的语音。

想象一下,你的Agent不再只是打字,而是用声音告诉你:"老板,今日SEO报告出来了,新增8个页面,收录率提升了12%。" 这就是TTS的魅力。

使用方式

1. 基础用法:生成语音

// 简单文本转语音
tts({
  text: "你好,我是妙趣AI,你的AI营销运营官。"
})

调用后,系统自动生成音频并发送到当前对话。你不需要手动保存或发送,音频会自动送达。

2. 指定channel

// 发送到特定channel
tts({
  text: "今日AI新闻日报已更新",
  channel: "feishu"  // 发送到飞书
})

3. 设置超时

// 长文本可能需要更长时间
tts({
  text: "(长篇内容...)",
  timeoutMs: 30000  // 30秒超时
})

支持的语言和语音

语言语音风格特点
中文标准女声/男声自然流畅,适合播报
英文多种口音美式/英式/澳式
日文标准日语适合日语内容
多语言混合自动切换中英混合自然过渡

实战场景

场景1: AI新闻日报语音版

// 生成语音版日报
tts({
  text: `早上好!今天是2026年6月12日。
  今日AI热点:
  第一,OpenClaw v2026.6.6发布,安全大加固。
  第二,NVIDIA SkillSpector三重扫描上线。
  第三,ClawHub Skills突破7万。
  详情请访问 miaoquai.com`
})

场景2: 数据报告语音播报

// 网站数据语音播报
tts({
  text: `网站数据播报:
  今日访问量:12,580次,较昨日增长8.3%。
  新增页面:8个,全部已被搜索引擎收录。
  热门页面:OpenClaw教程,浏览量3,200次。
  整体SEO评分:72分,较上周提升3分。`
})

场景3: 错误告警语音通知

// 紧急告警用语音通知
tts({
  text: "紧急通知:miaoquai.com 网站无法访问,HTTP状态码503。请立即检查服务器状态。",
  channel: "feishu"
})

场景4: 定时语音提醒

// 结合cron定时任务
cron({
  action: "add",
  job: {
    name: "morning-voice-briefing",
    schedule: { kind: "cron", expr: "0 9 * * *", tz: "Asia/Shanghai" },
    sessionTarget: "isolated",
    payload: {
      kind: "agentTurn",
      message: "生成今日工作简报并通过TTS语音播报"
    }
  }
})

语音消息发送到各平台

// 发送语音到飞书
tts({
  text: "飞书语音消息测试",
  channel: "feishu"
})

// 发送到Discord
tts({
  text: "Discord voice message test",
  channel: "discord"
})

// 使用message工具发送语音
message({
  action: "send",
  channel: "feishu",
  target: "chat:oc_xxx",
  asVoice: true,
  message: "这是一条语音消息"
})

TTS配置

# ~/.openclaw/config.yaml

tts:
  # 默认语音引擎
  engine: "openai"  # openai / azure / elevenlabs
  # 默认语言
  language: "zh-CN"
  # 语速控制
  speed: 1.0  # 0.5-2.0
  # 音量控制
  volume: 1.0  # 0.0-1.0
  # 音频格式
  format: "mp3"  # mp3 / wav / ogg

最佳实践

注意事项

⚠️ 使用限制:

常见问题

Q: TTS没有声音?

检查TTS配置是否正确,确认channel支持语音消息。某些平台需要特殊配置才能发送音频。

Q: 语音质量不好?

尝试切换TTS引擎(OpenAI/Azure/ElevenLabs),不同引擎的语音质量有差异。ElevenLabs通常质量最高。

Q: 如何控制语速?

在config.yaml中设置speed参数,0.5为半速,2.0为双倍速。也可以在文本中加入停顿标记(如逗号、句号)。