GLM-TTS
GLM-TTS 是一款基于大语言模型的高质量语音合成系统,旨在让机器说话不仅清晰自然,更能充满情感与表现力。它主要解决了传统语音合成声音机械、缺乏情绪感染力以及难以快速模仿特定人声的痛点。通过独特的“多奖励强化学习”框架,GLM-TTS 能够精准控制语调与情感,生成媲美商业系统的生动语音。
该工具的核心亮点在于其强大的零样本语音克隆能力,用户仅需提供 3 到 10 秒的参考音频,即可复刻任意说话人的音色。此外,它支持实时流式推理,非常适合需要低延迟互动的场景,并具备优秀的中英文混合播报及音素级建模能力。系统采用两阶段架构,先由大模型生成语音令牌序列,再通过流匹配模型转化为高保真音频波形。
GLM-TTS 非常适合作为开发者和研究人员构建智能客服、有声读物或虚拟数字人项目的底层引擎;同时,其提供的交互式 Web 界面也让设计师和普通用户能够轻松体验并定制个性化的语音内容。无论是追求技术突破的研究者,还是希望为作品增添情感色彩的创作者,都能从中获得高效、灵活的语音合成解决方案。
使用场景
某互动有声书创作团队正致力于将经典文学作品快速转化为具有丰富情感色彩的多人广播剧,以满足听众对沉浸式听觉体验的需求。
没有 GLM-TTS 时
- 录音成本高昂:为每个角色寻找专业配音演员耗时耗力,且难以协调档期,导致项目启动缓慢。
- 情感表达僵硬:传统 TTS 生成的语音语调平淡,无法精准还原故事中愤怒、悲伤或惊喜等细腻情绪,听众极易出戏。
- 声音克隆门槛高:若想模仿特定知名主播的声音,通常需要录制数小时的高质量素材进行模型训练,数据准备周期长达数周。
- 实时交互缺失:生成音频需等待完整文本处理完毕,无法支持用户与故事角色进行实时的语音互动玩法。
使用 GLM-TTS 后
- 零样本快速复刻:仅需提供角色 3-10 秒的参考音频,GLM-TTS 即可通过零样本克隆技术瞬间锁定声线,立即开始批量合成。
- 多奖励强化学习赋能:依托其多奖励强化学习框架,GLM-TTS 能自动生成抑扬顿挫的语调,精准演绎复杂情感,听感媲美真人演播。
- 流式推理支持互动:利用流式推理特性,GLM-TTS 可实现低延迟的实时语音生成,让听众能随时打断并与书中角色进行自然对话。
- 中英混合无缝切换:在处理包含英文专有名词或对话的中文文本时,GLM-TTS 能保持发音自然流畅,无需额外调整参数。
GLM-TTS 通过零样本克隆与强化学习驱动的情感控制,将广播剧制作周期从数周缩短至数小时,同时大幅提升了听觉沉浸感。
运行环境要求
- 未说明
未说明(基于 LLM 和 Flow Matching 架构,通常推理需要 NVIDIA GPU,具体显存需求未提及)
未说明

快速开始
GLM-TTS:基于多奖励强化学习的可控且富有情感表达的零样本TTS
📜 论文 | 🤗 HuggingFace | 🤖 ModelScope | 🛠️Audio.Z.AI
模型介绍
GLM-TTS 是一款基于大型语言模型的高质量文本到语音(TTS)合成系统,支持零样本语音克隆和流式推理。该系统采用两阶段架构:首先利用 LLM 生成语音标记序列,然后使用 Flow 模型将标记转换为高质量音频波形。通过引入多奖励强化学习框架,GLM-TTS 能够生成更具表现力和情感的语音,显著提升传统 TTS 系统的表现力。
新闻与更新
- [2025.12.11] 🎉 项目正式开源,包含推理脚本和一系列模型权重。
- [2025.12.17] GLM-TTS 技术报告已在 arXiv 上发布:2512.14291。
- [即将推出] 2D Vocos 声码器更新正在进行中。
- [即将推出] 通过强化学习优化的模型权重。
特性
- 零样本语音克隆:仅需 3–10 秒的提示音频即可克隆任何说话者的音色。
- RL 增强的情感控制:通过多奖励强化学习框架实现更自然的情感表达和韵律控制。
- 流式推理:支持实时流式音频生成,适用于交互式应用。
- 高质量合成:生成自然且富有表现力的语音,质量可媲美商业系统。
- 多语言支持:主要支持中文,同时也支持英文混合文本。
- 音素级建模:支持音素级别的文本到语音转换。
- 灵活的推理方法:支持多种采样策略和推理模式。
快速入门
环境搭建
请确保使用 Python 3.10 至 Python 3.12 版本。
# 克隆仓库
git clone https://github.com/zai-org/GLM-TTS.git
cd GLM-TTS
# 安装依赖
pip install -r requirements.txt
# 安装强化学习相关依赖(可选)
cd grpo/modules
git clone https://github.com/s3prl/s3prl
git clone https://github.com/omine-me/LaughterSegmentation
# 下载 wavlm_large_finetune.pth 并放置于 grpo/ckpt 目录
下载预训练模型
我们支持从 HuggingFace 或 ModelScope 下载完整的模型权重(包括分词器、LLM、Flow、声码器和前端处理模块)。
# 创建模型目录
mkdir -p ckpt
# 选项 1:从 HuggingFace 下载
pip install -U huggingface_hub
huggingface-cli download zai-org/GLM-TTS --local-dir ckpt
# 选项 2:从 ModelScope 下载
pip install -U modelscope
modelscope download --model ZhipuAI/GLM-TTS --local_dir ckpt
运行推理演示
命令行推理
python glmtts_inference.py \
--data=example_zh \
--exp_name=_test \
--use_cache \
# --phoneme # 添加此标志以启用音素功能。
Shell 脚本推理
bash glmtts_inference.sh
交互式 Web 界面
python -m tools.gradio_app
系统架构
概述
GLM-TTS 采用两阶段设计:第一阶段,基于 Llama 架构的大语言模型(LLM)将输入文本转换为语音标记序列;第二阶段,Flow Matching 模型将这些标记序列转换为高质量的梅尔频谱图,最后通过声码器生成音频波形。该系统支持零样本语音克隆,无需针对特定说话者进行微调,即可从提示音频中提取说话者特征。
细粒度发音控制(Phoneme-in)
对于需要高发音准确性的场景,如教育评估和有声读物,GLM-TTS 引入了 Phoneme-in 机制,以解决多音字(例如“行”可读作 xíng 或 háng)和生僻字的自动发音歧义问题。该机制支持 “混合音素 + 文本” 输入,从而对特定词汇的发音进行精确、定向的控制。
混合训练 在训练过程中,随机对部分文本进行 G2P(字符到音素)转换。这一策略迫使模型适应混合输入序列,使其在保留理解纯文本能力的同时,增强对音素输入的泛化能力。
定向推理 推理遵循
G2P -> 表格查找替换 -> 混合输入的流程:- 全局转换:获取输入文本的完整音素序列。
- 动态替换:利用“动态可控词典”,自动识别多音字或生僻字,并将其替换为目标音素。
- 混合生成:将替换后的音素与原始文本结合,作为混合输入送入 GLM-TTS。这样既能确保特定词语的精确发音,又能保持自然的韵律。
RL 对齐
为了解决传统 TTS 情感表达平淡的问题,我们引入了多奖励强化学习框架。该框架通过多个奖励函数(包括相似度奖励、CER 奖励、情感奖励、笑声奖励等)对生成的语音进行全面评估,并使用 GRPO(Group Relative Policy Optimization)算法优化 LLM 的生成策略。具体来说:
- 多奖励设计:系统设计了多种奖励函数,从不同维度评估生成语音的质量,包括音质、相似度、情感表达等。
- 奖励服务器:通过分布式奖励服务器计算多个奖励函数,支持并行处理。
- 策略优化:基于奖励信号,使用 GRPO 算法优化 LLM 的生成策略,从而提升语音的情感表现力。
- 词元级奖励:支持细粒度的词元级奖励分配,提供更精确的优化信号。
通过 RL 优化,GLM-TTS_RL 相较于基础模型,将 CER 指标从 1.03 降低至 0.89,同时保持高相似度,实现了更好的音质和表现力。
核心组件与实现
LLM 后端
- 文件位置:
llm/glmtts.py - 功能:基于 Llama 架构的文本到语音模型,负责将输入文本转换为语音词元序列。
- 支持模式:预训练(PRETRAIN)、微调(SFT)和 LoRA 模式。
流匹配
- 文件位置:
flow/目录 - 核心文件:
- 功能:将 LLM 生成的词元序列转换为高质量的梅尔谱图。
前端
- 文件位置:
cosyvoice/cli/frontend.py - 功能:对文本和语音进行预处理,包括文本归一化、音素转换、语音词元提取以及说话人嵌入提取。
- 特性:支持中英文混合文本处理。
强化学习模块
- 文件位置:
grpo/目录 - 核心文件:
grpo_utils.py:GRPO 算法实现及批量推理。reward_func.py:多奖励函数实现。reward_server.py:分布式奖励服务器。
- 功能:通过多奖励强化学习优化 TTS 系统的情感表现力。
评估结果
在 seed-tts-eval zh testset 上进行评估。为保持与原评估的一致性,推理过程中未使用 --phoneme 标志。
CER:字符错误率(越低越好 $\downarrow$)| SIM:相似度(越高越好 $\uparrow$)
| 模型 | CER $\downarrow$ | SIM $\uparrow$ | 开源 |
|---|---|---|---|
| MegaTTS3 | 1.52 | 79.0 | 🔒 否 |
| DiTAR | 1.02 | 75.3 | 🔒 否 |
| CosyVoice3 | 1.12 | 78.1 | 🔒 否 |
| Seed-TTS | 1.12 | 79.6 | 🔒 否 |
| MiniMax | 0.83 | 78.3 | 🔒 否 |
| CosyVoice2 | 1.38 | 75.7 | 👐 是 |
| F5-TTS | 1.53 | 76.0 | 👐 是 |
| FireRedTTS-2 | 1.14 | 73.6 | 👐 是 |
| IndexTTS2 | 1.03 | 76.5 | 👐 是 |
| VibeVoice | 1.16 | 74.4 | 👐 是 |
| HiggsAudio-v2 | 1.50 | 74.0 | 👐 是 |
| VoxCPM | 0.93 | 77.2 | 👐 是 |
| GLM-TTS(我们的模型) | 1.03 | 76.1 | 👐 是 |
| GLM-TTS_RL(我们的模型) | 0.89 | 76.4 | 👐 是 |
项目结构
GLM-TTS/
├── glmtts_inference.py # 主推理脚本,包含完整的推理流程
├── glmtts_inference.sh # 预训练模型推理脚本
├── configs/ # 配置文件目录
│ ├── spk_prompt_dict.yaml # 说话人提示词字典
│ ├── lora_adapter_configV3.1.json # LoRA 适配器配置
│ ├── G2P_able_1word.json # 单个字符音素转换配置
│ ├── G2P_all_phonemes.json # 全部音素列表
│ ├── G2P_replace_dict.jsonl # 音素替换字典
│ └── custom_replace.jsonl # 自定义替换规则
├── cosyvoice/ # Cosyvoice 模块
│ ├── cli/
│ │ └── frontend.py # 文本和语音前端处理
│ └── utils/ # 工具函数
├── examples/ # 示例数据
│ ├── *.jsonl # 示例 jsonl 文件
│ └── prompt/ # 提示音频目录
│ ├── *.wav # 提示音频(仅用于研究)
│ └── LICENSE # 音频文件许可
├── flow/ # 流模型相关
│ ├── dit.py # 连续扩散 Transformer 实现
│ ├── flow.py # 流式流模型
│ └── modules.py # 流模型基础模块
├── grpo/ # 强化学习模块
│ ├── grpo_utils.py # GRPO 算法实现
│ ├── reward_func.py # 多奖励函数
│ ├── reward_server.py # 分布式奖励服务器
│ ├── train_ds_grpo.py # GRPO 训练脚本
│ └── data/ # 训练数据和配置
├── llm/ # 大语言模型相关
│ └── glmtts.py # GLM-TTS LLM 实现
├── frontend/ # 前端模型文件
│ ├── campplus.onnx # 说话人嵌入模型
│ └── cosyvoice_frontend.yaml # 前端配置
├── tools/ # 工具脚本
│ ├── gradio_app.py # Gradio 交互界面
│ ├── ffmpeg_speech_control.py # 音频处理工具
│ └── flow_reconstruct.py # 音频重建
└── utils/ # 公用工具
├── tts_model_util.py # TTS 模型工具
├── yaml_util.py # YAML 配置加载工具
├── audio.py # 音频处理工具
├── seed_util.py # 随机种子工具
├── block_mask_util.py # 块掩码工具
├── vocos_util.py # Vocos 编码器工具
├── hift_util.py # Hift 编码器工具
├── whisper_models/ # Whisper 模型组件
└── glm_g2p.py # 文本到音素转换
致谢
我们感谢以下开源项目的支持:
引用
如果您在研究中使用了 GLM-TTS,请引用我们的技术报告:
@misc{cui2025glmttstechnicalreport,
title={GLM-TTS 技术报告},
author={Jiayan Cui 和 Zhihan Yang 和 Naihan Li 和 Jiankun Tian 和 Xingyu Ma 和 Yi Zhang 和 Guangyu Chen 和 Runxuan Yang 和 Yuqing Cheng 和 Yizhi Zhou 和 Guochen Yu 和 Xiaotao Gu 和 Jie Tang},
year={2025},
eprint={2512.14291},
archivePrefix={arXiv},
primaryClass={cs.SD},
url={https://arxiv.org/abs/2512.14291},
}
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备