DiaMoE-TTS:巨人网络联合清华大学开源的跨方言语音合成框架,支持 11 种方言与多语言兼容

原创 发布日期:
6

一、DiaMoE-TTS是什么?

DiaMoE-TTS是由巨人网络联合清华大学开发的开源多方言文本到语音(TTS)框架,旨在解决方言语音合成中数据稀缺、拼写不统一、语音差异复杂等核心问题。该框架基于F5-TTS架构扩展,通过统一国际音标(IPA)前端实现跨方言语音表示标准化,结合混合专家模型(MoE)建模方言差异,并采用低秩适配器(LoRA)实现新方言的快速适配。目前已支持11种方言及普通话,兼容多语言,提供完整的训练、推理工具链和预训练模型,可广泛应用于方言保护、教育、智能设备本地化等场景。

简单来说,DiaMoE-TTS就像一个“方言语音合成工厂”:输入任意方言文本,它能先将文本转换为统一的国际音标(IPA),再通过专门优化的模型生成自然的方言语音;无论是常见的粤语、上海话,还是小众的南京话、京剧念白,都能通过该框架实现合成,且支持快速扩展到新的方言。

DiaMoE-TTS:巨人网络联合清华大学开源的跨方言语音合成框架,支持 11 种方言与多语言兼容

二、功能特色

DiaMoE-TTS的核心优势在于“标准化、高效化、可扩展”,具体功能特色如下:

1. 统一IPA前端:解决方言表示歧义

方言最大的痛点之一是“拼写不统一”。例如,粤语“你好”可写作“雷猴”“nei hou”等多种形式,传统TTS需为每种拼写单独适配,成本极高。DiaMoE-TTS创新性地引入“统一IPA前端”,将所有方言文本转换为国际音标(IPA)——一种全球通用的语音标注系统,包含442个语音单位(涵盖元音、辅音、声调等),彻底消除拼写差异带来的干扰。

例如:

  • 普通话“你好”→ IPA标注“nɪː xɑʊ”

  • 粤语“你好”→ IPA标注“nei hou”

  • 上海话“你好”→ IPA标注“nɪ ɦɔ”

通过IPA标准化,不同方言的语音特征得以统一表示,模型只需学习“IPA到语音”的映射,无需关注文本拼写形式,大幅降低了跨方言适配难度。

2. 多方言支持:覆盖11种方言,兼容多语言

目前,DiaMoE-TTS已验证支持11种方言及普通话,包括:

  • 北方方言:北京话、东北话

  • 吴方言:上海话、苏州话

  • 粤方言:广州话、香港粤语

  • 西南官话:成都话、重庆话

  • 其他:南京话、闽南语(厦门腔)、客家话(梅州腔)

此外,框架通过IPA的通用性,已验证对英语、法语、德语等欧洲语言的兼容性,未来可轻松扩展至更多语言。表1展示了部分方言的合成效果特点:

方言 语音特点 合成效果优势
粤语 九声调、入声明显 声调准确,入声短促感自然
上海话 浊辅音丰富、连读现象多 连读处理流畅,浊辅音清晰
成都话 声调平缓、儿化音少 语调柔和,地域特色突出
京剧念白 韵律夸张、咬字独特 保留戏曲腔韵,贴合传统表演

3. MoE架构:用“专家分工”建模方言差异

不同方言的语音规律差异显著(如声调数量、元音发音位置),传统单模型需“记住”所有方言特征,容易出现“混淆”(如把粤语声调读成普通话)。DiaMoE-TTS引入混合专家模型(MoE),让模型像“多个专家分工合作”:

  • 每个“专家”专注于1-2种方言的语音特征(如“粤语专家”擅长处理九声调,“吴语专家”专注浊辅音);

  • 输入文本经IPA转换后,模型会根据方言类型自动“调用”对应专家,并融合多个相关专家的输出,生成更精准的语音。

这种架构既避免了单模型的“记忆负担”,又提升了方言特征的建模精度,实验显示其合成自然度较传统单模型提升15%-20%。

4. LoRA适配:新方言快速迁移,数据需求低

对于缺乏数据的小众方言(如温州话、福州话),DiaMoE-TTS采用低秩适配器(LoRA)技术实现“参数高效微调”:无需重新训练整个模型,只需在基础模型上添加少量适配参数(约为原模型的5%),用几百条语音数据即可让模型学会新方言。

例如,为京剧念白适配时,开发者仅用300条京剧念白音频,通过LoRA微调20小时,就实现了符合戏曲韵律的合成效果,大幅降低了新方言接入的门槛。

5. 完整工具链:从训练到部署一站式支持

框架提供全流程工具,满足不同需求:

  • 数据处理:含方言文本分词、注音、IPA转换的自动化脚本;

  • 训练工具:基于accelerate库的分布式训练脚本,支持单卡/多卡训练;

  • 推理工具:批量合成脚本(支持CLI调用)和Gradio交互式界面,可直接生成音频文件;

  • 预训练模型:在Hugging Face提供基础模型和11种方言的LoRA权重,开箱即用。

DiaMoE-TTS:巨人网络联合清华大学开源的跨方言语音合成框架,支持 11 种方言与多语言兼容

三、技术细节

DiaMoE-TTS的技术架构可分为“前端处理”和“后端模型”两部分,整体流程为:文本输入→IPA标准化→MoE模型合成→语音输出

1. 前端处理:从文本到IPA的转换流程

前端是实现“跨方言统一”的核心,负责将任意方言文本转换为IPA标注,流程分为3步:

  • 步骤1:方言文本分词与清洗
    针对不同方言的特点进行预处理:如粤语使用“结巴分词(粤语版)”,上海话采用“吴语分词工具”,去除文本中的标点、冗余符号,确保输入规范。

  • 步骤2:方言注音
    将分词后的文本转换为方言特有的拼音(如粤语用Jyutping,闽南语用POJ),依赖于集成的方言注音库(如PaddleSpeech的普通话拼音模块、自定义的粤语注音工具)。

  • 步骤3:拼音→IPA映射
    通过预定义的映射表(覆盖11种方言的拼音-IPA对应关系),将方言拼音转换为统一的IPA标注。例如,粤语“si1”(诗)对应IPA“siː”,上海话“sɪ”(斯)对应IPA“sɪ”。

为提升准确性,前端还包含“儿化音修复”“声调修正”等模块(如普通话“花儿”→ IPA“xuaɻ”,而非直接拼接“hua”+“er”)。

2. 后端模型:基于F5-TTS的MoE扩展

后端模型在F5-TTS基础上扩展,保留其“轻量、高自然度”的特点,同时加入MoE和LoRA模块,结构如下:

  • 编码器(Encoder):将IPA序列转换为语义特征向量,采用Transformer结构,捕捉语音单位的上下文关系(如“声母+韵母”的组合规律)。

  • MoE解码器(MoE Decoder):核心创新点,包含8个“专家网络”(Expert)和1个“门控网络”(Gating)。门控网络根据输入的IPA特征和方言类型(如“粤语”标签),计算每个专家的权重(如给“粤语专家”分配0.8权重,“通用专家”分配0.2),再融合专家输出得到最终语音特征。

  • 声码器(Vocoder):将解码器输出的语音特征转换为音频波形,采用HiFi-GAN,保证合成语音的清晰度和自然度。

  • LoRA适配器:在编码器和解码器的Transformer层中插入低秩矩阵,微调时仅更新这些矩阵参数,实现新方言的快速适配(秩设置为32,平衡效果与效率)。

3. 训练流程:分阶段优化

DiaMoE-TTS的训练分为“基础模型预训练”和“方言LoRA微调”两阶段:

  • 预训练阶段:用10万条多方言混合数据(含普通话、粤语、上海话等)训练基础模型,让模型学习“IPA→语音”的通用规律,MoE的专家在此阶段初步分化出方言倾向性。

  • 微调阶段:针对单一方言,用1-5千条数据(视方言稀缺程度)微调LoRA参数,强化模型对该方言细节(如独特声调、韵律)的捕捉。例如,训练南京话时,重点优化“入声韵尾”的发音准确性。

四、应用场景

DiaMoE-TTS的多方言支持和低门槛特性,使其在多个领域具有实用价值:

1. 方言文化保护与数字化

许多方言因缺乏标准化记录正在消失,DiaMoE-TTS可将方言文本(如民间故事、谚语)转换为语音,建立“方言语音库”。例如:

  • 非遗保护机构可利用框架合成客家山歌念白,保存传统唱腔;

  • 地方文化馆可将方言童谣文本转换为音频,供公众在线收听。

2. 方言教育与学习

针对方言学习者(尤其是年轻一代),提供“文本-语音”对照工具:

  • 教师可输入上海话课文,生成标准发音音频,辅助课堂教学;

  • 开发方言学习APP,用户输入生词(如粤语“食饭”),实时获取发音和IPA标注,理解语音构成。

3. 智能设备本地化

让智能音箱、导航系统等设备支持方言交互,提升用户体验:

  • 方言地区的智能音箱可通过框架实现“用粤语播报天气”“用成都话讲笑话”;

  • 车载导航可切换为闽南语语音,方便老年用户使用。

4. 内容创作与媒体生产

为视频、广播等内容提供方言配音,降低制作成本:

  • 短视频创作者可输入方言台词(如东北话搞笑脚本),快速生成配音,无需专业配音员;

  • 地方电视台可利用框架合成方言新闻播报音频,提升节目贴近性。

DiaMoE-TTS:巨人网络联合清华大学开源的跨方言语音合成框架,支持 11 种方言与多语言兼容

五、使用方法

DiaMoE-TTS提供完整的使用流程,涵盖环境搭建、模型下载、训练、推理等步骤,即使是非专业开发者也能快速上手。

1. 环境搭建

步骤1:克隆仓库

git clone https://github.com/GiantAILab/DiaMoE-TTS.git
cd DiaMoE-TTS

步骤2:创建虚拟环境

推荐使用Python 3.10,通过conda管理环境:

conda create -n diamoetts python=3.10
conda activate diamoetts

步骤3:安装依赖

进入核心代码目录,安装必要库(含PyTorch、transformers、accelerate等):

cd diamoe_tts
pip install -e . # 安装项目核心依赖
pip install gradio # 如需使用Gradio界面,额外安装

2. 模型与数据准备

预训练模型下载

基础模型和方言LoRA权重已发布在Hugging Face,可直接下载:

# 安装huggingface-cli
pip install huggingface-hub
# 下载基础模型
huggingface-cli download RICHARD12369/DiaMoE_TTS MLPexpert_base_model --local-dir ./models/base
# 下载粤语LoRA模型(示例)
huggingface-cli download RICHARD12369/DiaMoE_TTS lora_cantonese --local-dir ./models/lora/cantonese

数据集准备

训练需方言文本-音频对数据,项目提供标准化IPA训练集(含11种方言):

huggingface-cli download RICHARD12369/DiaMoE-TTS_IPA_Trainingset --local-dir ./data/ipa_dataset

3. 模型训练

基础模型预训练(可选,适合进阶用户)

如需训练基础模型,使用accelerate启动分布式训练:

cd diamoe_tts
accelerate launch --config_file default_config.yaml \
 src/f5_tts/train/train.py \
 --config-name diamoetts.yaml \
 --data_path ../data/ipa_dataset \ # 数据集路径
 --output_dir ../models/base # 模型保存路径

方言LoRA微调(推荐,适合快速适配)

以微调南京话为例,仅需指定LoRA参数和方言数据:

accelerate launch --config_file default_config.yaml \
 src/f5_tts/train/train_lora.py \
 --base_model ../models/base \ # 基础模型路径
 --lora_config src/f5_tts/configs/lora.yaml \ # LoRA配置
 --data_path ../data/ipa_dataset/nanjing \ # 南京话数据
 --output_dir ../models/lora/nanjing # LoRA权重保存路径

4. 语音合成(推理)

批量合成(CLI方式)

通过脚本批量处理文本文件,生成音频:

# 进入推理目录
cd diamoe_tts/src/f5_tts/infer
# 编辑input.txt,每行输入一句方言文本(如粤语“你好啊,今日天气好靓”)
# 执行批量合成(指定方言为粤语,使用LoRA模型)
bash batch_infer.sh \
 --text_path input.txt \
 --dialect cantonese \
 --base_model ../../../models/base \
 --lora_model ../../../models/lora/cantonese \
 --output_dir ./output # 音频保存目录

交互式合成(Gradio界面)

启动可视化界面,实时输入文本生成语音:

# 返回项目根目录
cd ../../../../
python app_gradio.py


浏览器访问本地地址(通常为http://127.0.0.1:7860),选择方言、输入文本,点击“合成”即可播放或下载音频。

5. IPA前端单独使用(可选)

如需单独获取文本的IPA标注(用于研究或数据处理):

cd dialect_frontend
# 处理上海话文本(input.txt为输入,output.txt为输出)
bash single_frontend.sh 1-6 shanghai input.txt output.txt

六、常见问题解答(FAQ)

DiaMoE-TTS支持哪些操作系统?

支持Linux(推荐Ubuntu 20.04+)、Windows(需安装WSL2或适配的PyTorch版本)、macOS(M系列芯片需使用conda-forge的PyTorch)。

合成语音的质量与数据量有什么关系?

数据量越多,合成效果越好。对于常见方言(如粤语),1万条数据可达到自然度较高的效果;小众方言用500条数据通过LoRA微调,可满足基本使用需求。

推理时需要高性能GPU吗?

基础模型推理(单条文本)可在CPU上运行(约2-5秒/句),GPU(如RTX 3090)可加速至0.5秒/句,批量合成建议使用GPU。

如何添加新的方言?

步骤:① 准备该方言的文本-音频数据;② 制作方言拼音→IPA的映射表;③ 用LoRA微调基础模型;④ 扩展前端脚本支持该方言的分词与注音。

合成的语音有版权限制吗?

项目基于MIT许可证开源,使用预训练模型合成的语音可用于商业或非商业场景,无需额外授权(但需遵守数据来源的版权要求)。

与其他方言TTS工具(如WeNet、PaddleSpeech)相比,DiaMoE-TTS有何优势?

其他工具多针对单一方言优化,DiaMoE-TTS通过IPA+MoE实现“一站式多方言支持”,且LoRA适配成本更低,更适合快速扩展新方言。

七、相关链接

八、总结

DiaMoE-TTS作为一款开源多方言TTS框架,通过统一IPA前端解决了方言表示歧义问题,借助MoE架构精准建模方言差异,结合LoRA实现低数据量下的快速适配,为方言语音合成提供了高效、可扩展的解决方案。其支持11种方言及多语言兼容,提供从训练到推理的完整工具链和预训练模型,降低了方言TTS的开发门槛,在文化保护、教育、智能设备等领域具有重要应用价值,同时为开源社区贡献了可复用的多方言语音合成技术方案。

打赏
THE END
作者头像
AI铺子
关注ai行业发展,专注ai工具推荐