license: cc-by-nc-4.0
tags:
- mms
- vits
pipeline_tag: text-to-speech
大规模多语言语音(MMS):高棉语文本转语音
本仓库包含**高棉语(khm)**的文本转语音(TTS)模型检查点。
该模型隶属于Facebook的大规模多语言语音项目,旨在为多种语言提供语音技术支持。您可以在MMS语言覆盖概览中查看支持的语言及其ISO 639-3代码,并在Hugging Face Hub上找到所有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声码器。考虑到TTS问题的一对多特性(同一文本输入可以有多种发音方式),模型还包含一个随机时长预测器,使得模型能够根据相同输入文本合成不同节奏的语音。
模型通过结合变分下界和对抗训练的损失函数进行端到端训练。为了提高模型的表达能力,归一化流被应用于条件先验分布。在推理过程中,文本编码根据时长预测模块进行上采样,然后通过流模块和HiFi-GAN解码器的级联映射为波形。由于时长预测器的随机性,模型是非确定性的,因此需要固定种子才能生成相同的语音波形。
在MMS项目中,每种语言都训练了独立的VITS检查点。
使用方法
MMS-TTS自🤗 Transformers库4.33版本起可用。使用本检查点前,请先安装最新版本的库:
pip install --upgrade transformers accelerate
然后通过以下代码片段运行推理:
from transformers import VitsModel, AutoTokenizer
import torch
model = VitsModel.from_pretrained("facebook/mms-tts-khm")
tokenizer = AutoTokenizer.from_pretrained("facebook/mms-tts-khm")
text = "高棉语示例文本"
inputs = tokenizer(text, return_tensors="pt")
with torch.no_grad():
output = model(**inputs).waveform
生成的波形可以保存为.wav
文件:
import scipy
scipy.io.wavfile.write("techno.wav", rate=model.config.sampling_rate, data=output)
或在Jupyter Notebook/Google Colab中播放:
from IPython.display import Audio
Audio(output, rate=model.config.sampling_rate)
BibTex引用
本模型由Meta AI的Vineel Pratap等人开发。如果您使用该模型,请引用MMS论文:
@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许可证授权。