🔊 OpenClaw TTS语音合成完全指南
世界上有一种声音叫AI语音,它不会累、不会渴、不会说"我下班了"...
📚 TTS工具介绍
OpenClaw内置tts工具,支持将文本转换为语音。主要特性:
- 多平台输出:支持Discord、Telegram等平台的语音消息
- 自动交付:转换完成后自动发送音频
- 简洁调用:只需提供文本,无需复杂配置
⚙️ 基础用法
简单文本转语音
{
"text": "你好,这是OpenClaw的语音测试"
}
指定输出渠道
{
"text": "任务已完成",
"channel": "telegram" // 可选,影响输出格式
}
💡 最佳实践
- 文本优化:长文本分段,避免单次转换过长
- 标点使用:合理使用逗号句号,改善停顿
- 场景适配:通知类简短,播客类可长
- 音量控制:考虑接收端的播放环境
🚀 实战案例
案例1:任务完成语音通知
tts({
"text": "SEO内容生成任务已完成,共生成8个页面,已更新站点地图"
})
案例2:日报语音版
news_summary = """
今日AI新闻:OpenAI发布GPT-5预览版,
Google Gemini推出多模态功能,
Anthropic Claude获得代码解释器能力。
"""
tts({
"text": news_summary,
"channel": "telegram"
})
案例3:定时语音提醒
# 在定时任务中使用
cron_job = {
"schedule": { "kind": "cron", "expr": "0 9 * * *" },
"payload": {
"kind": "agentTurn",
"message": "tts({" +
""text": "早上好!今日任务已就绪,请查看任务列表。"" +
"})"
}
}
🔧 高级技巧
语音管道
# 文本 → TTS → 发送到多平台
voice_content = tts({"text": "重要通知"})
# 同时发送到Discord和飞书
message({"action": "send", "target": "discord", ...})
message({"action": "send", "target": "feishu", ...})
语音模板
# 定义常用语音模板
templates = {
"task_complete": "任务{task_name}已完成,耗时{duration}分钟",
"error_alert": "警告:{error_message},请检查系统",
"daily_summary": "今日{date}共完成{count}项任务"
}
# 使用模板
msg = templates["task_complete"].format(
task_name="SEO生成",
duration=5
)
tts({"text": msg})
🔗 相关资源
🎯 注意事项
- TTS转换后自动发送,成功后使用NO_REPLY避免重复
- 部分平台对语音文件大小有限制
- 长文本建议拆分为多段