返回顶部
l

local-tts-workflow本地TTS工作流

OpenClaw text-to-speech workflow for an OpenAI-compatible TTS server, including remote/self-hosted deployments such as vLLM Omni. Use when configuring, testing, debugging, or validating `/v1/audio/speech`, single-reply `[[tts:...]]` overrides, custom voice behavior, streaming vs non-streaming behavior, mode selection (base speaker, base clone, custom voice, voice design), local model-path fallback, and OpenClaw TTS integration. Also use when preparing text for speech output so numbers are normal

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.1
安全检测
已通过
116
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

local-tts-workflow

本地TTS工作流

使用此技能调试实际语音管道并准备文本,使模型能够合理朗读。

不要盲目硬编码127.0.0.1。首先读取当前OpenClaw配置,使用当前的messages.tts.openai.baseUrl作为真实来源。

当前工作区已知部署:http://127.0.0.1:8000/v1

值得记住的当前本地模型路径回退:如果服务器未通过注册名称拉取模型,它可能直接从本地路径加载,例如./models/qwen3-tts-0.6b-mlx。

当精确路由形状重要时,本地OpenAPI文档位于:

  • - http://localhost:8000/openapi.json

使用此OpenAPI文档作为模式/参考源,将此本地mlx-audio服务器与OpenAI的API进行比较。不要将其视为健康检查。

核心规则:合成前规范化数字

如果文本旨在朗读,不要在最终TTS输入中保留阿拉伯数字。

先将其转换为单词。

示例:

  • - 中文输出:写一二三,而不是123
  • 英文输出:写one two three,而不是123

此规则很重要,因为当输入原始数字时,TTS模型可能会表现异常或错误读取数字。

在准备朗读文本时,规范化:

  • - 日期
  • 时间
  • 计数
  • 版本类字符串(如果将被朗读)
  • 中英文混合数字片段

如果需要保留精确的机器可读格式,保留一份用于显示,另一份规范化的副本用于TTS。

工作流程

1. 在接触OpenClaw之前验证服务器

首先读取~/.openclaw/openclaw.json并提取:

  • - messages.tts.provider
  • messages.tts.openai.baseUrl
  • messages.tts.openai.model
  • messages.tts.openai.voice

对照实际配置的主机检查基本信息:

bash
curl http://127.0.0.1:8000/health
curl http://127.0.0.1:8000/v1/models

确认预期的TTS模型存在。

如果模型未通过拉取的注册名称出现,不要认为TTS已损坏——此服务器可能正在加载本地路径模型,例如./models/qwen3-tts-0.6b-mlx。

如果服务器是任务门控的,确保启用TTS:

bash
MLXAUDIOSERVER_TASKS=tts uv run python server.py

2. 证明原始TTS端点工作

始终将服务器与客户端堆栈隔离。

最小非流式测试:

bash
curl http://127.0.0.1:8000/v1/audio/speech \
-X POST \
-H Content-Type: application/json \
-d {
model: /models/lj-qwen3-tts/,
voice: lj,
input: 你好,这是一次性返回完整音频的测试。,
response_format: wav,
stream: false
} \
--output sample.wav

基本流式测试:

bash
curl http://127.0.0.1:8000/v1/audio/speech \
-H Content-Type: application/json \
-X POST \
-d {
model: /models/lj-qwen3-tts/,
voice: lj,
input: 你好,这是实时流式语音合成测试。,
response_format: wav,
stream: true,
streaming_interval: 2.0
} \
| ffplay -i -

如果直接curl工作但OpenClaw不工作,则错误可能出在TTS集成或提供者选择层,而不是TTS后端。

3. 区分服务器故障与集成故障

使用此规则:

  • - 直接curl失败 → 先修复本地TTS服务器
  • 直接curl工作,但OpenClaw声音异常或回退 → 检查OpenClaw提供者选择、回退和请求形状
  • OpenClaw发送请求但语音/模式错误 → 检查model、voice、instructions、refaudio、reftext和流式标志等字段

4. 了解四种TTS模式

为正确的模型类型使用正确的请求形状。

基础说话人

使用内置说话人播放。

典型形状:

  • - 模型类型:base
  • 无完整refaudio + reftext
  • voice.id表示内置说话人名称

基础克隆

使用克隆式合成。

典型形状:

  • - 模型类型:base
  • 必须同时提供refaudio和reftext,或提供可解析为两者的同意语音身份

硬性规则:不要仅使用ref_audio尝试克隆

自定义语音

使用具有预构建自定义说话人的模型。

典型形状:

  • - 模型类型:custom_voice
  • voice可以作为纯字符串或{id:...}接受,具体取决于服务器
  • 对于此工作区,lj-qwen3-tts / /models/lj-qwen3-tts/必须使用说话人/语音lj
  • 不要发送克隆负载

语音设计

使用风格描述驱动的合成。

典型形状:

  • - 模型类型:voicedesign
  • 必须提供instructions
  • 不要发送voice、refaudio或ref_text

5. 将流式视为真正的传输选择

此服务器支持真正的增量生成,而不是虚假的事后切片。

重要行为:

  • - 当前OpenAPI表示stream默认为false
  • responseformat默认为mp3
  • streaminginterval默认为2.0
  • 必需字段仅为model和input
  • 此本地服务器暴露的额外可选字段包括instruct、voice、speed、gender、pitch、langcode、refaudio、reftext、temperature、topp、topk、repetitionpenalty、responseformat、stream、streaminginterval、max_tokens和verbose

不要假设OpenAI在名称或默认值上具有对等性——首先检查本地OpenAPI模式。

6. 正确使用同意上传

对于基于同意的克隆流程,通过/v1/audio/voice_consents上传语音素材。

使用带有录音的ref_text。这在精神上不是可选的,即使工作流程试图假装不是。

如果后续合成依赖于存储的同意语音,验证保存的身份确实映射到:

  • - 参考音频
  • 参考文本

7. OpenClaw特定调试模式

当OpenClaw TTS出现问题时:

  1. 1. 确认messages.tts指向openclaw.json中实际配置的端点
  2. 确认预期模型存在于/v1/models中或以其他方式被服务器接受;如果不是,检查是否为本地路径支持的部署,例如./models/qwen3-tts-0.6b-mlx
  3. 确认所选提供者确实是OpenAI兼容路径,而不是Microsoft回退
  4. 使用相同的有效模型/语音/模式假设测试直接curl
  5. 检查OpenClaw是否回退到其他提供者
  6. 如果使用[[tts:...]],验证单回复覆盖键(model、voice,可能还有provider)是否已启用并被遵守
  7. 如果需要,将原始请求形状与转储代理进行比较

如果OpenClaw成功到达服务器,下一个问题通常是它实际请求了哪种模式

8. 首选测试阶梯

按此顺序使用:

  1. 1. GET /health
  2. GET /v1/models
  3. 直接非流式TTS测试
  4. 直接流式TTS测试
  5. 如果涉及克隆,进行同意上传测试
  6. 如果相关,进行OpenAI客户端兼容性测试
  7. OpenClaw集成测试
  8. 仅在仍不明确时进行转储代理/日志检查

9. 常见结论

服务器正常,集成异常

典型迹象:

  • - 手动curl返回可播放音频
  • OpenClaw输出听起来像回退语音或错误模式
  • 提供者选择不一致

结论:修复集成,而非推理。

文本规范化错误

典型迹象:

  • - 合成技术上成功
  • 数字朗读尴尬、跳过或出现故障

结论:先规范化朗读文本。不要将提示内容问题归咎于传输层。

模式不匹配

典型迹象:

  • - 克隆请求发送到CustomVoice
  • 调用VoiceDesign时没有instructions
  • 基础克隆仅存在ref_audio

结论:所选模型类型的请求语义错误。

10. 当精确字段重要时使用参考文档

当需要以下精确行为时,阅读references/tts-api.md:

  • - /v1/audio/speech
  • /v1/audio/voice_

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 local-tts-workflow-1775892615 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 local-tts-workflow-1775892615 技能

通过命令行安装

skillhub install local-tts-workflow-1775892615

下载

⬇ 下载 local-tts-workflow v1.0.1(免费)

文件大小: 8.05 KB | 发布时间: 2026-4-12 10:27

v1.0.1 最新 2026-4-12 10:27
- Updated server references from a remote IP to `127.0.0.1` to assume local deployment.
- Noted that models may be loaded via local file paths (e.g., `./models/qwen3-tts-0.6b-mlx`), not just registry pulls, and clarified OpenClaw model detection flow accordingly.
- Documented the local OpenAPI schema endpoint (`/openapi.json`) as the reference source for API details; clarified distinction between schema and server health.
- Revised TTS endpoint examples to match new field names (`response_format` instead of `format`, added `streaming_interval`), and updated streaming/non-streaming default behaviors per current OpenAPI spec.
- Expanded documentation of optional and required API parameters and urged users to consult the local OpenAPI for non-parity with OpenAI’s API.
- Added clarifications for troubleshooting and debugging patterns, focusing on local-path deployments and real server vs. integration failures.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部