🚀 大規模多言語音声 (MMS): アラビア語音声合成
このモデルはFacebookの大規模多言語音声 (Massively Multilingual Speech)プロジェクトの一部で、多様な言語に対応した音声技術を提供することを目的としています。サポートされる言語とそのISO 639 - 3コードの詳細については、MMS言語カバレッジ概要を参照できます。また、すべてのMMS - TTSチェックポイントはHugging Face Hubのfacebook/mms - ttsで確認できます。
MMS - TTSは🤗 Transformersライブラリのバージョン4.33以降で利用可能です。
🚀 クイックスタート
MMS - TTSを使い始めるには、まず必要なライブラリをインストールし、コードを実行して音声合成を行います。以下に手順を説明します。
✨ 主な機能
- 多言語対応: 大規模多言語音声 (MMS) プロジェクトの一部として、多様な言語に対応した音声合成が可能です。
- 非決定論的合成: 確率的な持続時間予測器を備えており、同じ入力テキストから異なるリズムの音声を合成できます。
📦 インストール
MMS - TTSは🤗 Transformersライブラリのバージョン4.33以降で利用可能です。このチェックポイントを使用するには、まずライブラリの最新バージョンをインストールします。
pip install --upgrade transformers accelerate
💻 使用例
基本的な使用法
from transformers import VitsModel, AutoTokenizer
import torch
model = VitsModel.from_pretrained("SeyedAli/Arabic-Speech-synthesis")
tokenizer = AutoTokenizer.from_pretrained("SeyedAli/Arabic-Speech-synthesis")
text = "some example text in the Arabic 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 (Variational Inference with adversarial learning for end - to - end Text - to - Speech) は、入力テキストシーケンスに基づいて音声波形を予測するエンドツーエンドの音声合成モデルです。これは、事後エンコーダ、デコーダ、および条件付き事前分布から構成される条件付き変分自己符号化器 (VAE) です。
Transformerベースのテキストエンコーダと複数の結合層から構成されるフローベースのモジュールによって、一連のスペクトログラムベースの音響特徴が予測されます。スペクトログラムは、HiFi - GANボコーダと同じスタイルで、転置畳み込み層のスタックを使用してデコードされます。同じテキスト入力が複数の方法で話される可能性があるTTS問題の1対多の性質に着想を得て、モデルには確率的な持続時間予測器も含まれており、同じ入力テキストから異なるリズムの音声を合成できるようになっています。
モデルは、変分下限と敵対的トレーニングから導出される損失の組み合わせを使用してエンドツーエンドでトレーニングされます。モデルの表現力を向上させるために、正規化フローが条件付き事前分布に適用されます。推論時には、テキストエンコーディングは持続時間予測モジュールに基づいてアップサンプリングされ、その後、フローモジュールとHiFi - GANデコーダのカスケードを使用して波形にマッピングされます。持続時間予測器の確率的な性質のため、モデルは非決定論的であり、同じ音声波形を生成するには固定シードが必要です。
MMSプロジェクトでは、各言語に対して個別のVITSチェックポイントがトレーニングされています。
🔧 技術詳細
- モデル構造: VITSは条件付き変分自己符号化器 (VAE) で、事後エンコーダ、デコーダ、条件付き事前分布から構成されます。
- トレーニング: 変分下限と敵対的トレーニングから導出される損失の組み合わせを使用してエンドツーエンドでトレーニングされます。
- 推論: テキストエンコーディングは持続時間予測モジュールに基づいてアップサンプリングされ、フローモジュールとHiFi - GANデコーダのカスケードを使用して波形にマッピングされます。
📄 ライセンス
このモデルは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}
}
@article{zhang2022visinger,
title={VISinger: Variational Inference with Adversarial Learning for End-to-End Singing Voice Synthesis},
author={Yongmao Zhang and Jian Cong and Heyang Xue and Lei Xie and Pengcheng Zhu and Mengxiao Bi},
journal={arXiv},
year={2022}
}