乐于分享
好东西不私藏

OpenClaw 终于不只是打字了,它开始用我的声音回我

OpenClaw 终于不只是打字了,它开始用我的声音回我

有那么一瞬间,我真的会恍惚。

飞书里弹出一条语音,我点开,听见的是我自己的声音。

不是录音转发,不是预设音色,也不是那种一听就知道是机器合成的“假人声”。它会按我刚刚说话的节奏、语气,重新把一段新内容讲出来。慢一点、甜一点、自然一点,都能继续调。

更关键的是,整个过程不是“我去学一个新工具”,而是“我继续聊天”。

我只是把一段语音发给我的 OpenClaw,再说一句:就用这个声音,以后这样跟我讲话。

它就真的记住了。

这篇文章想讲的,不是语音克隆技术原理有多复杂,而是另一件更重要的事:

我的Agent开始有“声音人格”了。

当它不只是给你一段文字,而是用你熟悉的声音、熟悉的语气回你,交互体验会突然往前跳一大步。

而做到这一步,实际比想象中简单很多。

这套东西,底层只需要三样

先把链路说透,其实非常简单:

  1. 1. Noiz AI:负责声音克隆和语音合成
  2. 2. Noiz API Token:让 Agent 能直接调用它
  3. 3. OpenClaw Agent:负责接收你的语音、调 API、再把结果发回给你

换句话说,不是我手动去 Noiz 网站上传、试听、下载,再手动发回飞书。

而是 Agent 在背后把整条链路全接上了:

我发语音 → Agent 拿语音样本 → 调 Noiz → 生成新语音 → 直接发回聊天窗口。

所以它的体验不像“用工具”,更像“多了一个真的会说话的助手”。

第一步:注册 Noiz,拿 API Token

这一步最没门槛。

打开 noiz.ai,用 Google 账号登录。进去以后到设置页,找到 API Keys,新建一个 Token。

复制出来,后面要给 Agent 用。

Noiz 有免费额度,拿来做日常对话测试完全够。真要长期用,它的付费门槛也不高,Starter 档是 $3.9/月

对这种“高频小交互”的场景来说,已经很友好了。

第二步:把 Token 塞给 Agent

如果你用的是 OpenClaw,配置基本只有一行:

# ~/.openclaw/.envNOIZ_API_KEY=你的token

就这样。

写完以后,Agent 就拥有了调用语音服务的能力。严格说,不是它“学会说话”了,而是它终于拿到了声带。

这一点很关键。

因为很多人会把 AI 语音理解成一个单独 App:你得专门打开网页、粘贴文本、选音色、再点生成。

但 Agent 化之后,语音不是一个独立工具,而是聊天能力的一部分。

第三步:真正有意思的地方,是“对话式调音”

配置完以后,最顺手的不是一次性生成,而是边聊边调。

我的真实过程大概是这样:

我:帮我克隆一下我的声音,用这段语音做样本   (发送一段 10~30 秒的语音)Agent:收到,我先用这段样本试一版。我:有点快,慢一点。Agent:好,我把 speed 调低一点。我:再甜一点,再自然一点。Agent:那我加一点 Joy,再压一点速度。你听这版。我:对,这个味道对了。以后默认就用这个。Agent:记住了,之后都按这个参数回复你。

这就是我觉得最妙的地方。

你不是在操作一个复杂系统,而是在训练一个会说话的助手

你不需要理解一堆参数名,也不需要先研究文档。你只要像平时一样给反馈:

  • • 太快了
  • • 太平了
  • • 再有感情一点
  • • 这个版本像我了
  • • 以后就按这个来

Agent 会把这些自然语言反馈翻译成具体参数,然后替你重试。

这个体验,跟过去那种“手调配置面板”的感觉完全不一样。

它背后实际干了什么?

表面上你只是发了一条语音,背后 OpenClaw已经把几件事都做完了:

  1. 1. 收到你的语音消息
  2. 2. 自动转成 Noiz 更适合处理的音频格式
  3. 3. 把参考音频、文本和情感参数一起发给 Noiz API
  4. 4. 拿到返回的语音文件
  5. 5. 直接把这段语音塞回飞书对话

如果你想看最核心的调用,其实就是一个 curl

curl -H "Authorization: $NOIZ_API_KEY" \  -F "text=你想让克隆声音说的话" \  -F "file=@你的语音样本.wav" \  -F "output_format=opus" \  -F "speed=0.9" \  -F 'emo={"Joy":0.4,"Excitement":0.1}' \  "https://noiz.ai/v1/text-to-speech" \  -o output.opus

真正的价值不在于这条命令本身,而在于:

你以后甚至不用再看这条命令。

因为 Agent 已经替你记住了。

飞书里能不能直接收到语音?能,但我踩了个坑

这件事我一开始以为会很顺。

Noiz 负责生成音频,OpenClaw 负责发消息,听起来像是天然闭环。

结果真正卡住我的,不是语音生成,而是文件路径

OpenClaw 的飞书发送接口对本地文件有白名单限制。generated 音频如果放在 /tmp 这种目录里,消息会直接失败,报错:

LocalMediaAccessError: path-not-allowed

解法其实也不复杂:

把生成的音频放进 OpenClaw 的 workspace 目录下。

比如:

~/.openclaw/workspace/temp/reply.opus

只要路径对了,飞书里就能直接收到一条可以播放的语音消息。

这类坑很典型:真正麻烦的,从来不是模型本身,而是工程链路最后那一厘米。

哪组参数最好听?我最后留下了这一组

我前后试了很多版,最后保留的是这组:

场景
Speed
Joy
Excitement
日常对话(推荐)
0.9
0.4
0.1
正式旁白
1.0
0.1
0
活泼口播
1.0
0.5
0.3

如果只给一句经验总结,那就是:

  • • 中文语速往下压一点更自然0.9 基本是甜点位
  • • Joy 在 0.2 ~ 0.5 之间最实用
  • • 情感一旦堆太高,声音就容易“演过了”

很多 AI 语音的问题不是不像人,而是太努力像人,最后反而更假。

真正好听的版本,通常不是最热闹的那版,而是你听着不出戏、愿意一直听下去的那版。

另外两个很容易踩的坑

1)样本别超过 30 秒

Noiz 对参考音频长度有限制,超过 30 秒会报错。

所以最稳的做法不是硬塞一大段,而是挑一段 10 到 30 秒之间、语气变化比较丰富 的样本。最好既有陈述句,也有一点轻微的疑问和起伏。

我最后用的是一段 28 秒的样本,效果明显比更短的版本自然。

2)默认语速通常偏快

这几乎是所有中文 TTS 都有的通病。

你第一耳听会觉得“挺流畅”,但多听几句就会发现:像在赶路,不像在说话。

所以如果你打算做陪伴感、聊天感、助手感,建议先别从默认参数开始,直接把速度调到 0.9 再听。

通常会舒服很多。

为什么这件事让我觉得很不一样?

因为它改变的不是“声音效果”,而是交互关系

以前 AI 给我的是文本,我看到的是答案。

现在 AI 给我的是语音,而且是一个我熟悉、能持续微调、会逐渐贴近我偏好的声音。

这意味着它开始从“工具输出”变成“陪伴式反馈”。

差别很大。

文字回复是有效率的。

语音回复是有在场感的。

而当这个声音还是“你自己的声音风格”时,那种贴身感会再往前走一步。

我觉得这很可能会变成下一阶段 AI Agent 的一个分水岭:

不是它会不会做事,而是它会不会以一种更像“你的人”的方式跟你协作。

至少对我来说,这已经不是炫技了。

它开始真的有用了。


工具链:

  • • Noiz AI:https://noiz.ai
  • • OpenClaw:https://github.com/openclaw/openclaw