jianchang512/Confucius4-TTS

frok from netease-youdao/Confucius4-TTS

Python

3

10 commits

updated Jun 24, 2026

See the code

README

frok from netease-youdao/Confucius4-TTS

在官方源码基础上增加了一个WebUI界面webui.py,其他未有任何改变

在 google colab 上使用

Confucius4-TTS

Confucius4-TTS: 多语种跨语种零样本TTS

一种音色,任意语言。

                             

Confucius4-TTS 是一款基于大语言模型(LLM)的先进文本转语音(TTS)系统,专为多语种和跨语种语音合成而设计。基于语音编码器 + 大语言模型(LLM)架构构建,能够在保持说话人音色一致的同时,实现跨语种的高质量语音生成。 在线 Demo 页面体验:[https://confucius4-tts.youdao.com/gradio]

✨ 核心特性

  • 支持 14 种语言:中文、英文、日语、韩语、德语、法语、西班牙语、印尼语、意大利语、泰语、葡萄牙语、俄语、马来语、越南语 (更多语言即将推出)
  • 无约束声音克隆:无需参考文本
  • 跨语种声音迁移:跨 14 种语言的无口音语音合成
  • 零样本声音迁移:无需额外训练即可克隆声音
  • 无缝情感迁移:克隆情感,而非仅仅是声音
  • 强泛化能力:在真实多语种场景中表现稳定

凭借强大的跨语种泛化能力,Confucius4-TTS 允许用户在保持相同音色的同时无缝切换语言,提供流畅、自然且富有表现力的语音。

Contents

🛠 环境安装

环境要求

  • Python 3.10
  • CUDA 12.6

安装步骤

  1. 克隆仓库:
git clone https://github.com/jianchang512/Confucius4-TTS.git
cd Confucius4-TTS
  1. 创建并激活 conda 环境:
conda create -n confuciustts python=3.10 -y
conda activate confuciustts
  1. 安装依赖:
pip install -r requirements.txt

启动 WebUI


python webui.py 

🚀 推理

使用提供的 example.py 脚本进行zero-shot TTS 合成:

python example.py \
    --prompt_wav path/to/reference.wav \
    --text "要合成的文本" \
    --lang zh \
    --out output.wav \
    --config config/inference_config.yaml

也可以直接使用 Python API:

import torch
import torchaudio
from confuciustts.cli.inference import ConfuciusTTS

model = ConfuciusTTS(
    config_path="config/inference_config.yaml",
    device="cuda" if torch.cuda.is_available() else "cpu",
)

audio = model.generate(
    text="你好,欢迎使用 Confucius4-TTS。",
    lang="zh",
    prompt_wav="path/to/reference.wav",
    verbose=True,
)

torchaudio.save("output.wav", audio.cpu(), model.sample_rate)

🚀 微调

Confucius4-TTS 采用「语音编码器 + LLM」架构,训练流程涵盖以下两个模块:

  • Text2Semantic(T2S):根据文本与说话人条件生成语义 token 序列。
  • Semantic2Acoustic(S2A):流匹配模型,将语义 token 转换为梅尔频谱图。

1. 准备预训练模型

下载两个外部模型:

# Wav2Vec2-BERT(说话人条件化 & 语义特征提取)
huggingface-cli download facebook/w2v-bert-2.0 \
    --local-dir pretrained/w2v-bert-2.0

# Amphion MaskGCT(语义编解码器实现)
git clone https://github.com/open-mmlab/Amphion.git external/Amphion

下载完成后,目录结构如下:

checkpoints/
├── t2s_model.safetensors        # T2S 预训练权重
├── s2a_model.pt                 # S2A 预训练权重
├── wav2vec2bert_stats.pt        # 语义特征归一化统计量
├── special_tokens_map.json      # 分词器文件
├── tokenizer.json
├── tokenizer.model
└── tokenizer_config.json
pretrained/
├── w2v-bert-2.0/                # Wav2Vec2-BERT 模型
└── campplus/
    └── campplus_cn_common.bin   # CAMPPlus 说话人编码器权重
external/
└── Amphion/                     # MaskGCT 语义编解码器实现

2. 准备训练数据

训练数据为 TSV 文件(制表符分隔),不含表头,包含以下 5 列:

列名说明
lang语言代码(如 zh、en、ja)
wav_path目标音频路径
norm_text归一化后的文本
semantic_ids_path预提取的语义 token(.npy 文件路径)
ref_audio_paths参考音频路径,支持多个用逗号分隔

在 config/train_t2s.yaml 中配置训练/验证集路径:

data:
  train_data_path:
    - data/train.tsv
  val_data_path:
    - data/val.tsv

3. 启动 T2S 训练

在 config/train_t2s.yaml 中设置预训练 T2S 权重路径:

paths:
  t2s_checkpoint: checkpoints/t2s_model.safetensors

单机训练:

python -m confuciustts.cli.train_t2s -c config/train_t2s.yaml

4. 启动 S2A 训练

在 config/train_s2a.yaml 中设置权重路径。t2s_checkpoint 指向冻结的 T2S 骨干网络;s2a_checkpoint 为可选项,用于从预训练 S2A 模型继续训练:

paths:
  t2s_checkpoint: checkpoints/t2s_model.safetensors
  s2a_checkpoint: checkpoints/s2a_model.pt   # 可选:从预训练 S2A 权重继续训练

单机训练:

python -m confuciustts.cli.train_s2a -c config/train_s2a.yaml

S2A 训练过程中,T2S 模型、说话人编码器(Wav2Vec2-BERT)和风格编码器(CAMPPlus)均处于冻结状态,只有流匹配 S2A 模型参与训练。

📊 性能

Confucius4-TTS 在多语种及跨语种零样本 TTS 基准测试中表现优异,兼具高可懂度与说话人相似度。

WER/CER 越低越好(↓),SIM 越高越好(↑)。

CV3-eval 跨语种

CV3-eval 跨语种结果(点击展开)
DirectionMetricConfucius4-TTSF5-TTS†Spark-TTSCosyVoice2†CosyVoice3-0.5B†CosyVoice3-0.5B + DiffRO†CosyVoice3-1.5B†CosyVoice3-1.5B + DiffRO†
en→zhWER↓6.7111.6012.4013.508.485.168.015.09
ja→zhWER↓4.93––48.106.863.226.783.05
ko→zhWER↓1.46––7.705.241.033.301.06
zh→enWER↓3.195.577.3617.106.834.415.394.20
ja→enWER↓3.44––11.205.864.785.944.19
ko→enWER↓3.42––13.1018.307.9113.707.08

† 需要参考文本。

X-Voice Benchmark

X-Voice 跨语种结果(点击展开)
DirectionMetricConfucius4-TTSX-VoiceOmniVoice†IndexTTS2
de→zhWER↓2.863.0713.103.46
SIM↑0.5690.5160.6910.544
en→zhWER↓3.273.064.033.78
SIM↑0.5040.4430.5440.485
fr→zhWER↓2.743.0118.103.53
SIM↑0.5500.5180.6860.543
ja→zhWER↓3.503.3979.104.11
SIM↑0.6370.6290.7090.650
ko→zhWER↓2.863.1311.882.90
SIM↑0.6490.6550.7180.650
th→zhWER↓2.872.793.303.08
SIM↑0.6230.6140.6610.622
vi→zhWER↓2.752.7810.512.98
SIM↑0.6400.6410.7010.641

† 需要参考文本。

Seed-TTS-eval

Seed-TTS-eval 中英文测试集结果(点击展开)
LanguageMetricConfucius4-TTSQwen3-TTSFishAudio S2†OmniVoice†VoxCPM2†X-Voice
EnglishWER↓1.491.240.991.601.841.91
SIM↑0.700.714–0.7410.7530.627
ChineseCER↓0.940.770.540.840.971.47
SIM↑0.7650.770–0.7770.7950.746

† 需要参考文本。

MiniMax-Multilingual-Test

MiniMax-Multilingual-Test 结果(点击展开)
LanguageMetricConfucius4-TTSElevenLabQwen3-TTSFishAudio S2†OmniVoice†VoxCPM2†X-Voice
GermanWER↓0.470.571.240.550.960.682.00
SIM↑0.7750.6140.7680.7670.8120.8030.763
FrenchWER↓3.665.222.863.053.354.534.73
SIM↑0.7230.5350.7160.6980.8010.7350.746
IndonesianWER↓1.121.06–1.461.971.081.47
SIM↑0.7650.660–0.7630.8050.8000.725
KoreanWER↓1.841.871.761.182.651.962.27
SIM↑0.8120.7000.7900.8170.8280.8330.788
ThaiWER↓1.5673.94–4.233.982.964.71
SIM↑0.7730.588–0.7860.8410.8400.791
JapaneseWER↓4.1410.653.822.764.034.637.13
SIM↑0.7880.7380.7710.7960.8280.8280.765
VietnameseWER↓1.6173.42–7.411.373.311.40
SIM↑0.7510.369–0.7400.8050.8060.672
ItalianWER↓1.301.740.951.272.071.562.27
SIM↑0.7870.5790.7520.7470.8120.7800.780
PortugueseWER↓2.481.331.531.142.511.942.61
SIM↑0.7960.7110.8050.7810.8590.8370.794
SpanishWER↓1.021.081.130.911.031.442.91
SIM↑0.7780.6150.8140.7760.8040.8310.747
RussianWER↓4.643.883.212.402.233.636.49
SIM↑0.7870.6750.7840.7900.7830.8110.799

† 需要参考文本。


致谢

Confucius4-TTS 基于以下开源项目构建:

  • Qwen3-TTS — 说话人编码器(ECAPA-TDNN)及文本嵌入投影层架构
  • CosyVoice — 文本归一化流程
  • Amphion / MaskGCT — 语义编解码器实现
  • w2v-BERT 2.0 — 语义特征提取与说话人条件化
  • Seed-VC — Flow matching 架构参考
  • BigVGAN — 高保真神经声码器,用于梅尔频谱图到波形的合成

引用

如果您在研究或项目中使用了 Confucius4-TTS,请考虑引用:

@misc{confucius4tts_2026,
  title        = {Confucius4-TTS: A Multilingual and Cross-Lingual Zero-Shot TTS Engine},
  author       = {{NetEase Youdao}},
  year         = {2026},
  howpublished = {\url{https://github.com/netease-youdao/Confucius4-TTS}},
  note         = {GitHub repository}
}

jianchang512/Confucius4-TTS

frok from netease-youdao/Confucius4-TTS

Python

3

10 commits

updated Jun 24, 2026

See the code

README

frok from netease-youdao/Confucius4-TTS

在官方源码基础上增加了一个WebUI界面webui.py,其他未有任何改变

在 google colab 上使用

Confucius4-TTS

Confucius4-TTS: 多语种跨语种零样本TTS

一种音色,任意语言。

                             

Confucius4-TTS 是一款基于大语言模型(LLM)的先进文本转语音(TTS)系统,专为多语种和跨语种语音合成而设计。基于语音编码器 + 大语言模型(LLM)架构构建,能够在保持说话人音色一致的同时,实现跨语种的高质量语音生成。 在线 Demo 页面体验:[https://confucius4-tts.youdao.com/gradio]

✨ 核心特性

  • 支持 14 种语言:中文、英文、日语、韩语、德语、法语、西班牙语、印尼语、意大利语、泰语、葡萄牙语、俄语、马来语、越南语 (更多语言即将推出)
  • 无约束声音克隆:无需参考文本
  • 跨语种声音迁移:跨 14 种语言的无口音语音合成
  • 零样本声音迁移:无需额外训练即可克隆声音
  • 无缝情感迁移:克隆情感,而非仅仅是声音
  • 强泛化能力:在真实多语种场景中表现稳定

凭借强大的跨语种泛化能力,Confucius4-TTS 允许用户在保持相同音色的同时无缝切换语言,提供流畅、自然且富有表现力的语音。

Contents

🛠 环境安装

环境要求

  • Python 3.10
  • CUDA 12.6

安装步骤

  1. 克隆仓库:
git clone https://github.com/jianchang512/Confucius4-TTS.git
cd Confucius4-TTS
  1. 创建并激活 conda 环境:
conda create -n confuciustts python=3.10 -y
conda activate confuciustts
  1. 安装依赖:
pip install -r requirements.txt

启动 WebUI


python webui.py 

🚀 推理

使用提供的 example.py 脚本进行zero-shot TTS 合成:

python example.py \
    --prompt_wav path/to/reference.wav \
    --text "要合成的文本" \
    --lang zh \
    --out output.wav \
    --config config/inference_config.yaml

也可以直接使用 Python API:

import torch
import torchaudio
from confuciustts.cli.inference import ConfuciusTTS

model = ConfuciusTTS(
    config_path="config/inference_config.yaml",
    device="cuda" if torch.cuda.is_available() else "cpu",
)

audio = model.generate(
    text="你好,欢迎使用 Confucius4-TTS。",
    lang="zh",
    prompt_wav="path/to/reference.wav",
    verbose=True,
)

torchaudio.save("output.wav", audio.cpu(), model.sample_rate)

🚀 微调

Confucius4-TTS 采用「语音编码器 + LLM」架构,训练流程涵盖以下两个模块:

  • Text2Semantic(T2S):根据文本与说话人条件生成语义 token 序列。
  • Semantic2Acoustic(S2A):流匹配模型,将语义 token 转换为梅尔频谱图。

1. 准备预训练模型

下载两个外部模型:

# Wav2Vec2-BERT(说话人条件化 & 语义特征提取)
huggingface-cli download facebook/w2v-bert-2.0 \
    --local-dir pretrained/w2v-bert-2.0

# Amphion MaskGCT(语义编解码器实现)
git clone https://github.com/open-mmlab/Amphion.git external/Amphion

下载完成后,目录结构如下:

checkpoints/
├── t2s_model.safetensors        # T2S 预训练权重
├── s2a_model.pt                 # S2A 预训练权重
├── wav2vec2bert_stats.pt        # 语义特征归一化统计量
├── special_tokens_map.json      # 分词器文件
├── tokenizer.json
├── tokenizer.model
└── tokenizer_config.json
pretrained/
├── w2v-bert-2.0/                # Wav2Vec2-BERT 模型
└── campplus/
    └── campplus_cn_common.bin   # CAMPPlus 说话人编码器权重
external/
└── Amphion/                     # MaskGCT 语义编解码器实现

2. 准备训练数据

训练数据为 TSV 文件(制表符分隔),不含表头,包含以下 5 列:

列名说明
lang语言代码(如 zh、en、ja)
wav_path目标音频路径
norm_text归一化后的文本
semantic_ids_path预提取的语义 token(.npy 文件路径)
ref_audio_paths参考音频路径,支持多个用逗号分隔

在 config/train_t2s.yaml 中配置训练/验证集路径:

data:
  train_data_path:
    - data/train.tsv
  val_data_path:
    - data/val.tsv

3. 启动 T2S 训练

在 config/train_t2s.yaml 中设置预训练 T2S 权重路径:

paths:
  t2s_checkpoint: checkpoints/t2s_model.safetensors

单机训练:

python -m confuciustts.cli.train_t2s -c config/train_t2s.yaml

4. 启动 S2A 训练

在 config/train_s2a.yaml 中设置权重路径。t2s_checkpoint 指向冻结的 T2S 骨干网络;s2a_checkpoint 为可选项,用于从预训练 S2A 模型继续训练:

paths:
  t2s_checkpoint: checkpoints/t2s_model.safetensors
  s2a_checkpoint: checkpoints/s2a_model.pt   # 可选:从预训练 S2A 权重继续训练

单机训练:

python -m confuciustts.cli.train_s2a -c config/train_s2a.yaml

S2A 训练过程中,T2S 模型、说话人编码器(Wav2Vec2-BERT)和风格编码器(CAMPPlus)均处于冻结状态,只有流匹配 S2A 模型参与训练。

📊 性能

Confucius4-TTS 在多语种及跨语种零样本 TTS 基准测试中表现优异,兼具高可懂度与说话人相似度。

WER/CER 越低越好(↓),SIM 越高越好(↑)。

CV3-eval 跨语种

CV3-eval 跨语种结果(点击展开)
DirectionMetricConfucius4-TTSF5-TTS†Spark-TTSCosyVoice2†CosyVoice3-0.5B†CosyVoice3-0.5B + DiffRO†CosyVoice3-1.5B†CosyVoice3-1.5B + DiffRO†
en→zhWER↓6.7111.6012.4013.508.485.168.015.09
ja→zhWER↓4.93––48.106.863.226.783.05
ko→zhWER↓1.46––7.705.241.033.301.06
zh→enWER↓3.195.577.3617.106.834.415.394.20
ja→enWER↓3.44––11.205.864.785.944.19
ko→enWER↓3.42––13.1018.307.9113.707.08

† 需要参考文本。

X-Voice Benchmark

X-Voice 跨语种结果(点击展开)
DirectionMetricConfucius4-TTSX-VoiceOmniVoice†IndexTTS2
de→zhWER↓2.863.0713.103.46
SIM↑0.5690.5160.6910.544
en→zhWER↓3.273.064.033.78
SIM↑0.5040.4430.5440.485
fr→zhWER↓2.743.0118.103.53
SIM↑0.5500.5180.6860.543
ja→zhWER↓3.503.3979.104.11
SIM↑0.6370.6290.7090.650
ko→zhWER↓2.863.1311.882.90
SIM↑0.6490.6550.7180.650
th→zhWER↓2.872.793.303.08
SIM↑0.6230.6140.6610.622
vi→zhWER↓2.752.7810.512.98
SIM↑0.6400.6410.7010.641

† 需要参考文本。

Seed-TTS-eval

Seed-TTS-eval 中英文测试集结果(点击展开)
LanguageMetricConfucius4-TTSQwen3-TTSFishAudio S2†OmniVoice†VoxCPM2†X-Voice
EnglishWER↓1.491.240.991.601.841.91
SIM↑0.700.714–0.7410.7530.627
ChineseCER↓0.940.770.540.840.971.47
SIM↑0.7650.770–0.7770.7950.746

† 需要参考文本。

MiniMax-Multilingual-Test

MiniMax-Multilingual-Test 结果(点击展开)
LanguageMetricConfucius4-TTSElevenLabQwen3-TTSFishAudio S2†OmniVoice†VoxCPM2†X-Voice
GermanWER↓0.470.571.240.550.960.682.00
SIM↑0.7750.6140.7680.7670.8120.8030.763
FrenchWER↓3.665.222.863.053.354.534.73
SIM↑0.7230.5350.7160.6980.8010.7350.746
IndonesianWER↓1.121.06–1.461.971.081.47
SIM↑0.7650.660–0.7630.8050.8000.725
KoreanWER↓1.841.871.761.182.651.962.27
SIM↑0.8120.7000.7900.8170.8280.8330.788
ThaiWER↓1.5673.94–4.233.982.964.71
SIM↑0.7730.588–0.7860.8410.8400.791
JapaneseWER↓4.1410.653.822.764.034.637.13
SIM↑0.7880.7380.7710.7960.8280.8280.765
VietnameseWER↓1.6173.42–7.411.373.311.40
SIM↑0.7510.369–0.7400.8050.8060.672
ItalianWER↓1.301.740.951.272.071.562.27
SIM↑0.7870.5790.7520.7470.8120.7800.780
PortugueseWER↓2.481.331.531.142.511.942.61
SIM↑0.7960.7110.8050.7810.8590.8370.794
SpanishWER↓1.021.081.130.911.031.442.91
SIM↑0.7780.6150.8140.7760.8040.8310.747
RussianWER↓4.643.883.212.402.233.636.49
SIM↑0.7870.6750.7840.7900.7830.8110.799

† 需要参考文本。


致谢

Confucius4-TTS 基于以下开源项目构建:

  • Qwen3-TTS — 说话人编码器(ECAPA-TDNN)及文本嵌入投影层架构
  • CosyVoice — 文本归一化流程
  • Amphion / MaskGCT — 语义编解码器实现
  • w2v-BERT 2.0 — 语义特征提取与说话人条件化
  • Seed-VC — Flow matching 架构参考
  • BigVGAN — 高保真神经声码器,用于梅尔频谱图到波形的合成

引用

如果您在研究或项目中使用了 Confucius4-TTS,请考虑引用:

@misc{confucius4tts_2026,
  title        = {Confucius4-TTS: A Multilingual and Cross-Lingual Zero-Shot TTS Engine},
  author       = {{NetEase Youdao}},
  year         = {2026},
  howpublished = {\url{https://github.com/netease-youdao/Confucius4-TTS}},
  note         = {GitHub repository}
}