TTS - 🐸💬 - テキスト読み上げ用の深層学習ツールキットで、研究と生産で実戦テスト済み

(🐸💬 - a deep learning toolkit for Text-to-Speech, battle-tested in research and production)

Created at: 2020-05-20 23:45:28
Language: Python
License: MPL-2.0

🐸TTS は、高度なテキスト読み上げ生成用のライブラリです。最新の研究に基づいて構築されており、トレーニングの容易さ、速度、および品質の間で最適なトレードオフを達成するように設計されています。 🐸TTS には、トレーニング済みのモデル、データセットの品質を測定するためのツールが付属しており、製品や研究プロジェクトのために20 以上の言語で既に使用されています。

ギッター ライセンス PyPI バージョン 誓約 ダウンロード 土肥

Githubアクション Githubアクション Githubアクション Githubアクション Githubアクション Githubアクション Githubアクション Githubアクション Githubアクション ドキュメント

📰 申し込む🐸Coqui.aiニュースレター

📢 英語音声サンプルSoundCloudプレイリスト

📄 テキスト読み上げ論文集

💬質問する場所

質問やディスカッションには専用チャンネルをご利用ください。ヘルプは、より多くの人が恩恵を受けることができるように公開されている場合、はるかに価値があります。

タイプ プラットフォーム
🚨 バグレポート GitHub イシュー トラッカー
🎁 機能のリクエストとアイデア GitHub イシュー トラッカー
👩‍💻 使用上の質問 Github ディスカッション
🗯 全体会議 Github ディスカッションまたはGitter Room

🔗リンクとリソース

タイプ リンク
💼 ドキュメンテーション ドキュメントを読む
💾 インストール TTS/README.md
👩‍💻 貢献する CONTRIBUTING.md
📌 ロードマップ 主な開発計画
🚀 発売機種 TTS リリース実験モデル

🥇TTS パフォーマンス

下線部の「TTS*」と「Judy*」は🐸TTS モデル

特徴

  • Text2Speech タスク用の高性能ディープ ラーニング モデル。
    • Text2Spec モデル (Tacotron、Tacotron2、Glow-TTS、SpeedySpeech)。
    • スピーカーの埋め込みを効率的に計算するスピーカー エンコーダー。
    • ボコーダー モデル (MelGAN、Multiband-MelGAN、GAN-TTS、ParallelWaveGAN、WaveGrad、WaveRNN)
  • 高速で効率的なモデル トレーニング。
  • ターミナルと Tensorboard の詳細なトレーニング ログ。
  • マルチスピーカー TTS のサポート。
  • 効率的で、柔軟で、軽量ですが、完全な機能を備えています
    Trainer API
  • リリース済みですぐに使用できるモデル。
  • の下で Text2Speech データセットをキュレートするためのツール
    dataset_analysis
  • モデルを使用およびテストするためのユーティリティ。
  • 新しいアイデアの簡単な実装を可能にするモジュラー (ただし多すぎない) コード ベース。

実装モデル

テキストからスペクトログラムへ

  • タコトロン:
  • Tacotron2:
  • グロー-TTS:
  • Speedy-Speech:
  • アライン-TTS:
  • FastPitch:
  • FastSpeech:
  • SC-GlowTTS:

エンドツーエンド モデル

注意方法

  • ガイド付き注意:
  • 前方後方復号化:
  • Graves Attention:
  • ダブル デコーダーの一貫性:ブログ
  • 動的畳み込み注意:論文
  • アライメント ネットワーク:

スピーカーエンコーダー

ボコーダー

また、より多くのモデルの実装を支援することもできます。

TTS をインストールする

🐸TTS はpython >= 3.7, < 3.11を使用して Ubuntu 18.04 でテストされています。.

リリースされた音声で音声を合成することにのみ興味がある場合🐸TTS モデルでは、PyPI からのインストールが最も簡単なオプションです。

pip install TTS

モデルのコーディングまたはトレーニングを計画している場合は、クローンを作成します🐸TTS を使用してローカルにインストールします。

git clone https://github.com/coqui-ai/TTS
pip install -e .[all,dev,notebooks]  # Select the relevant extras

Ubuntu (Debian) を使用している場合は、次のコマンドを実行してインストールすることもできます。

$ make system-deps  # intended to be used on Ubuntu (Debian). Let us know if you have a different OS.
$ make install

Windows を使用している場合は、👑@GuyPaddock はここにインストール手順を書きました。

TTS を使用する

シングルスピーカーモデル

  • 提供されたモデルを一覧表示します。

    $ tts --list_models
    
  • モデル情報を取得します (tts_models と vocoder_models の両方について):

    • タイプ/名前によるクエリ: model_info_by_name は --list_models からの名前をそのまま使用します。

      $ tts --model_info_by_name "<model_type>/<language>/<dataset>/<model_name>"
      

      例えば:

      $ tts --model_info_by_name tts_models/tr/common-voice/glow-tts
      
      $ tts --model_info_by_name vocoder_models/en/ljspeech/hifigan_v2
      
    • タイプ/idx によるクエリ: model_query_idx は、--list_models からの対応する idx を使用します。

      $ tts --model_info_by_idx "<model_type>/<model_query_idx>"
      

      例えば:

      $ tts --model_info_by_idx tts_models/3 
      
  • デフォルト モデルで TTS を実行します。

    $ tts --text "Text for TTS" --out_path output/path/speech.wav
    
  • デフォルトのボコーダー モデルで TTS モデルを実行します。

    $ tts --text "Text for TTS" --model_name "<model_type>/<language>/<dataset>/<model_name>" --out_path output/path/speech.wav
    

    例えば:

    $ tts --text "Text for TTS" --model_name "tts_models/en/ljspeech/glow-tts" --out_path output/path/speech.wav
    
  • リストから特定の TTS およびボコーダー モデルで実行します。

    $ tts --text "Text for TTS" --model_name "<model_type>/<language>/<dataset>/<model_name>" --vocoder_name "<model_type>/<language>/<dataset>/<model_name>" --out_path output/path/speech.wav
    

    例えば:

    $ tts --text "Text for TTS" --model_name "tts_models/en/ljspeech/glow-tts" --vocoder_name "vocoder_models/en/ljspeech/univnet" --out_path output/path/speech.wav
    
  • 独自の TTS モデルを実行します (Griffin-Lim Vocoder を使用):

    $ tts --text "Text for TTS" --model_path path/to/model.pth --config_path path/to/config.json --out_path output/path/speech.wav
    
  • 独自の TTS およびボコーダー モデルを実行します。

    $ tts --text "Text for TTS" --model_path path/to/config.json --config_path path/to/model.pth --out_path output/path/speech.wav
        --vocoder_path path/to/vocoder.pth --vocoder_config_path path/to/vocoder_config.json
    

マルチスピーカーモデル

  • 利用可能なスピーカーを一覧表示し、その中から <speaker_id> として選択します。

    $ tts --model_name "<language>/<dataset>/<model_name>"  --list_speaker_idxs
    
  • マルチスピーカー TTS モデルをターゲット スピーカー ID で実行します。

    $ tts --text "Text for TTS." --out_path output/path/speech.wav --model_name "<language>/<dataset>/<model_name>"  --speaker_idx <speaker_id>
    
  • 独自のマルチスピーカー TTS モデルを実行します。

    $ tts --text "Text for TTS" --out_path output/path/speech.wav --model_path path/to/config.json --config_path path/to/model.pth --speakers_file_path path/to/speaker.json --speaker_idx <speaker_id>
    

ディレクトリ構造

|- notebooks/       (Jupyter Notebooks for model evaluation, parameter selection and data analysis.)
|- utils/           (common utilities.)
|- TTS
    |- bin/             (folder for all the executables.)
      |- train*.py                  (train your target model.)
      |- distribute.py              (train your TTS model using Multiple GPUs.)
      |- compute_statistics.py      (compute dataset statistics for normalization.)
      |- ...
    |- tts/             (text to speech models)
        |- layers/          (model layer definitions)
        |- models/          (model definitions)
        |- utils/           (model specific utilities.)
    |- speaker_encoder/ (Speaker Encoder models.)
        |- (same)
    |- vocoder/         (Vocoder models.)
        |- (same)