🚀 大规模多语言语音(MMS):旁遮普语(东部)文本转语音
本仓库包含旁遮普语(东部,pan)的文本转语音(TTS)模型检查点。
该模型是Facebook 大规模多语言语音 项目的一部分,旨在为多种语言提供语音技术。你可以在 MMS语言覆盖概述 中找到更多关于支持语言及其ISO 639 - 3代码的详细信息,并在Hugging Face Hub上查看所有MMS - TTS检查点:[facebook/mms - tts](https://huggingface.co/models?sort=trending&search=facebook%2Fmms - tts)。
从🤗 Transformers库的4.33版本起,MMS - TTS就可以使用了。
🚀 快速开始
MMS - TTS从🤗 Transformers库的4.33版本起可用。若要使用此检查点,首先需安装该库的最新版本:
pip install --upgrade transformers accelerate
然后,使用以下代码片段进行推理:
from transformers import VitsModel, AutoTokenizer
import torch
model = VitsModel.from_pretrained("facebook/mms-tts-pan")
tokenizer = AutoTokenizer.from_pretrained("facebook/mms-tts-pan")
text = "some example text in the Punjabi, Eastern language"
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)
✨ 主要特性
- 本模型是大规模多语言语音(MMS)项目的一部分,支持旁遮普语(东部)的文本转语音功能。
- 基于VITS架构,这是一种端到端的语音合成模型,能够根据输入的文本序列预测语音波形。
- 模型包含随机时长预测器,可从相同的输入文本合成不同节奏的语音。
- 模型具有非确定性,需要固定种子才能生成相同的语音波形。
📦 安装指南
若要使用此检查点,首先需安装🤗 Transformers库的最新版本:
pip install --upgrade transformers accelerate
💻 使用示例
基础用法
from transformers import VitsModel, AutoTokenizer
import torch
model = VitsModel.from_pretrained("facebook/mms-tts-pan")
tokenizer = AutoTokenizer.from_pretrained("facebook/mms-tts-pan")
text = "some example text in the Punjabi, Eastern language"
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)
📚 详细文档
模型详情
VITS(基于对抗学习的端到端文本转语音变分推理)是一种端到端的语音合成模型,它能根据输入的文本序列预测语音波形。它是一个条件变分自编码器(VAE),由后验编码器、解码器和条件先验组成。
基于流的模块会预测一组基于频谱图的声学特征,该模块由基于Transformer的文本编码器和多个耦合层组成。频谱图使用一组转置卷积层进行解码,与HiFi - GAN声码器的风格非常相似。考虑到文本转语音问题的一对多性质,即相同的文本输入可以有多种发音方式,该模型还包含一个随机时长预测器,这使得模型能够从相同的输入文本合成不同节奏的语音。
该模型通过结合变分下界和对抗训练产生的损失进行端到端训练。为了提高模型的表达能力,对条件先验分布应用了归一化流。在推理过程中,文本编码会根据时长预测模块进行上采样,然后通过流模块和HiFi - GAN解码器的级联映射到波形。由于时长预测器的随机性,该模型具有非确定性,因此需要固定种子才能生成相同的语音波形。
对于MMS项目,会为每种语言单独训练一个VITS检查点。
🔧 技术细节
- 模型架构:VITS是一种条件变分自编码器(VAE),包含后验编码器、解码器和条件先验。基于流的模块由基于Transformer的文本编码器和多个耦合层组成,用于预测声学特征。
- 训练方法:模型通过结合变分下界和对抗训练产生的损失进行端到端训练。为提高表达能力,对条件先验分布应用了归一化流。
- 推理过程:文本编码根据时长预测模块进行上采样,然后通过流模块和HiFi - GAN解码器的级联映射到波形。由于时长预测器的随机性,模型具有非确定性,需要固定种子才能生成相同的语音波形。
📄 许可证
该模型遵循 CC - BY - NC 4.0 许可证。
📚 引用信息
此模型由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}
}