ClawSkills logoClawSkills

Qwen3-tts

使用 Qwen3-TTS-12Hz-1.7B-CustomVoice 进行本地文本转语音。在从文本生成音频、创建语音消息或请求 TTS 时使用。支持 10

介绍

# Qwen TTS

使用 Hugging Face 的 Qwen3-TTS-12Hz-1.7B-CustomVoice 模型的本地文本转语音功能。

## 快速开始

从文本生成语音:

```bash scripts/tts.py "Ciao, come va?" -l Italian -o output.wav ```

带语音指令(情感/风格):

```bash scripts/tts.py "Sono felice!" -i "Parla con entusiasmo" -l Italian -o happy.wav ```

不同说话人:

```bash scripts/tts.py "Hello world" -s Ryan -l English -o hello.wav ```

## 安装

**首次设置**(仅需一次):

```bash cd skills/public/qwen-tts bash scripts/setup.sh ```

这将创建一个本地虚拟环境并安装 `qwen-tts` 包(约 500MB)。

**注意:** 首次合成时会自动从 Hugging Face 下载约 1.7GB 的模型。

## 使用方法

```bash scripts/tts.py [options] "Text to speak" ```

### 选项

- `-o, --output PATH` - 输出文件路径(默认:qwen_output.wav) - `-s, --speaker NAME` - 说话人声音(默认:Vivian) - `-l, --language LANG` - 语言(默认:Auto) - `-i, --instruct TEXT` - 语音指令(情感、风格、语气) - `--list-speakers` - 显示可用的说话人 - `--model NAME` - 模型名称(默认:CustomVoice 1.7B)

### 示例

**基础意大利语语音:** ```bash scripts/tts.py "Benvenuto nel futuro del text-to-speech" -l Italian -o welcome.wav ```

**带情感/指令:** ```bash scripts/tts.py "Sono molto felice di vederti!" -i "Parla con entusiasmo e gioia" -l Italian -o happy.wav ```

**不同的说话人:** ```bash scripts/tts.py "Hello, nice to meet you" -s Ryan -l English -o ryan.wav ```

**列出可用的说话人:** ```bash scripts/tts.py --list-speakers ```

## 可用说话人

CustomVoice 模型包含 9 种优质声音:

| Speaker | Language | Description | |---------|----------|-------------| | Vivian | Chinese | 明亮、略带个性的年轻女性 | | Serena | Chinese | 温暖、温柔的年轻女性 | | Uncle_Fu | Chinese | 沉稳的男性,低沉醇厚的音色 | | Dylan | Chinese (Beijing) | 充满活力的北京男性,清晰 | | Eric | Chinese (Sichuan) | 充满活力的成都男性,沙哑 | | Ryan | English | 动感男性,有节奏感 | | Aiden | English | 阳光美式男性 | | Ono_Anna | Japanese | 俏皮女性,轻快敏捷 | | Sohee | Korean | 温暖女性,情感丰富 |

**建议:** 为获得最佳质量,请使用各说话人的母语,尽管所有说话人都支持全部 10 种语言(中文、英文、日文、韩文、德文、法文、俄文、葡萄牙文、西班牙文、意大利文)。

## 语音指令

使用 `-i, --instruct` 来控制情感、语气和风格:

**意大利语示例:** - `"Parla con entusiasmo"` - `"Tono serio e professionale"` - `"Voce calma e rilassante"` - `"Leggi come un narratore"`

**英语示例:** - `"Speak with excitement"` - `"Very happy and energetic"` - `"Calm and soothing voice"` - `"Read like a narrator"`

## 与 OpenClaw 集成

该脚本将音频文件路径输出到 stdout(最后一行),使其与 OpenClaw 的 TTS 工作流兼容:

```bash # OpenClaw captures the output path cd skills/public/qwen-tts OUTPUT=$(scripts/tts.py "Ciao" -s Vivian -l Italian -o /tmp/audio.wav 2>/dev/null) # OUTPUT = /tmp/audio.wav ```

## 性能

- **GPU (CUDA):** 短语约 1-3 秒 - **CPU:** 短语约 10-30 秒 - **模型大小:** 约 1.7GB(首次运行时自动下载) - **虚拟环境大小:** 约 500MB(已安装的依赖项)

## 故障排除

**设置失败:** ```bash # Ensure Python 3.10-3.12 is available python3.12 --version

# Re-run setup cd skills/public/qwen-tts rm -rf venv bash scripts/setup.sh ```

**模型下载缓慢/失败:** ```bash # Use mirror (China mainland) export HF_ENDPOINT=https://hf-mirror.com scripts/tts.py "Test" -o test.wav ```

**内存不足 (GPU):** 如果 GPU 显存不足,模型将自动回退到 CPU。

**音频质量问题:** - 尝试不同的说话人:`--list-speakers` - 添加指令:`-i "Speak clearly and slowly"` - 检查语言与文本匹配:意大利语文本使用 `-l Italian`

## 模型详情

- **Model:** Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice - **Source:** Hugging Face (https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice) - **License:** 请查看模型卡以了解当前的许可条款 - **Sample Rate:** 16kHz - **Output Format:** WAV (未压缩)

更多产品