简要总结
Text-to-Speech
这页说明书是讲“文字变声音”功能的。就像你有一个会说话的机器人朋友,你打字给它,它就能用声音回答你!它可以用三种不同的“声音工厂”来工作,分别是 ElevenLabs、OpenAI 和 Edge TTS。你可以自己选择用哪个,也可以让机器人自己选。不过,这个功能一开始是关着的,需要你告诉它“请开始说话”,它才会用声音回答你哦。
五岁小孩版解释
这个功能让 OpenClaw 机器人能把文字变成声音。就像你把故事书上的字念出来一样,机器人会把它的回答“念”给你听。它可以在能发送语音的地方工作,比如在 Telegram 里,你会看到一个圆圆的语音泡泡。
有三种“声音工厂”可以选择:
- ElevenLabs:这是主要或备用的工厂。
- OpenAI:这也是主要或备用的工厂,它还能用来给很长的回答做“总结”。
- Edge TTS:这同样是主要或备用的工厂。它最特别,因为它不需要你提供“钥匙”(API Key)。如果你没有给其他工厂钥匙,机器人就会默认用它。
关于 Edge TTS,你要知道:它用的是微软 Edge 浏览器的在线服务,就像在网上看视频一样,不是在你自己的电脑里。因为它是一个公共的免费服务,所以不能保证永远不坏。如果你需要更可靠的服务,就用 OpenAI 或 ElevenLabs 吧。
想让机器人说话,你需要准备这些“钥匙”:
- 如果你想用 ElevenLabs 工厂,需要
ELEVENLABS_API_KEY这把钥匙。 - 如果你想用 OpenAI 工厂,需要
OPENAI_API_KEY这把钥匙。 - Edge TTS 工厂不需要钥匙。
如果你一个钥匙都没给,机器人就会自动用 Edge TTS 来工作(除非你特意把它关掉)。
这个功能一开始是关着的! 你需要打开它。有两种方法:
- 在它的“设置本子”(配置文件
openclaw.json)里,找到messages.tts.auto这一行,把它改成"always"。 - 或者在和机器人聊天时,直接输入命令
/tts always(或者/tts on)。
怎么在“设置本子”里调整呢?
所有的声音设置都写在 messages.tts 这个部分下面。这里有一些简单的例子:
- 最简单的设置(打开并选一个工厂):
{ messages: { tts: { auto: "always", provider: "elevenlabs", }, }, } - 用 Edge TTS 工厂(不需要钥匙):
{ messages: { tts: { auto: "always", provider: "edge", }, }, } - 只在收到语音消息后才用语音回复:
{ messages: { tts: { auto: "inbound", }, }, }
机器人自己也能调整声音哦!
默认情况下,机器人可以在某一次回答时,自己决定用什么样的声音。比如它可以在回复里写上 [[tts:voiceId=xxx speed=1.1]] 这样的“魔法指令”来改变声音。如果你不想要这个功能,可以在设置里把它关掉:modelOverrides: { enabled: false }。
用聊天命令来控制它:
你可以直接和机器人说话来指挥它,命令是 /tts(在 Discord 里要用 /voice)。
/tts always:让机器人总是用声音回答。/tts off:关掉声音回答。/tts status:看看现在声音功能是开是关。/tts provider openai:换成 OpenAI 工厂。/tts audio 你好呀:让机器人马上把“你好呀”这句话用声音说一次(只是这一次,不改变设置)。
需要注意的事情:
- 如果回答里已经有图片、视频,或者回答的字数太少(少于10个),机器人就不会把它变成声音。
- 如果回答太长了,机器人可能会先把它“总结”成短一点的话,再变成声音。这个总结功能可以用
summaryModel来设置。 - 声音文件有不同的格式,比如在 Telegram 里会用一种叫 Opus 的格式,这样才会显示成圆圆的语音泡泡。在其他地方,通常用 MP3 格式。