🚀 大規模多語言語音 (MMS):提格雷尼亞語文本轉語音
本倉庫包含提格雷尼亞語(tir) 的文本轉語音(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-tir")
tokenizer = AutoTokenizer.from_pretrained("facebook/mms-tts-tir")
text = "some example text in the Tigrigna 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)
⚠️ 重要提示
對於此檢查點,輸入文本必須先使用 uroman 工具轉換為拉丁字母。
✨ 主要特性
本項目基於 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)模型,它是一種端到端的語音合成模型,可根據輸入的文本序列預測語音波形。其具有以下特點:
- 採用條件變分自編碼器(VAE),由後驗編碼器、解碼器和條件先驗組成。
- 基於流的模塊預測一組基於頻譜圖的聲學特徵,該模塊由基於 Transformer 的文本編碼器和多個耦合層組成。
- 頻譜圖使用一組轉置卷積層進行解碼,風格類似於 HiFi - GAN 聲碼器。
- 包含隨機持續時間預測器,允許模型從相同的輸入文本合成具有不同節奏的語音。
- 模型通過變分下界和對抗訓練的損失組合進行端到端訓練。
- 為提高模型的表達能力,對條件先驗分佈應用了歸一化流。
- 由於持續時間預測器的隨機性,模型具有非確定性,因此需要固定種子才能生成相同的語音波形。
📦 安裝指南
要使用此檢查點,需先安裝 🤗 Transformers 庫的最新版本:
pip install --upgrade transformers accelerate
💻 使用示例
基礎用法
from transformers import VitsModel, AutoTokenizer
import torch
model = VitsModel.from_pretrained("facebook/mms-tts-tir")
tokenizer = AutoTokenizer.from_pretrained("facebook/mms-tts-tir")
text = "some example text in the Tigrigna 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 聲碼器。由於文本轉語音問題的一對多性質,即相同的文本輸入可以有多種發音方式,模型還包含一個隨機持續時間預測器,允許模型從相同的輸入文本合成具有不同節奏的語音。
模型通過變分下界和對抗訓練的損失組合進行端到端訓練。為提高模型的表達能力,對條件先驗分佈應用了歸一化流。在推理過程中,文本編碼根據持續時間預測模塊進行上採樣,然後通過流模塊和解碼器的級聯映射到波形。由於持續時間預測器的隨機性,模型具有非確定性,因此需要固定種子才能生成相同的語音波形。對於 MMS 項目,為每種語言單獨訓練一個 VITS 檢查點。
📄 許可證
該模型採用 CC - BY - NC 4.0 許可證。
📚 詳細文檔
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}
}