language:
- ca
tags:
- matcha-tts
- 声学建模
- 语音
- 多说话人
pipeline_tag: 文本转语音
datasets:
- projecte-aina/festcat_trimmed_denoised
- projecte-aina/openslr-slr69-ca-trimmed-denoised
license: apache-2.0
🍵 Matxa-TTS 加泰罗尼亚语多说话人模型
目录
点击展开
模型描述
🍵 Matxa-TTS 基于 Matcha-TTS,这是一种为快速声学建模设计的编码器-解码器架构。
编码器部分包含文本编码器和音素时长预测模块,共同预测平均声学特征。
解码器采用受Grad-TTS启发的U-Net主干结构(基于Transformer架构),通过将2D CNN替换为1D CNN,显著降低了内存消耗并实现了快速合成。
Matxa-TTS 是通过最优传输条件流匹配(OT-CFM)训练的非自回归模型,其基于ODE的解码器能以比分数匹配训练模型更少的合成步骤生成高质量输出。
预期用途与限制
本模型旨在作为加泰罗尼亚语多说话人文本转语音系统的声学特征生成器。由于使用加泰罗尼亚语音素器进行微调,若用于其他语言,其输出经语音波形映射后可能无法生成可理解的样本。
样本质量可能因说话人而异,这既源于模型对特定频率学习的敏感性,也与各说话人样本质量有关。
快速开始指南
安装
本模型训练使用了含加泰罗尼亚语音素器的开源软件espeak-ng,相关版本可在此处获取。
创建虚拟环境:
python -m venv /路径/至/venv
source /路径/至/venv/bin/activate
编译带加泰罗尼亚语音素器的espeak-ng:
git clone https://github.com/projecte-aina/espeak-ng.git
export PYTHON=/路径/至/env/<环境名>/bin/python
cd /路径/至/espeak-ng
./autogen.sh
./configure --prefix=/路径/至/espeak-ng
make
make install
pip cache purge
pip install mecab-python3
pip install unidic-lite
克隆仓库:
git clone -b dev-cat https://github.com/langtech-bsc/Matcha-TTS.git
cd Matcha-TTS
源码安装:
pip install -e .
推理
PyTorch版本
语音端到端推理需结合加泰罗尼亚语Matxa-TTS,模型将从HF Hub远程加载。
设置环境变量:
export PYTHON=/路径/至/venv/bin/python
export ESPEAK_DATA_PATH=/路径/至/espeak-ng/espeak-ng-data
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/路径/至/espeak-ng/lib
export PATH="/路径/至/espeak-ng/bin:$PATH"
运行推理脚本:
cd Matcha-TTS
python3 matcha_vocos_inference.py --output_path=/输出路径 --text_input="Bon dia Manel, avui anem a la muntanya."
可调节语速(length_scale)和生成温度(temperature):
python3 matcha_vocos_inference.py --output_path=/输出路径 --text_input="Bon dia Manel, avui anem a la muntanya." --length_scale=0.8 --temperature=0.7
ONNX版本
我们也提供了模型的ONNX版本。
训练
完整检查点已发布以支持继续训练或微调,详见仓库说明。
训练详情
训练数据
模型基于2个加泰罗尼亚语数据集训练:
训练流程
加泰罗尼亚语Matcha-TTS 从英语多说话人检查点微调而来,原模型基于VCTK数据集训练。
嵌入层按加泰罗尼亚语说话人数量(47人)初始化,并保留原始超参数。
训练超参数
- 批量大小: 32 (双GPU)
- 学习率: 1e-4
- 说话人数: 47
- n_fft: 1024
- n_feats: 80
- 采样率: 22050
- hop_length: 256
- win_length: 1024
- f_min: 0
- f_max: 8000
- 数据统计:
- mel_mean: -6578195
- mel_std: 2.538758
- 样本数: 13340
评估
从第2399轮*验证获得的指标(注:微调从第1864轮开始,此前使用VCTK数据集训练):
- val_dur_loss_epoch: 0.38
- val_prior_loss_epoch: 0.97
- val_diff_loss_epoch: 2.195
引用
若此代码对您的研究有帮助,请引用:
@misc{mehta2024matchatts,
title={Matcha-TTS: A fast TTS architecture with conditional flow matching},
author={Shivam Mehta and Ruibo Tu and Jonas Beskow and Éva Székely and Gustav Eje Henter},
year={2024},
eprint={2309.03199},
archivePrefix={arXiv},
primaryClass={eess.AS}
}
附加信息
作者
巴塞罗那超级计算中心语言技术部。
联系方式
如需进一步信息,请发送邮件至langtech@bsc.es。
版权
版权所有(c) 2023 巴塞罗那超级计算中心语言技术部。
许可
Apache 2.0
资助
本项目由加泰罗尼亚政府通过Aina项目推动和资助。