语音合成

voice-tts

by binbin1213

使用 edge-tts 生成高质量中文语音消息并发送。当用户要求发语音、语音回复、TTS、文字转语音、语音播报、语音消息时使用。支持多种中文声音(男声/女声/方言),可调节语速音调,适用于飞书/Telegram/Discord 等渠道的语音消息发送。

3.9k内容与创意未扫描2026年3月23日

安装

claude skill add --url github.com/openclaw/skills/tree/main/skills/binbin1213/ms-voice-tts

文档

Voice TTS(edge-tts 语音合成)

使用 Microsoft edge-tts(免费)生成高质量中文语音,通过 message 工具发送语音消息。

⚠️ 安装(首次使用必读)

本 skill 依赖 edge-tts,需先全局安装。安装前请自查系统环境:

1. 检查是否已安装

bash
which edge-tts

如果返回路径(如 /usr/local/bin/edge-tts),说明已安装,跳到「快速流程」。

2. 根据系统选择安装方式

macOS(推荐 pipx,独立环境不污染系统):

bash
# 先确认 pipx 是否已安装
which pipx
# 如果没有:brew install pipx
pipx install edge-tts
pipx ensurepath

⚠️ macOS 的 Homebrew Python 受 PEP 668 限制,禁止直接 pip install。 不要用 pip install --break-system-packages,会污染系统 Python。

Linux(推荐 pipx,或用 --user 安装):

bash
# 方式一:pipx(推荐)
pipx install edge-tts

# 方式二:pip --user(如果 pipx 不可用)
pip install --user edge-tts
# 安装后确保 ~/.local/bin 在 PATH 中
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc

Windows(PowerShell):

powershell
pip install edge-tts
# 或
pipx install edge-tts

3. 验证安装

bash
edge-tts --list-voices | head -5

看到语音列表即安装成功。


快速流程

  1. 运行脚本生成语音 → 获取文件路径
  2. message 工具发送(asVoice: truefilePath

生成语音

bash
bash <skill_dir>/scripts/tts.sh "文本内容" [voice] [output_path]

预期输出:

  • 返回生成的音频文件路径(如 ~/.openclaw/media/openclaw_voice_1710556800.opus
  • 文件格式:opus(高质量,体积小)
  • 文件大小:约 5-20 KB(取决于文本长度)

参数说明:

  • 第 1 参数(必填):文本内容,建议 50-300 字
  • 第 2 参数(可选):声音名称,默认 zh-CN-YunxiNeural
  • 第 3 参数(可选):输出路径,默认 ~/.openclaw/media/

示例:

bash
# 基础用法
bash <skill_dir>/scripts/tts.sh "你好,这是一条测试语音"

# 指定声音
bash <skill_dir>/scripts/tts.sh "你好" "zh-CN-XiaoxiaoNeural"

# 指定输出路径
bash <skill_dir>/scripts/tts.sh "你好" "zh-CN-YunxiNeural" "/tmp/test.opus"

发送语音

json
{
  "action": "send",
  "asVoice": true,
  "filePath": "<脚本返回的路径>"
}

预期结果:

  • 音频文件作为语音消息发送到指定渠道
  • 消息格式:语音文件附件(非转文字)
  • 发送时间:通常 1-3 秒(取决于文件大小和网络)

参数说明:

  • action: 固定为 "send"
  • asVoice: 必须为 true(触发语音消息发送)
  • filePath: 语音文件的绝对路径(由 tts.sh 脚本返回)
  • channel: 目标渠道(feishu/telegram/discord)

message 工具调用,channel 设为当前渠道(feishu/telegram/discord)。

可用中文声音

Voice性别风格
zh-CN-YunxiNeural活泼阳光 ⭐ 默认
zh-CN-XiaoxiaoNeural温暖自然
zh-CN-XiaoyiNeural活泼
zh-CN-liaoning-XiaobeiNeural东北话
zh-TW-HsiaoChenNeural台湾腔

完整场景示例

场景 1:飞书通知

bash
# 1. 生成语音(会议提醒)
bash <skill_dir>/scripts/tts.sh "提醒:项目评审会议将在5分钟后开始,请做好准备"
# 输出:~/.openclaw/media/openclaw_voice_1710556800.opus

# 2. 发送到飞书群
{
  "action": "send",
  "channel": "feishu",
  "asVoice": true,
  "filePath": "~/.openclaw/media/openclaw_voice_1710556800.opus"
}

场景 2:Telegram 私信

bash
# 1. 生成语音(客服回复)
bash <skill_dir>/scripts/tts.sh "zh-CN-XiaoxiaoNeural" "您好,您的问题已收到,我们会尽快处理"
# 输出:~/.openclaw/media/openclaw_voice_1710556900.opus

# 2. 发送到 Telegram
{
  "action": "send",
  "channel": "telegram",
  "asVoice": true,
  "filePath": "~/.openclaw/media/openclaw_voice_1710556900.opus"
}

场景 3:Discord 频道公告

bash
# 1. 生成语音(系统公告,正式语速)
bash <skill_dir>/scripts/tts.sh "zh-CN-YunxiNeural" "服务器维护将于今晚23:00开始,预计2小时"
# 输出:~/.openclaw/media/openclaw_voice_1710557000.opus

# 2. 发送到 Discord 频道
{
  "action": "send",
  "channel": "discord",
  "asVoice": true,
  "filePath": "~/.openclaw/media/openclaw_voice_1710557000.opus"
}

场景 4:长文本分段生成

bash
# 长文本(>500字)必须分段
TEXT_PART1="第一部分:今天天气晴朗,温度适宜,适合外出活动。"
TEXT_PART2="第二部分:请大家注意防晒,多喝水,保持良好的作息时间。"
TEXT_PART3="第三部分:祝大家度过美好的一天!"

# 分别生成
VOICE1=$(bash <skill_dir>/scripts/tts.sh "$TEXT_PART1")
VOICE2=$(bash <skill_dir>/scripts/tts.sh "$TEXT_PART2")
VOICE3=$(bash <skill_dir>/scripts/tts.sh "$TEXT_PART3")

# 依次发送(实际使用时可能需要根据渠道限制添加延迟)
echo "$VOICE1"  # 第一段语音路径
echo "$VOICE2"  # 第二段语音路径
echo "$VOICE3"  # 第三段语音路径

场景 5:定制参数(语速/音调/音量)

bash
# 快节奏通知(语速 +20%)
edge-tts --voice zh-CN-YunxiNeural --rate +20% --text "紧急通知:服务器将在1分钟后重启" --write-media /tmp/emergency.opus

# 正式公告(语速 -10%,音量 +5%)
edge-tts --voice zh-CN-YunxiNeural --rate -10% --volume +5% --text "年度总结大会将于下周一举行" --write-media /tmp/announcement.opus

# 强调语气(音调 +5Hz)
edge-tts --voice zh-CN-YunxiNeural --pitch +5Hz --text "重要!" --write-media /tmp/emphasis.opus

查看全部中文声音:

bash
edge-tts --list-voices | grep "zh-"

参数调节

通过 --rate(语速)、--pitch(音调)、--volume(音量)调节:

bash
# 语速 +20%,音量 +10%
edge-tts --voice zh-CN-YunxiNeural --rate +20% --volume +10% --text "你好" --write-media ~/.openclaw/media/out.opus

注意事项

  • 文本建议 1000 字以内,长文本分段生成
  • 输出目录为 ~/.openclaw/media/(确保 OpenClaw 有权限访问)
  • 临时文件发送后可删除

💡 实用技巧

文本长度优化:

  • 50-300 字最佳,语音质量最高
  • 300-500 字可接受,建议用中性语速
  • 超过 500 字必须分段,否则生成超时或质量下降

声音选择建议:

  • 通知/提醒:zh-CN-YunxiNeural(男声,活泼阳光)⭐ 默认
  • 客服/陪伴:zh-CN-XiaoxiaoNeural(女声,温暖自然)
  • 互动娱乐:zh-CN-XiaoyiNeural(女声,活泼)
  • 特定场景:方言声音增强亲和力,但通用场景慎用

参数调节指南:

bash
# 快节奏通知:语速 +20%
edge-tts --voice zh-CN-YunxiNeural --rate +20% --text "提醒:会议将在5分钟后开始" --write-media out.opus

# 正式公告:语速 -10%,音量 +5%
edge-tts --voice zh-CN-YunxiNeural --rate -10% --volume +5% --text "系统维护通知" --write-media out.opus

# 嘈杂环境:音量 +10%
edge-tts --voice zh-CN-YunxiNeural --volume +10% --text "重要提醒" --write-media out.opus

# 强调语气:音调 +5Hz
edge-tts --voice zh-CN-YunxiNeural --pitch +5Hz --text "注意!" --write-media out.opus

常见陷阱:

  • ❌ 文本过长:超过 1000 字会导致生成失败或超时
  • ❌ 特殊符号:<>{}| 等符号可能被错误解析,建议使用全角符号
  • ❌ 输出路径:确保 ~/.openclaw/media/ 目录存在且 OpenClaw 有写入权限
  • ❌ 音调过高:超过 +10Hz 会明显失真,建议控制在 ±5Hz 范围内

性能优化:

  • 临时文件建议在发送后立即清理,避免磁盘空间累积
  • 批量生成时建议用异步脚本,避免阻塞主流程
  • 缓存常用文本的语音文件,减少重复生成

跨渠道适配:

  • 飞书:支持 opus/mp3/wav,推荐 opus(体积小质量好)
  • Telegram:支持 ogg/wav,推荐 ogg/opus
  • Discord:支持多种格式,推荐 mp3(兼容性最好)

相关 Skills

内部沟通

by anthropics

Universal
热门

按公司常用模板和语气快速起草内部沟通内容,覆盖 3P 更新、状态报告、领导汇报、项目进展、事故复盘、FAQ 与 newsletter,适合需要统一格式的团队沟通场景。

按公司偏好的模板快速产出状态汇报、领导更新和 FAQ,既省去反复改稿,也让内部沟通更统一、更专业。

内容与创意
未扫描111.8k

主题工厂

by anthropics

Universal
热门

给幻灯片、文档、报告和 HTML 落地页快速套用专业配色与字体主题,内置 10 套预设风格并支持现场生成新主题,适合统一品牌或内容视觉。

主题工厂能帮你把幻灯片、文档到落地页快速统一视觉风格,内置 10 套主题,还能按需即时生成新主题。

内容与创意
未扫描111.8k

文档共著

by anthropics

Universal
热门

围绕文档、提案、技术规格、决策记录等写作任务,按上下文收集、结构迭代、读者测试三步协作共创,减少信息遗漏,写出更清晰、经得起他人阅读的内容。

写文档、方案或技术规格时容易思路散、信息漏,它用结构化共著流程帮你高效传递上下文、反复打磨内容,还能从读者视角做验证。

内容与创意
未扫描111.8k

相关 MCP 服务

热门

免费的加密新闻聚合 MCP,汇集 Bitcoin、Ethereum、DeFi、Solana 与 altcoins 资讯源。

内容与创意
130

by ProfessionalWiki

让 Large Language Model 客户端无缝连接任意 MediaWiki 站点,可创建、更新、搜索页面,并通过 OAuth 2.0 安全管理内容。

内容与创意16 个工具
72

借助 86+ 个云端 media processing robots,处理视频、音频、图像和文档。

内容与创意
71

评论