概念
speech-model model open-source
创建2026-05-01
更新2026-05-01
阅读量级6 分钟
概念导读

CosyVoice 是阿里 Speech Lab(FunAudioLLM 团队)于 2024 年 7 月发布的大规模多语言零样本 TTS 合成系统。核心创新是首次将有监督语义语音 token(Supervised Semantic Speech Tokens, S³)引入 TTS 模型,相比无监督 token 在内容一致性和说话人相似度上显著提升。

  1. 系统架构
  2. 有监督语义 Token(S³)
  3. LLM Token 生成
  4. Optimal-Transport Conditional Flow Matching(OT-CFM)
  5. 零样本语音克隆
  6. 指令驱动生成(CosyVoice-instruct)
  7. 训练数据
  8. 大规模多语言数据

CosyVoice

CosyVoice 是阿里 Speech Lab(FunAudioLLM 团队)于 2024 年 7 月发布的大规模多语言零样本 TTS 合成系统。核心创新是首次将有监督语义语音 token(Supervised Semantic Speech Tokens, S³)引入 TTS 模型,相比无监督 token 在内容一致性和说话人相似度上显著提升。

代码开源:https://github.com/FunAudioLLM/CosyVoice Demo:https://fun-audio-llm.github.io

系统架构

CosyVoice 由四个核心组件组成:

组件 功能
S³ Tokenizer 有监督语义语音 token 提取
Text Encoder 文本与语音 token 语义空间对齐
LLM 自回归生成语音 token 序列
OT-CFM Vocoder 从 token 生成 Mel 频谱图

训练流水线:Tokenizer(ASR encoder + VQ) → LLM(text + speaker → tokens) → CFM(tokens → waveform) → HiFiGAN(mel → waveform)

1. 有监督语义 Token(S³)

核心创新:将 vector quantization 层插入多语言 ASR 模型编码器中间,从有监督 ASR 训练中获得离散语音 token。

  • 基座模型:SenseVoice-Large(富识别 ASR 模型)
  • VQ 插入位置:前 6 层 encoder 之后
  • Codebook:单个 codebook,4096 个码向量
  • 更新方式:EMA(Exponentially Moving Average)更新 codebook embedding
  • 训练:8 张 A800 GPU,210,000 步微调

数学流程:

  1. Mel 频谱图 X → Encoder₁ → 上下文表征 H
  2. VQ 离散化:μₗ = argminₙ ||hₗ - cₙ||₂
  3. Codebook 更新:c_{μₗ} := α·c_{μₗ} + (1-α)·hₗ
  4. 量化表征 H̄ → 额外位置编码 → Encoder₂ → H̃
  5. ASR Decoder 预测文本标签后验概率 P(Y|X)

对比无监督 token(Encodec、HuBERT),S³ token 的优势: - 显式语义信息,与文本有明确对齐 - 中文 Common Voice 上 WER 比 Whisper-Large-V3 低 4.14% - LibriTTS 上 WER 3.18%(插入 VQ 后仅轻微影响 ASR 性能)

2. LLM Token 生成

将 TTS 重构为自回归序列生成问题。

输入序列构造:[S, v, {ȳᵤ}ᵤ∈[1:U], T, {μₗ}ₗ∈[1:L], E]

  • S = start of sequence
  • v = speaker embedding(x-vector / 3D-Speaker CAM++,从 3-10s 参考音频提取)
  • {ȳᵤ} = 文本编码(BPE tokenizer + TextEncoder,对齐文本与语音语义空间)
  • T = turn of speech(文本与语音的分隔标记)
  • {μₗ} = 有监督语义 token 序列
  • E = end of sequence

训练:Teacher-forcing,仅计算语音 token 和 E 的交叉熵损失。

模型规格:

配置 Text Encoder Language Model
Tiny 6 层, 512d, 8 heads 12 层, 512d, 8 heads
Normal 6 层, 1024d, 16 heads 14 层, 1024d, 16 heads
  • Tiny LR = 1e-3,Normal LR = 1e-4
  • Warmup = 10,000 步
  • 多语言模型:64 张 V100-32M,800,000 步

3. Optimal-Transport Conditional Flow Matching(OT-CFM)

用 CFM 替代传统 diffusion 模型,直接将语义 token 映射到 Mel 频谱图,绕过 phonemizer 和 forced aligner

  • 概率密度路径:从标准正态先验 p₀(X) = N(X; 0, I) 到 Mel 频谱数据分布 q(X)
  • OT 路径:φᵗᵒᵗ(X₀, X₁) = (1-(1-σ)t)X₀ + tX₁
  • 神经网路输入:OT 路径中间态、时间步 t、speaker embedding v、语义 token {μₗ}、masked Mel 频谱 X̃₁
  • Masking:从随机起点到末尾的连续帧置零
  • Cosine scheduler:t := 1 - cos(½tπ),在生成初期分配更多步数
  • Classifier-Free Guidance(CFG)
  • 训练时以 0.2 概率随机丢弃条件
  • 推理时:ν̃ₜ = (1+β)·νₜ(条件) - β·νₜ(无条件),β = 0.7
  • 最终波形:CFM 输出 Mel → HiFiGAN vocoder → 波形

零样本语音克隆

  • 参考音频:3-10 秒即可提取 speaker embedding
  • 同语言:prompt speech token + 输入文本合并为统一输入,prompt token 视为预生成
  • 跨语言:省略 prompt 关联的文本和 token,防止原语言韵律影响目标语言
  • 增强条件:speaker embedding + prompt Mel 频谱拼接,提升音色和环境一致性

指令驱动生成(CosyVoice-instruct)

在 CosyVoice-base 基础上进行 instruction fine-tuning,支持:

控制维度 示例
Speaker Identity "Selene 'Moonshade', is a mysterious, elegant dancer..."
Speaking Style "A happy girl with high tone and quick speech."
细粒度副语言 [laughter], [breath], 词语强调 <strong>...</strong>

训练数据:Speaker Identity 101h + Speaking Style 407h + Fine-grained Paralinguistics 48h

情感控制准确率(6 种情绪):CosyVoice-instruct 在 happy(1.00)、sad(0.98)、angry(0.83)、disgusted(0.93) 上显著优于 base 和无指令版本。

训练数据

大规模多语言数据

语言 时长
中文(ZH) 130,000 小时
英文(EN) 30,000 小时
粤语(Yue) 5,000 小时
日语(JP) 4,600 小时
韩语(KO) 2,200 小时
总计 ~171,800 小时

数据流程:语音检测 → SNR 估计 → 说话人分离 → SenseVoice-Large + Paraformer 伪标签 → Force-alignment 精炼

性能指标

英语(LibriTTS test-clean)

模型 WER (%) Ins.+Del. 说话人相似度 (SS)
Original 2.66 92 69.67
ChatTTS 8.32 441 -
CosyVoice 2.89 ± 0.18 88.60 ± 3.88 74.30 ± 0.15
CosyVoice + ASR rerank (5×) 1.51 47 74.30

中文(AISHELL-3 test)

模型 CER (%) Ins.+Del. SS
Original 2.52 25 74.15
ChatTTS 3.87 111 -
CosyVoice 3.82 ± 0.24 24.4 ± 2.24 81.58 ± 0.16
CosyVoice + ASR rerank (5×) 1.84 11 81.58

关键发现

  1. 数据规模至关重要:仅用 LibriTTS 训练的多语言 tokenizer 会同时降低内容一致性和说话人相似度;加入大规模内部数据集后显著提升至人类水平
  2. 文本和语音 tokenizer 共同决定内容一致性,对说话人相似度影响较小
  3. CosyVoice 可作为数据生成器:用合成语音训练 ASR 模型,加入 MLS 文本的合成数据显著提升识别精度(WER 2.79→2.04)
  4. 单 codebook 4096 码的 S³ tokenizer 即达到卓越效果

相关页面

  • fun-audio-llm — FunAudioLLM 团队,CosyVoice 的归属组织
  • fun-codec — 同团队的语音编解码工具包
  • cosyvoice-2 — CosyVoice 的后续版本
  • cosyvoice-3 — CosyVoice 第三代
  • diffro — 同团队的 diffusion-based 语音模型
  • qwen3-tts — Qwen 团队的 TTS 模型,竞品
  • seed-tts — 字节跳动 Seed 团队的自回归 TTS,竞品