license: cc-by-nc-4.0
tags:
- 多语言语音合成系统
- 变分推理对抗学习语音模型
pipeline_tag: 文本转语音
大规模多语言语音项目(MMS):罗马尼亚语文本转语音模型
本仓库包含**罗马尼亚语(ron)**的文本转语音(TTS)模型检查点。
该模型隶属于Meta公司的大规模多语言语音计划,旨在为多种语言提供语音技术支持。您可以在MMS语言覆盖概览查看支持语言的ISO 639-3编码,或在Hugging Face平台访问所有MMS-TTS模型:facebook/mms-tts。
MMS-TTS模型已集成至🤗 Transformers库4.33及以上版本。
模型架构
VITS模型(Variational Inference with adversarial learning for end-to-end Text-to-Speech)是基于条件变分自编码器(VAE)的端到端语音合成系统,包含后验编码器、解码器和条件先验模块。其核心组件包括:
- 基于流模型的声学特征预测模块(由Transformer文本编码器和多级耦合层构成)
- 采用转置卷积堆栈的频谱图解码器(类似HiFi-GAN声码器结构)
- 随机时长预测器(解决文本到语音的一对多映射问题,支持相同文本生成不同节奏的语音)
模型通过变分下界损失和对抗损失的组合进行端到端训练。为提高表现力,在条件先验分布中应用了标准化流技术。推理阶段首先通过时长预测模块对文本编码进行上采样,再经由流模块和HiFi-GAN解码器生成波形。由于时长预测器的随机性,模型具有非确定性特征,需固定随机种子才能复现相同语音。
在MMS项目中,每种语言都训练了独立的VITS检查点。
使用指南
请确保安装最新版🤗 Transformers库:
pip install --upgrade transformers accelerate
使用示例代码进行推理:
from transformers import VitsModel, AutoTokenizer
import torch
model = VitsModel.from_pretrained("facebook/mms-tts-ron")
tokenizer = AutoTokenizer.from_pretrained("facebook/mms-tts-ron")
text = "罗马尼亚语示例文本"
inputs = tokenizer(text, return_tensors="pt")
with torch.no_grad():
output = model(**inputs).waveform
保存语音波形文件:
import scipy
scipy.io.wavfile.write("output.wav", rate=model.config.sampling_rate, data=output)
或在Jupyter环境中直接播放:
from IPython.display import Audio
Audio(output, rate=model.config.sampling_rate)
文献引用
该模型由Meta AI的Vineel Pratap团队开发,建议引用以下论文:
@article{pratap2023mms,
title={Scaling Speech Technology to 1,000+ Languages},
author={Vineel Pratap and Andros Tjandra and Bowen Shi and Paden Tomasello and Arun Babu and Sayani Kundu and Ali Elkahky and Zhaoheng Ni and Apoorv Vyas and Maryam Fazel-Zarandi and Alexei Baevski and Yossi Adi and Xiaohui Zhang and Wei-Ning Hsu and Alexis Conneau and Michael Auli},
journal={arXiv},
year={2023}
}
许可协议
本模型采用CC-BY-NC 4.0知识共享许可。