🎤
(WIP)【2023年11月時点】日本語TTSモデルで高品質なOSSまとめ
※WIPです。ライブラリを触りながら今後更新するかもしれません。気づいたことがあればコメントしてくださいると嬉しいです。
目的
生成AI技術の発展に伴い、TTS界隈でも高品質なOSSのTTSモデルがチラホラ登場しているので整理する
スコープ
以下の条件に当てはまるものを対象とする
- 日本語の音声の合成が可能なもの。
- OSSで事前学習済みモデルが配布されているもの。
- 深層学習を利用した高性能なもの。中でも(ざっくり)2020年以降のものを対象とする。
一覧
VALL-E X (unofficial)
- 使い方: https://github.com/Plachtaa/VALL-E-X
- デモ: https://huggingface.co/spaces/Plachta/VALL-E-X
- 手法: microsoftの論文をベースにした非公式の実装
- 訓練コード: https://github.com/lifeiteng/vall-e
- 事前学習済みモデルを公開しているレポジトリとは別
- 訓練データ: https://plachtaa.github.io
- 他言語対応: 日本語、英語、中国語
- 話者制御性: 3秒程度のsource audioにより制御可能
- モデルサイズ: おそらく12層のtransformer https://lifeiteng.github.io/valle/index.html
- 上記のlinkはlifeitengの実装であるため、Plachtaaの実装と同じとは限らない
- Vocoderを除くTransformer部分で300M(参考: モデルカード)
- 精度感: 日本語の生成では漢字の読みを間違えたりする
- ライセンス: MIT license
- その他の特徴:
- Barkよりも日本語の性能がよく、生成が4倍高速であると主張している
Bark (by Suno-AI)
- 使い方: https://github.com/suno-ai/bark
- デモ: https://huggingface.co/spaces/suno/bark
- 手法: ほぼVALL-Eと同じ、decoder onlyのtransformer
- 訓練コード: なし
- 訓練データ: 非公開
- 他言語対応: 日本語含む13言語
- 話者制御性: 3秒程度のsource audioにより制御可能。100名以上の話者のpresetあり。
- モデルサイズ:
- full modelはVRAMを12GB消費するらしい(small modelあり)
- モデルカード: https://github.com/suno-ai/bark/blob/main/model-card.md
- 精度感: 日本語の生成では漢字の読みを間違えたりする
- ライセンス: MIT license
- MITライセンスだが、「より大規模なモデルについては個別にコンタクトせよ」とのコメントあり。
- その他の特徴:
- 高性能なGPUを使えばRTFが1(参考: https://github.com/suno-ai/bark#️-hardware-and-inference-speed)
- VALL-Eと同様に、GPT-likeにtext, audioでpromptを与えることができる他言語のモデル。
VITS (in ESPNet)
- 使い方: https://github.com/espnet/espnet
- 事前学習モデルはいくつか存在する: https://huggingface.co/espnet
- デモ: なし
- 上記のHuggingFaceからデモを触ることができるが、エラーが出る
- 手法: VITS
- VAE + Normalizing Flow + GAN
- 訓練コード: あり(ESPNet)
- 訓練データ: 事前学習モデルによる
- JVS, JSUTなど
- 他言語対応: なし
- 訓練コード自体は任意の言語で可能
- multi-lingualで学習している事前学習モデルはおそらく存在しない
- 話者制御性: ?
- 論文上はspeaker embeddingで制御している実験が存在する
- 英語でmulti-speaker対応っぽい事前学習モデルは存在する
- 日本語でmulti-speaker対応っぽい事前学習モデルは多分存在しない
- (ESPNetではないが)学習がうまくいったことの報告は存在する
- モデルサイズ: JVSの事前学習済みモデルで
100M
弱(discriminator込みなので実際はもっと小さい) - 精度感: JSUTの事前学習済みモデルはそこそこ良い
- ライセンス:
- コードは Apache-2.0 license
- モデル重みは、事前学習モデルごとに設定されている
- その他の特徴:
- モデルがBark等に比べて軽量なことは一つの利点
VITS-2 (unofficial)
- 使い方: https://github.com/tonnetonne814/unofficial-vits2-44100-Ja
- デモ:
- 手法:
- 訓練コード:
- 訓練データ:
- 他言語対応:
- 話者制御性:
- モデルサイズ:
- 精度感:
- ライセンス:
- その他の特徴:
Bert-VITS2
- 使い方: https://github.com/fishaudio/Bert-VITS2
- デモ:
- 手法:
- 訓練コード:
- 訓練データ:
- 他言語対応:
- 話者制御性:
- モデルサイズ:
- 精度感:
- ライセンス:
- その他の特徴:
Appendix: Template
- 使い方:
- デモ:
- 手法:
- 訓練コード:
- 訓練データ:
- 他言語対応:
- 話者制御性:
- モデルサイズ:
- 精度感:
- ライセンス:
- その他の特徴:
Discussion