🚀 大規模多語言語音 (MMS):希臘語語音合成
本項目提供了希臘語(ell)的語音合成(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。
✨ 主要特性
VITS(基於對抗學習的變分推理端到端語音合成模型)是一種端到端的語音合成模型,它能根據輸入的文本序列生成語音波形。它是一個條件變分自編碼器(VAE),由後驗編碼器、解碼器和條件先驗組成。
基於流的模塊會預測一組基於頻譜圖的聲學特徵,該模塊由基於Transformer的文本編碼器和多個耦合層組成。頻譜圖通過一系列轉置卷積層進行解碼,與HiFi - GAN聲碼器的風格類似。考慮到語音合成問題中同一文本輸入可以有多種發音方式的一對多特性,該模型還包含一個隨機時長預測器,這使得模型能夠根據相同的輸入文本合成不同節奏的語音。
該模型通過結合變分下界和對抗訓練產生的損失進行端到端訓練。為了提高模型的表現力,對條件先驗分佈應用了歸一化流。在推理過程中,文本編碼會根據時長預測模塊進行上採樣,然後通過流模塊和HiFi - GAN解碼器的級聯映射到波形。由於時長預測器的隨機性,該模型具有非確定性,因此需要固定種子才能生成相同的語音波形。
在MMS項目中,每種語言都單獨訓練了一個VITS檢查點。
📦 安裝指南
從🤗 Transformers庫的4.33版本開始,即可使用MMS - TTS。要使用此檢查點,請先安裝最新版本的庫:
pip install --upgrade transformers accelerate
💻 使用示例
基礎用法
from transformers import VitsModel, AutoTokenizer
import torch
model = VitsModel.from_pretrained("facebook/mms-tts-ell")
tokenizer = AutoTokenizer.from_pretrained("facebook/mms-tts-ell")
text = "some example text in the Greek 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)
📚 詳細文檔
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 許可證。