字节笔记本

2026年2月23日

GLM-4-Voice:智谱 AI 端到端语音对话模型

GLM-4-Voice 是智谱 AI 推出的端到端语音对话模型,能够直接理解和生成中英文语音,进行实时语音对话,并且支持根据用户指令改变语音的情感、语调、语速、方言等属性。该项目在 GitHub 上已获得 3.1k+ stars,是语音 AI 领域的重要开源项目。

项目简介

GLM-4-Voice 由智谱 AI(Zhipu AI)开发,是一个开源的端到端中英语音对话模型。与传统的级联系统(ASR + LLM + TTS)不同,GLM-4-Voice 采用端到端架构,能够直接处理语音输入并生成语音输出,大大降低了对话延迟,提升了交互的自然度。

截至目前,该项目在 GitHub 上已获得 3.1k+ stars,拥有 274 forks,主要使用 Python 编写。

核心特性

  • 端到端语音对话:直接理解和生成语音,无需中间的文本转换步骤
  • 实时语音交互:支持流式推理,最低只需 10 个语音 token 即可开始生成
  • 多语言支持:同时支持中文和英文语音对话
  • 情感与风格控制:可按照指令改变语音的情感、语调、语速、方言等属性
  • 低延迟:流式思考架构确保快速响应
  • 开源可部署:提供完整的代码和预训练模型,支持本地部署

模型架构

GLM-4-Voice 由三个核心组件构成:

1. GLM-4-Voice-Tokenizer

通过在 Whisper 的 Encoder 部分增加 Vector Quantization 并在 ASR 数据上有监督训练,将连续的语音输入转化为离散的 token。每秒音频平均只需要用 12.5 个离散 token 表示。

2. GLM-4-Voice-Decoder

基于 CosyVoice 的 Flow Matching 模型结构训练的支持流式推理的语音解码器,将离散化的语音 token 转化为连续的语音输出。最少只需要 10 个语音 token 即可开始生成,显著降低端到端对话延迟。

3. GLM-4-Voice-9B

在 GLM-4-9B 的基础上进行语音模态的预训练和对齐,从而能够理解和生成离散化的语音 token。模型经过数百万小时音频和数千亿 token 的音频文本交错数据预训练,拥有强大的音频理解和建模能力。

模型列表

模型类型下载链接
GLM-4-Voice-TokenizerSpeech TokenizerHuggingface / ModelScope
GLM-4-Voice-9BChat ModelHuggingface / ModelScope
GLM-4-Voice-DecoderSpeech DecoderHuggingface / ModelScope

安装指南

前置要求

  • Python 3.8+
  • CUDA 支持的 GPU(推荐)
  • 足够的磁盘空间用于下载模型

安装步骤

1. 克隆仓库

bash
git clone --recurse-submodules https://github.com/THUDM/GLM-4-Voice
cd GLM-4-Voice

2. 安装依赖

bash
pip install -r requirements.txt

提示:也可以使用预构建的镜像 zhipuai/glm-4-voice:0.1 跳过依赖安装步骤。

3. 下载 Decoder 模型

由于 Decoder 模型不支持通过 transformers 初始化,需要单独下载:

bash
# 确保已安装 git-lfs
git lfs install

# 下载 decoder 模型
git clone https://huggingface.co/THUDM/glm-4-voice-decoder

快速开始

启动 Web Demo

1. 启动模型服务

bash
python model_server.py \
  --host localhost \
  --model-path THUDM/glm-4-voice-9b \
  --port 10000 \
  --dtype bfloat16 \
  --device cuda:0

如果需要使用 Int4 精度启动(节省显存):

bash
python model_server.py \
  --host localhost \
  --model-path THUDM/glm-4-voice-9b \
  --port 10000 \
  --dtype int4 \
  --device cuda:0

2. 启动 Web 服务

bash
python web_demo.py \
  --tokenizer-path THUDM/glm-4-voice-tokenizer \
  --model-path THUDM/glm-4-voice-9b \
  --flow-path ./glm-4-voice-decoder

访问 http://127.0.0.1:8888 即可使用 Web Demo。

注意:首次运行会自动下载 glm-4-voice-tokenizerglm-4-voice-9b 模型。如果网络条件不好,建议手动下载后通过参数指定本地路径。

使用示例

GLM-4-Voice 支持多种语音控制场景:

情感控制

  • "用轻柔的声音引导我放松"
  • "用激动的声音解说足球比赛"
  • "用哀怨的声音讲一个鬼故事"

方言支持

  • "用东北话介绍一下冬天有多冷"
  • "用重庆话念'吃葡萄不吐葡萄皮'"
  • "用北京话念一句绕口令"

语速控制

  • "加快语速"
  • "再快一点"

技术亮点

流式思考架构

GLM-4-Voice 设计了一套流式思考架构:根据用户语音,模型可以流式交替输出文本和语音两个模态的内容。语音模态以文本作为参照保证回复内容的高质量,并根据用户的语音指令要求做出相应的声音变化。

预训练策略

为了攻克模型在语音模态下的智商和合成表现力两个难关,项目团队将 Speech2Speech 任务解耦合为两个子任务:

  1. 根据用户音频做出文本回复
  2. 根据文本回复和用户语音合成回复语音

基于这两种任务形式,设计了相应的预训练目标,分别利用文本预训练数据和无监督音频数据合成语音-文本交错数据进行训练。

已知问题

  • Gradio 的流式音频播放效果不稳定,建议在生成完成后点击对话框中的音频以获得更高质量

相关资源

协议与引用

  • 代码协议: Apache 2.0
  • 模型权重: 需遵循智谱 AI 的模型协议

引用格式

bibtex
@misc{zeng2024glm4,
  title={GLM-4-Voice: Towards Intelligent and Human-Like End-to-End Spoken Chatbot},
  author={Aohan Zeng and Zhengxiao Du and Mingdao Liu and Kedong Wang and Shengmin Jiang and Lei Zhao and Yuxiao Dong and Jie Tang},
  year={2024},
  eprint={2412.02612},
  archivePrefix={arXiv},
  primaryClass={cs.CL},
  url={https://arxiv.org/abs/2412.02612},
}

致谢

本项目部分代码来自:

分享: