# Generate Confident Recommendation Tts

> 使用用户指定或克隆的声音生成“坚定推荐”中文 TTS 短音频，复用盲测优胜的坚定语气、280 字/分钟目标与保尾音参数，但绝不回退到固定音色。用于直播助播表达推荐结论、价值确认等短句，尤其适合把同一个指定声音转换为三种直播语气之一。

- Skill: `live-copilot/generate-confident-recommendation-tts` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add live-copilot/generate-confident-recommendation-tts`
- Raw SKILL.md: https://api.skillmd.com/api/skills/live-copilot/generate-confident-recommendation-tts/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: live-copilot (https://skillmd.com/u/live-copilot)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/live-copilot/generate-confident-recommendation-tts

---


# 指定声音的直播坚定推荐 TTS

使用指定声音生成自然、坚定、有结论感但不喊叫的推荐短音频。

## 工作流

1. 将文案限制为 2–3 个汉字；默认使用“很值得”。批量迁移 1–100 字话术时加入 `--allow-unvalidated-length`。
2. 用 `--gender=male` 或 `--gender=female` 选择对应情绪参数。`gender` 不决定音色，实际音色必须显式指定。
3. 二选一指定声音：
   - 已有当前模型的克隆音色：传入 `--voice-id`。
   - 只有参考声音：传入可匿名访问的 `--reference-audio-url` 和持久化的 `--voice-profile`。
4. 先运行 `--dry-run` 核对音色来源、模型、提示词和处理参数，再正式生成。

```bash
node /absolute/path/to/this-skill/scripts/generate.mjs \
  --dry-run --gender=male --voice-id='qwen-audio-voice-id' \
  --text='很值得' --output=/absolute/output.wav

node /absolute/path/to/this-skill/scripts/generate.mjs \
  --gender=male \
  --reference-audio-url='https://example.com/reference.wav' \
  --voice-profile=/absolute/path/male-voice-profile.json \
  --text='很值得' --output=/absolute/output.wav
```

## 指定声音规则

- 不使用 preset 固定音色，不读取旧的男女声 voice ID 环境变量，也不静默回退。
- 跨三个情绪 skill 使用同一声音时，复用同一个 `--voice-profile`；脚本按模型创建或复用该声音的 CosyVoice/Qwen-Audio 克隆音色。
- `voice-profile` 只保存音色 ID 和参考声音指纹，不保存 API Key 或参考 URL。
- 男声沿用 Qwen-Audio 情绪配置，女声沿用 CosyVoice 情绪配置；音色必须来自用户指定声音。
- 不替换模型、情绪提示词、`rate`、`pitch` 或后处理参数。
- 不用普通倍速滤镜；只执行 preset 中的保音高、保共振峰处理。
- 保留自然气口和尾音，不贴着末字切割。
- 使用 `DASHSCOPE_API_KEY`，绝不输出或写入密钥。
- 需要核对完整参数时读取 [references/preset.json](references/preset.json)。

## 输出约束

- 默认输出 24 kHz、单声道 WAV，并归一化到 -16 LUFS。
- 除非用户明确要求诊断原始返回，否则不要使用 `--raw-only`。

