OC
OpenClaw 中文解释版

给五岁小朋友也能看懂的说明书

简要总结

Text-to-Speech

这页说明书是讲“文字变声音”功能的。就像你有一个会说话的机器人朋友,你打字给它,它就能用声音回答你!它可以用三种不同的“声音工厂”来工作,分别是 ElevenLabs、OpenAI 和 Edge TTS。你可以自己选择用哪个,也可以让机器人自己选。不过,这个功能一开始是关着的,需要你告诉它“请开始说话”,它才会用声音回答你哦。

五岁小孩版解释

这个功能让 OpenClaw 机器人能把文字变成声音。就像你把故事书上的字念出来一样,机器人会把它的回答“念”给你听。它可以在能发送语音的地方工作,比如在 Telegram 里,你会看到一个圆圆的语音泡泡。

有三种“声音工厂”可以选择:

  1. ElevenLabs:这是主要或备用的工厂。
  2. OpenAI:这也是主要或备用的工厂,它还能用来给很长的回答做“总结”。
  3. Edge TTS:这同样是主要或备用的工厂。它最特别,因为它不需要你提供“钥匙”(API Key)。如果你没有给其他工厂钥匙,机器人就会默认用它。

关于 Edge TTS,你要知道:它用的是微软 Edge 浏览器的在线服务,就像在网上看视频一样,不是在你自己的电脑里。因为它是一个公共的免费服务,所以不能保证永远不坏。如果你需要更可靠的服务,就用 OpenAI 或 ElevenLabs 吧。

想让机器人说话,你需要准备这些“钥匙”:

  • 如果你想用 ElevenLabs 工厂,需要 ELEVENLABS_API_KEY 这把钥匙。
  • 如果你想用 OpenAI 工厂,需要 OPENAI_API_KEY 这把钥匙。
  • Edge TTS 工厂不需要钥匙。

如果你一个钥匙都没给,机器人就会自动用 Edge TTS 来工作(除非你特意把它关掉)。

这个功能一开始是关着的! 你需要打开它。有两种方法:

  1. 在它的“设置本子”(配置文件 openclaw.json)里,找到 messages.tts.auto 这一行,把它改成 "always"
  2. 或者在和机器人聊天时,直接输入命令 /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 格式。