🚀 VITS: エンドツーエンドテキストトゥスピーチの敵対的学習を用いた条件付き変分オートエンコーダ
VITSは、入力テキストシーケンスに基づいて音声波形を予測するエンドツーエンドの音声合成モデルです。これは、事後エンコーダ、デコーダ、および条件付き事前分布から構成される条件付き変分オートエンコーダ(VAE)です。このリポジトリには、LJ Speechデータセットで訓練された公式のVITSチェックポイントの重みが含まれています。
✨ 主な機能
VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)は、入力テキストシーケンスに基づいて音声波形を予測するエンドツーエンドの音声合成モデルです。これは、事後エンコーダ、デコーダ、および条件付き事前分布から構成される条件付き変分オートエンコーダ(VAE)です。
Transformerベースのテキストエンコーダと複数の結合層から構成されるフローベースのモジュールによって、スペクトログラムベースの一連の音響特徴が予測されます。スペクトログラムは、HiFi - GANボコーダと同じスタイルで、転置畳み込み層のスタックを使用してデコードされます。同じテキスト入力を複数の方法で話すことができるTTS問題の1対多の性質に着想を得て、このモデルには確率的持続時間予測器も含まれており、同じ入力テキストから異なるリズムの音声を合成することができます。
このモデルは、変分下限と敵対的学習から導かれる損失の組み合わせを用いてエンドツーエンドで訓練されます。モデルの表現力を向上させるために、条件付き事前分布に正規化フローが適用されます。推論時には、持続時間予測モジュールに基づいてテキストエンコーディングがアップサンプリングされ、その後、フローモジュールとHiFi - GANデコーダのカスケードを使用して波形にマッピングされます。持続時間予測器の確率的性質により、このモデルは非決定的であり、同じ音声波形を生成するには固定シードが必要です。
VITSモデルには2つのバリアントがあります。1つはLJ Speechデータセットで訓練されたもので、もう1つはVCTKデータセットで訓練されたものです。LJ Speechデータセットは、1人の話者の13,100個の短い音声クリップで構成され、総長は約24時間です。VCTKデータセットは、様々なアクセントを持つ109人のネイティブ英語話者が発話した約44,000個の短い音声クリップで構成され、音声クリップの総長は約44時間です。
チェックポイント |
訓練時間 |
話者数 |
[vits - ljs](https://huggingface.co/kakao - enterprise/vits - ljs) |
24 |
1 |
[vits - vctk](https://huggingface.co/kakao - enterprise/vits - vctk) |
44 |
109 |
📦 インストール
VITSは🤗 Transformersライブラリのバージョン4.33以降で利用可能です。このチェックポイントを使用するには、まずライブラリの最新バージョンをインストールしてください。
pip install --upgrade transformers accelerate
💻 使用例
基本的な使用法
from transformers import VitsModel, AutoTokenizer
import torch
model = VitsModel.from_pretrained("kakao-enterprise/vits-ljs")
tokenizer = AutoTokenizer.from_pretrained("kakao-enterprise/vits-ljs")
text = "Hey, it's Hugging Face on the phone"
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)
📚 ドキュメント
このモデルは、Kakao EnterpriseのJaehyeon Kimらによって開発されました。このモデルを使用する場合は、VITS論文を引用することを検討してください。
@inproceedings{kim2021conditional,
title={"Conditional Variational Autoencoder with Adversarial Learning for End-to-end Text-to-speech"},
author={Kim, Jaehyeon and Kong, Jungil and Son, Juhee},
booktitle={International Conference on Machine Learning},
pages={5530--5540},
year={2021},
organization={PMLR}
}
📄 ライセンス
このモデルはMITライセンスの下で提供されています。