EchoraEchora
モデル一覧に戻る

MaskGCT:1つの学習手法で相反する2つのTTS課題を解決

2026年9月12日
•
約6分で読めます

テキストと録音を、聴ける作品に

ナレーション、ステム分離、カバー、効果音を、ブラウザだけで。

  • テキスト読み上げも、ボイスクローンも
  • ステムを分離、またはカバーを生成
  • 登録して試聴。聴いてから決められる
無料で作り始める

自己回帰型TTSモデルは継続時間を暗黙的にモデル化するため、堅牢性が損なわれやすく、出力が実際にどれだけ続くかを直接制御できません。非自己回帰型モデルは堅牢性の問題を解決しますが、従来は学習時にテキストと音声の明示的なアラインメント教師情報と音素レベルの継続時間予測を必要としていました。こうした追加機構そのものが自然さを損なうこともあります。CUHK-Shenzhenの研究者が開発し、Amphionツールキットを通じて公開したMaskGCTは、生成モデリングの別分野から取り入れた「マスクしてから予測する」という学習手法を使い、両方の問題を同時に回避するために作られました。

MaskGCTとは?

MaskGCT(Masked Generative Codec Transformer)は、完全な非自己回帰型でオープンソースのゼロショットTTSモデルです。2024年10月に公開され、その後ICLR 2025で発表されました。学習時にテキストと音声の間の明示的なアラインメント情報を必要とせず、音素レベルの継続時間予測も完全に廃しています。これは単なるチューニングの違いではなく、一般的な非自己回帰型TTSシステムからの本質的なアーキテクチャ上の転換です。音声、音楽、発話生成の研究向けオープンソースツールキットであるAmphionを通じて配布されています。

MaskGCTの機能上の利点

  • 学習時のアラインメント教師情報が不要であり、多くの非自己回帰型TTSシステムが依存する前処理と潜在的な障害点を一種類まるごと取り除きます。
  • 音素レベルの継続時間予測が不要であり、生成音声に不自然さを持ち込む可能性がある機構を回避します。
  • 出力全体の継続時間を明示的に制御でき、生成クリップを正確に何秒にするか指定できます。継続時間を暗黙的にしかモデル化しない自己回帰型モデルに対する、明確な機能上の優位性です。
  • わずか5秒の参照音声からゼロショット音声クローンが可能で、対象話者向けの追加学習は必要ありません。
  • 高速な並列生成により、トークンを順番に1つずつ生成するのではなく、テキストからセマンティックへの段階をわずか25〜50回の推論ステップで実行します。
  • 中核となるTTSを超えた汎用性も示されており、同じ基盤システムが言語横断吹き替え、音声変換、感情制御、発話内容編集にも検討されています。

マスク予測生成の実際の仕組み

MaskGCTの学習手法は、テキストのマスク言語モデリング(BERTなど)や画像のマスク生成モデリング(MaskGITなど)と概念的に似ており、ここでは離散音声トークンに適用されます。学習時には、周囲の文脈、条件、プロンプトに基づいて、マスクされたセマンティックトークンまたは音響トークンを予測することを学びます。推論時には、トークンを順番に生成するのではなく、反復的な並列デコードによって指定された長さの完全なトークン列を生成します。つまり、一度に1トークンずつではなく、複数回の処理を通じてマスク位置を埋めていきます。

実際のパイプラインは2段階で動作します。**テキストからセマンティック(T2S)の段階では、入力テキストとプロンプトのセマンティックトークンからセマンティックトークンを予測します。これらのセマンティックトークンは、音声自己教師あり学習モデルの埋め込みを量子化するために専用学習されたVQ-VAEで抽出されます。これは従来の研究で一般的だったk-meansクラスタリングではなく、コードブックが1つでも情報損失を最小限に抑えるために意図して選ばれた方法です。続くセマンティックから音響(S2A)**の段階では、これらのセマンティックトークンと追加の音響プロンプトを条件として、RVQベースの音声コーデックから得た音響トークンを予測します。コーデックの複数のトークン層にわたるレイヤー単位の生成により、細かな音響的ディテールを保ちます。

ベンチマーク結果

MaskGCTは、Emiliaデータセットに含まれる実環境の音声10万時間分で学習され、その内訳は英語と中国語が半分ずつです。報告によると、比較対象となった従来の最先端ゼロショットTTSシステムを品質、類似度、明瞭度で上回り、これらの指標で著者が人間レベルと表現する結果に達しました。強力な自己回帰型モデルとSoundStormを組み合わせたベースラインとの直接比較では、類似度と堅牢性の向上に加え、自然さにも測定可能な改善が見られました。CMOSの向上幅はLibriSpeech test-cleanで+0.12、SeedTTS test-enで+0.08、SeedTTS test-zhで+0.37です。堅牢性の優位性は、繰り返し語や早口言葉といった本当に難しいケースで特に顕著でした。これらはTTSの幻覚や単語抜けを引き起こす典型的な要因であり、この結果にはベンチマークの総合スコアを超えた実用的な意味があります。

MaskGCTの使い始め方

  1. Amphionリポジトリをクローンします。 git clone https://github.com/open-mmlab/Amphion.gitで、MaskGCTを構成要素の1つとして含むツールキット全体を取得できます。
  2. 提供されているスクリプトで環境を設定します。 bash ./models/tts/maskgct/env.shが、Amphionリポジトリ内でMaskGCT固有の環境設定を処理します。
  3. Hugging Faceから事前学習済みチェックポイントをダウンロードします。 hf_hub_download("amphion/MaskGCT", filename="semantic_codec/model.safetensors")を呼び出しの型として使い、必要な他の構成要素についても繰り返します。対象には、音響コーデックのエンコーダーとデコーダー、T2Sモデル、S2Aモデル(1レイヤー版と完全版の両方)が含まれます。
  4. 生成にはMaskGCT_Inference_Pipelineクラスを使います。 読み込んだセマンティックモデル、セマンティックコーデック、コーデックのエンコーダー/デコーダー、T2Sモデル、S2Aモデルを指定してインスタンス化し、プロンプト音声のパス、プロンプトテキスト、対象テキスト、入力元/出力先の言語コードを渡して.maskgct_inference()を呼び出します。
  5. 正確な出力時間が必要な場合は、target_lenを明示的に設定します。 秒単位の具体的な値を渡すと生成時間を直接制御でき、Noneのままにすると簡単な継続時間推定ルールにフォールバックします。
  6. 独自パイプラインをスクリプト化する前に対話形式でモデルを試したい場合は、Jupyter notebook、Gradioインターフェース、Hugging Face Spaceデモを利用します。

より良い結果を得るためのヒント

  • タイミングが重要な場合は、target_lenを意識して使います。 これは自己回帰型モデルに対するMaskGCTの本質的な構造上の利点の1つです。動画ナレーションや決められた枠への吹き替えなど、正確な継続時間が「あればよい機能」ではなく実際の制約となる用途で活用してください。
  • 整った文だけでなく、本当に難しいテキストでテストします。 MaskGCTの堅牢性の優位性は、繰り返し語や早口言葉のような内容で最も明確に現れます。自分の用途において他の選択肢と比較するうえでも、これが最も有益な評価方法です。
  • 最低5秒間の参照クリップ全体をクリーンに保ちます。 クローン品質は参照から抽出されるセマンティックトークンと音響トークンに左右されるため、5秒以上のクリアな録音は、それより短いサンプルやノイズの多いサンプルより良い結果をもたらします。

MaskGCTと他の非自己回帰型TTSモデルの比較

MaskGCTF5-TTSE2 TTS
中核アプローチマスク予測、2段階のセマンティック/音響トークンDiffusion Transformer + フローマッチングフローマッチング、フラットなU-Net Transformer
アラインメント教師情報不要不要不要
明示的な継続時間制御target_lenパラメータで可能専用の継続時間モデルなし専用の継続時間モデルなし
クローン用の参照クリップ約5秒約5〜15秒同程度
言語6言語(英語、中国語、韓国語、日本語、フランス語、ドイツ語)主に英語向け英語向け

MaskGCT独自の立ち位置は、アラインメントも継続時間予測も使わない学習と、出力長を真に明示制御する機能を組み合わせている点です。この組み合わせは、MaskGCTが間に位置する自己回帰型と一般的な非自己回帰型という両陣営の特定の弱点に直接対処します。

よくある質問

MaskGCTという名前の「マスク生成」とはどういう意味ですか?

モデルのマスク予測型の学習パラダイムを指します。概念的には、テキストのマスク言語モデリングやマスク生成画像モデルと似ています。モデルは周囲の文脈からマスクされたトークンを予測することを学び、推論時には反復的な並列デコードによって完全なシーケンスを生成します。

生成音声の長さを正確に制御できますか?

はい。target_lenパラメータで正確な出力時間を指定できます。継続時間を暗黙的にしかモデル化しない自己回帰型モデルには、この機能を直接利用できません。

MaskGCTで音声をクローンするには、どれくらいの参照音声が必要ですか?

最短5秒で、対象話者向けの追加学習は必要ありません。

MaskGCTはどの言語に対応していますか?

英語、中国語、韓国語、日本語、フランス語、ドイツ語の6言語です。

MaskGCTは商用利用や本番利用に対応できる状態ですか?

公式プロジェクトページでは研究デモ用と説明されています。本番環境への導入を検討する前に、自分のコンテンツで十分にテストし、現在のライセンス条件を確認してください。

参照音声から似た声の音声を生成

同様の目的を持つブラウザベースのワークフローには、Echoraの音声クローンを利用できます。自分の声、または使用について明示的な許可を得た参照音声をアップロードし、新しいテキストを入力すると、参照音声に似た新しい音声を生成できます。

音声クローンを作成 →