让AI开口说话,OpenClaw的语音功能让懒人也能享受智能生活!
早上刷手机的时候,有时候真的不想看文字。眼睛还没完全睁开,脑子也转得慢——这时候如果AI能直接把答案念出来,体验会好很多。
OpenClaw里刚好有个TTS(文字转语音)功能,配置起来不麻烦,几行代码就能让AI用语音回答你的问题。今天把这套配置方法整理出来,从零成本到高音质,从基础配置到高级玩法,一次讲清楚。
OpenClaw 的 TTS 是怎么工作的?
原理其实很简单:AI先生成文字回复,然后通过TTS服务转换成音频,最后以语音消息的形式发送出来。
- 在Telegram上,它会直接发一个圆形语音气泡,点击就能播放,跟朋友发语音条的效果一样。
- 在其他平台,则发送一个MP3文件。
目前OpenClaw支持三个语音服务,各有各的定位:
- ElevenLabs —— 音质最好,声音非常自然,有点情绪感。虽然有付费套餐,但免费额度也够个人日常使用。
- OpenAI TTS —— 音质很好,声音清晰稳定。如果你已经有OpenAI的API Key,直接用就行,不用额外折腾。
- Edge TTS —— 微软的神经语音服务,完全免费,不需要任何API Key。音质自然比不上前两个,但胜在零成本,日常听个新闻摘要完全够用。
如果什么Key都没配置,OpenClaw会自动使用Edge TTS兜底,不会报错,开箱即用。
五分钟配好语音功能
打开 openclaw.json,找到 messages 这个字段,加进去:
"messages": {
"tts": {
"auto": "always"
}
}
就这一行配置,保存重启,AI回复就会自动附带语音了。
auto 有四个可选值,能适应不同的使用习惯:
off—— 关闭(默认状态)always—— 每次回复都发语音inbound—— 只有你发语音过来,它才用语音回复tagged—— 只有AI主动标记时才发语音,适合只在特定场景使用语音
免费用:Edge TTS 配置
什么都不用,直接开搞:
"messages": {
"tts": {
"auto": "always",
"provider": "edge"
}
}
如果想指定声音,Edge TTS提供了很多中文语音选项:
"messages": {
"tts": {
"auto": "always",
"provider": "edge",
"edge": {
"voice": "zh-CN-XiaoxiaoNeural",
"lang": "zh-CN",
"rate": "+5%"
}
}
}
zh-CN-XiaoxiaoNeural 是女声,声音温和自然。还有 zh-CN-YunxiNeural(男声)、zh-CN-XiaohanNeural(女声,风格更活泼)等选择。rate 控制语速,+5% 稍微快一点,如果觉得太慢可以调到 +10% 到 +20%。
音质要求高:OpenAI TTS
如果手头有OpenAI API Key,音质会上一个台阶:
"messages": {
"tts": {
"auto": "always",
"provider": "openai",
"openai": {
"apiKey": "sk-xxxxxx",
"model": "gpt-4o-mini-tts",
"voice": "alloy"
}
}
}
OpenAI提供了六种声音可供选择:alloy、echo、fable、onyx、nova、shimmer。不少用户反馈 nova 听起来更温暖一些,不那么机械。模型用 gpt-4o-mini-tts 就够了,价格比完整版便宜,效果差别不大。
音质要求极高:ElevenLabs
如果追求极致体验,ElevenLabs是目前最自然的选择,有情绪变化,听起来更像真人:
"messages": {
"tts": {
"auto": "always",
"provider": "elevenlabs",
"elevenlabs": {
"apiKey": "xxxxxxxx",
"voiceId": "你的声音ID",
"modelId": "eleven_multilingual_v2"
}
}
}
voiceId 需要去ElevenLabs后台找到你喜欢的声音,复制对应的ID填进来。eleven_multilingual_v2 支持中文,发音相当准确。每月有一定免费额度,日常使用基本够用,量大的话再考虑付费。
主备切换:用了就不用担心中断
OpenClaw支持配置主服务 + 自动备用,这是很实用的设计:
"messages": {
"tts": {
"auto": "always",
"provider": "openai",
"openai": {
"apiKey": "sk-xxxxxx",
"voice": "nova"
},
"elevenlabs": {
"apiKey": "xxxxxxxx",
"voiceId": "your-voice-id"
}
}
}
OpenAI出问题,自动切换到ElevenLabs;ElevenLabs也挂掉,再切回Edge TTS。三层备用,基本不用担心语音功能完全失效。
长文章怎么处理?
AI回复太长时,全部转成语音听起来会很累。OpenClaw提供了自动摘要功能:超过一定长度的回复,先生成一个简短的摘要,再把摘要转成语音。
"messages": {
"tts": {
"auto": "always",
"summaryModel": "openai/gpt-4o-mini"
}
}
默认摘要阈值是1500个字符,超过这个长度会自动压缩。如果不想要摘要,直接在聊天里发指令关掉就好:
/tts summary off
用斜杠命令临时控制
不想修改配置文件时,也可以在聊天里直接控制:
/tts always # 开启语音
/tts off # 关闭语音
/tts inbound # 只在你发语音时才回语音
/tts status # 查看当前状态
/tts provider openai # 临时切换语音提供商
/tts limit 2000 # 修改摘要阈值
/tts audio 你好,这是一条测试语音 # 单次生成语音,不影响设置
这些命令实时生效,不用重启服务。
几个实际用法
- 早上听新闻摘要:配合定时任务,让AI每天早上抓几条新闻,整理成摘要后用语音发给你。起床刷牙的时候听,完全不占手。
- 问问题不用盯着屏幕:做其他事情的时候问AI,语音回复意味着眼睛不用离开手头的事。
- 语音激活模式:把
auto设成inbound,你发语音过来,它就用语音回。完全模拟和人对话的感觉。 - 只在关键场景用语音:把
auto设成tagged,大部分回复还是文字,只有AI觉得这条回复适合听时才发语音。避免所有回复都变成音频,打扰日常阅读节奏。
在 Telegram 上的效果
如果使用Telegram连接OpenClaw,语音功能的体验尤其出色。AI的语音回复会以圆形语音气泡的形式呈现,跟朋友发语音条一样。点击播放、可以调速、可以拖进度——Telegram的语音播放器体验做得相当完善。
其他平台则会收到一个MP3音频文件,播放没问题,只是交互形式不同。
小结
OpenClaw的TTS功能配置起来很快,核心就一行 "auto": "always"。三个语音服务各有侧重:不想花钱用Edge TTS,追求音质用OpenAI,想要最自然的声音用ElevenLabs。配好主备切换,基本不用担心服务中断。
从实际体验来看,语音功能最适合两个场景:一是手头忙、不方便盯着屏幕的时候;二是早上刚起来不想费劲看文字的时候。如果之前一直用文字跟AI交流,不妨试试开语音——换一种交互方式,感觉挺不一样的。
