🚀 大規模多言語音声 (MMS): カパンパンガ語のテキスト読み上げ
このリポジトリには、カパンパンガ語 (pam) のテキスト読み上げ (TTS) モデルのチェックポイントが含まれています。
このモデルは、Facebookの 大規模多言語音声 プロジェクトの一部で、多様な言語に対応した音声技術を提供することを目指しています。サポートされている言語とそのISO 639 - 3コードの詳細は、MMS言語カバレッジ概要 で確認でき、すべてのMMS - TTSチェックポイントはHugging Face Hubの facebook/mms - tts で見ることができます。
MMS - TTSは、🤗 Transformersライブラリのバージョン4.33以降で利用可能です。
🚀 クイックスタート
MMS - TTSは、🤗 Transformersライブラリのバージョン4.33以降で利用可能です。このチェックポイントを使用するには、まずライブラリの最新バージョンをインストールします。
pip install --upgrade transformers accelerate
次に、以下のコードスニペットで推論を実行します。
from transformers import VitsModel, AutoTokenizer
import torch
model = VitsModel.from_pretrained("facebook/mms-tts-pam")
tokenizer = AutoTokenizer.from_pretrained("facebook/mms-tts-pam")
text = "some example text in the Kapampangan 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)
✨ 主な機能
このモデルは、Facebookの大規模多言語音声 (MMS) プロジェクトの一部で、カパンパンガ語のテキスト読み上げを提供します。MMS - TTSは、🤗 Transformersライブラリのバージョン4.33以降で利用可能です。
📚 ドキュメント
モデルの詳細
VITS (Variational Inference with adversarial learning for end - to - end Text - to - Speech) は、入力テキストシーケンスに条件付けられた音声波形を予測するエンドツーエンドの音声合成モデルです。これは、事後エンコーダ、デコーダ、および条件付き事前分布から構成される条件付き変分オートエンコーダ (VAE) です。
Transformerベースのテキストエンコーダと複数の結合層から構成されるフローベースのモジュールによって、スペクトログラムベースの音響特徴量が予測されます。スペクトログラムは、HiFi - GANボコーダと同じスタイルで、転置畳み込み層のスタックを使用してデコードされます。同じテキスト入力を複数の方法で話すことができるTTS問題の1対多の性質に着想を得て、このモデルには確率的な持続時間予測器も含まれており、同じ入力テキストから異なるリズムの音声を合成することができます。
このモデルは、変分下限と敵対的トレーニングから導かれる損失の組み合わせを使用してエンドツーエンドでトレーニングされます。モデルの表現力を向上させるために、条件付き事前分布に正規化フローが適用されます。推論時には、持続時間予測モジュールに基づいてテキストエンコーディングがアップサンプリングされ、その後、フローモジュールとHiFi - GANデコーダのカスケードを使用して波形にマッピングされます。持続時間予測器の確率的な性質のため、このモデルは非決定的であり、同じ音声波形を生成するには固定シードが必要です。
MMSプロジェクトでは、各言語に対して個別のVITSチェックポイントがトレーニングされています。
🔧 技術詳細
VITSは、エンドツーエンドの音声合成モデルで、入力テキストシーケンスに基づいて音声波形を予測します。これは、条件付き変分オートエンコーダ (VAE) で、事後エンコーダ、デコーダ、および条件付き事前分布から構成されています。
フローベースのモジュールは、Transformerベースのテキストエンコーダと複数の結合層から構成され、スペクトログラムベースの音響特徴量を予測します。スペクトログラムは、転置畳み込み層のスタックを使用してデコードされます。
モデルには確率的な持続時間予測器が含まれており、同じ入力テキストから異なるリズムの音声を合成することができます。モデルは、変分下限と敵対的トレーニングから導かれる損失の組み合わせを使用してエンドツーエンドでトレーニングされます。
推論時には、持続時間予測モジュールに基づいてテキストエンコーディングがアップサンプリングされ、その後、フローモジュールとHiFi - GANデコーダのカスケードを使用して波形にマッピングされます。
📄 ライセンス
このモデルは、CC - BY - NC 4.0 ライセンスの下で提供されています。
💻 使用例
基本的な使用法
from transformers import VitsModel, AutoTokenizer
import torch
model = VitsModel.from_pretrained("facebook/mms-tts-pam")
tokenizer = AutoTokenizer.from_pretrained("facebook/mms-tts-pam")
text = "some example text in the Kapampangan language"
inputs = tokenizer(text, return_tensors="pt")
with torch.no_grad():
output = model(**inputs).waveform
高度な使用法
import scipy
scipy.io.wavfile.write("techno.wav", rate=model.config.sampling_rate, data=output)
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}
}