| | --- |
| | language: |
| | - zh |
| | - en |
| | tags: |
| | - llm |
| | - tts |
| | - zero-shot |
| | - voice-cloning |
| | - reinforcement-learning |
| | - flow-matching |
| | license: mit |
| | pipeline_tag: text-to-speech |
| | --- |
| | |
| | # GLM-TTS: 可控且富含情感的零样本语音合成模型 |
| |
|
| | <div align="center"> |
| | <a href="README.md"> |
| | <img src="https://img.shields.io/badge/Language_/_语言-English-blue?style=flat-square" alt="English"> |
| | </a> |
| | <a href="README_zh.md"> |
| | <img src="https://img.shields.io/badge/Language_/_语言-中文-red?style=flat-square" alt="Chinese"> |
| | </a> |
| | </div> |
| | |
| | <br><br> |
| |
|
| | <div align="center"> |
| | <img src="assets/images/logo.svg" width="50%"/> |
| | </div> |
| |
|
| | <p align="center"> |
| | <a href="https://github.com/zai-org/GLM-TTS" target="_blank">💻 GitHub 仓库</a> |
| | | |
| | <a href="https://huggingface.co/spaces/zai-org/GLM-TTS" target="_blank">🤗 在线演示 (Demo)</a> |
| | | |
| | <a href="https://audio.z.ai/" target="_blank">🛠️ Audio.Z.AI</a> |
| | </p> |
| | |
| | ## 模型介绍 |
| |
|
| | GLM-TTS 是一个基于大语言模型(LLM)的高质量文本转语音(TTS)合成系统,支持零样本(Zero-shot)声音克隆和流式推理。该系统采用两阶段架构,结合了用于生成语音 Token 的 LLM 和用于波形合成的 Flow Matching 模型。 |
| |
|
| | 通过引入 **多奖励强化学习(Multi-Reward Reinforcement Learning)** 框架,GLM-TTS 显著提升了生成语音的表现力,相比传统 TTS 系统实现了更自然的情感控制。 |
| |
|
| | ### 核心特性 |
| |
|
| | * **零样本声音克隆 (Zero-shot Voice Cloning):** 仅需 3-10 秒的提示音频即可克隆任意说话人的声音。 |
| | * **强化学习增强的情感控制 (RL-enhanced Emotion Control):** 利用多奖励强化学习框架(GRPO)优化韵律和情感表达。 |
| | * **高质量合成 (High-quality Synthesis):** 生成的语音质量媲美商业系统,且字符错误率(CER)更低。 |
| | * **音素级控制 (Phoneme-level Control):** 支持“混合音素 + 文本”输入,以实现精准的发音控制(例如多音字处理)。 |
| | * **流式推理 (Streaming Inference):** 支持适合交互式应用的实时音频生成。 |
| | * **双语支持 (Bilingual Support):** 针对中英文混合文本进行了专门优化。 |
| |
|
| | ## 系统架构 |
| |
|
| | GLM-TTS 遵循两阶段设计: |
| |
|
| | 1. **第一阶段 (Stage 1 - LLM):** 基于 Llama 的模型将输入文本转换为语音 Token 序列。 |
| | 2. **第二阶段 (Stage 2 - Flow Matching):** Flow 模型将 Token 序列转换为高质量的梅尔频谱图 (Mel-spectrograms),随后通过声码器 (Vocoder) 转换为波形。 |
| |
|
| | <div align="center"> |
| | <img src="assets/images/architecture.png" width="60%" alt="GLM-TTS 架构图"> |
| | </div> |
| |
|
| | ### 强化学习对齐 (Reinforcement Learning Alignment) |
| | 为了解决情感表达平淡的问题,GLM-TTS 使用 **群组相对策略优化 (GRPO)** 算法,结合多种奖励函数(相似度、CER、情感、笑声)来对齐 LLM 的生成策略。 |
| |
|
| | ## 评估结果 |
| |
|
| | 在 `seed-tts-eval` 基准上进行的评估显示,**GLM-TTS_RL** 在保持高说话人相似度的同时,实现了最低的字符错误率 (CER)。 |
| | |
| | | 模型 (Model) | CER ↓ | SIM ↑ | 是否开源 (Open-source) | |
| | | :--- | :---: | :---: | :---: | |
| | | Seed-TTS | 1.12 | **79.6** | 🔒 否 | |
| | | CosyVoice2 | 1.38 | 75.7 | 👐 是 | |
| | | F5-TTS | 1.53 | 76.0 | 👐 是 | |
| | | **GLM-TTS (Base)** | 1.03 | 76.1 | 👐 是 | |
| | | **GLM-TTS_RL (Ours)** | **0.89** | 76.4 | 👐 是 | |
| |
|
| | ## 快速开始 (Quick Start) |
| |
|
| | ### 安装 (Installation) |
| |
|
| | ```bash |
| | git clone [https://github.com/zai-org/GLM-TTS.git](https://github.com/zai-org/GLM-TTS.git) |
| | cd GLM-TTS |
| | pip install -r requirements.txt |
| | ``` |
| |
|
| | #### 命令行推理 |
| |
|
| | ```bash |
| | python glmtts_inference.py \ |
| | --data=example_zh \ |
| | --exp_name=_test \ |
| | --use_cache \ |
| | # --phoneme # 如果想要使用phoneme能力,请加上这个参数 |
| | ``` |
| |
|
| | #### 使用Shell脚本推理 |
| |
|
| | ```bash |
| | bash glmtts_inference.sh |
| | ``` |
| |
|
| | ## 致谢 & 引用 |
| |
|
| | 我们感谢以下开源项目的支持: |
| |
|
| | - [CosyVoice](https://github.com/FunAudioLLM/CosyVoice) - 提供前端处理框架和高质量声码器 |
| | - [Llama](https://github.com/meta-llama/llama) - 提供基础语言模型架构 |
| | - [Vocos](https://github.com/charactr-platform/vocos) - 提供高质量声码器 |
| | - [GRPO-Zero](https://github.com/policy-gradient/GRPO-Zero) - 强化学习算法实现灵感 |
| |
|
| | 如果您在研究中使用了GLM-TTS,请引用: |
| |
|
| | ```bibtex |
| | @misc{glmtts2025, |
| | title={GLM-TTS: Controllable & Emotion-Expressive Zero-shot TTS with Multi-Reward Reinforcement Learning}, |
| | author={CogAudio Group Members}, |
| | year={2025}, |
| | publisher={Zhipu AI Inc} |
| | } |
| | |