一直觉得小龙虾只会打字有点可惜。研究了一下发现它可以用任何你授权使用的声音来说话,效果出来的时候确实惊到我了。(跟导航是一个原理 更自由一些懂的都懂 嘿嘿嘿)
这篇教你从零把这个功能装好。
前置条件:OpenClaw 2026.3.x,Python 3.x,ffmpeg 已安装。

你需要准备什么
一台电脑,Mac、Windows、Linux 都可以。
最重要的是 Noiz API Key,这是整个教程的核心,它是一个 AI 语音克隆平台中文支持很好。获取步骤:
打开浏览器访问 developers.noiz.ai/api-keys,注册账号进入 Dashboard 点击 Create API Key,复制保存好只显示一次。

第一步:安装语音技能
先装 Python 依赖:
pip install noisereduce soundfile requests
检查 ffmpeg 是否已安装:
ffmpeg -version
没有的话,Mac 用户跑 brew install ffmpeg,Ubuntu 用户跑 apt install ffmpeg。
然后配置 Noiz API Key:
echo 'export NOIZ_API_KEY="你的APIKey"' >> ~/.bashrc
source ~/.bashrc
第二步:准备声音样本
声音样本的质量直接决定克隆效果这一步最关键。
用你自己的声音(或者你喜欢的声音)录一段 20-30 秒的音频,要求:纯人声 没有背景音乐、声音清晰、音量适中。录完转成 WAV 格式命名为 my_voice.wav。

如果录音有杂音,用这段代码降噪:
import numpy as np
import soundfile as sf
import noisereduce as nr
data, rate = sf.read('my_voice.wav')
if len(data.shape) > 1:
data = np.mean(data, axis=1)
noise_sample = data[:int(rate * 0.3)]
reduced = nr.reduce_noise(y=data, sr=rate, y_noise=noise_sample, prop_decrease=0.8)
sf.write('my_voice_clean.wav', reduced, rate)
print("降噪完成")
```
代码格式问题建议喂给 AI 帮你修改。

第三步:测试声音克隆
python3 ~/.openclaw/workspace/skills/tts/scripts/tts.py \
-t "你好,欢迎来到我的直播间" \
--ref-audio my_voice_clean.wav \
-o test_output.wav \
--backend noiz
```
播放听效果:
```
# Mac
afplay test_output.wav
# Linux
aplay test_output.wav

第四步:接入小龙虾
在 config.yaml 里加入语音输出配置:
tools:
media:
audio:
enabled: true
tts:
enabled: true
backend: noiz
apiKey: YOUR_NOIZ_API_KEY
refAudio: /path/to/my_voice_clean.wav
```
配好之后发给小龙虾:
```
用语音播报:今天 BTC 价格是 83000 美元,24小时涨幅 2.3%
```
它会生成一段用你声音说的音频,直接发回 Telegram。
---
常见问题
API Key 配置失败提示 Invalid API Key:检查环境变量有没有设置成功,跑 `echo $NOIZ_API_KEY`,没有输出说明没设置好。
音频格式不对提示 Unsupported audio format:Noiz 需要 16000 Hz 采样率、16 bit 位深、单声道的 WAV 文件,用这条命令转换:
```
ffmpeg -i input.mp3 -acodec pcm_s16le -ar 16000 -ac 1 output.wav
克隆效果不像:样本太短或者有杂音,重新录一段 30 秒以上的干净音频再试。

进阶:直播时实时播报
配合 Heartbeat,每隔 30 分钟自动生成一段用你声音播报的市场简报,直接发到 Telegram,直播时直接播给观众听
heartbeat:
schedules:
- cron: "*/30 "
prompt: |
搜索最新 BTC ETH 价格和重要动态,
用语音播报格式生成一段 50 字以内的简报,
用我的声音合成音频发给我。
