NaturalSpeech:「人間レベル」を定義してから、その達成を主張したモデル
テキストと録音を、聴ける作品に
ナレーション、ステム分離、カバー、効果音を、ブラウザだけで。
- テキスト読み上げも、ボイスクローンも
- ステムを分離、またはカバーを生成
- 登録して試聴。聴いてから決められる
「ほとんど人間のように聞こえる」という言葉は、それが本当は何を意味するのかを、単に主張するのではなく検証できる形で明確にしようとする人が現れるより何年も前から、TTS のマーケティング文句として使われていました。Microsoft Research Asia と Microsoft Azure Speech が開発した NaturalSpeech は、まずその基礎作業に取り組みました。人間レベルの品質を、具体的かつ統計的に測定できる主張として定義し、そのうえで、マーケティング目標から逆算するのではなく、実際にその基準を満たすよう設計されたシステムを構築したのです。
NaturalSpeech とは?
NaturalSpeech は、変分オートエンコーダー(VAE)によってテキストから直接音声を生成する、完全なエンドツーエンドのテキスト・波形合成システムです。従来の多くのパイプラインのように、別々に学習した音響モデルとボコーダーを経由しません。ただし、最も大きな違いはアーキテクチャだけではありません。研究チームはモデルそのものを提案する前に、TTS システムにとっての「人間レベルの品質」とは何かについて、厳密で検証可能な定義を確立し、あるシステムが実際にその基準を満たすかどうかを判断する手法も示しました。
「人間レベルの品質」をスローガンではなく、実際の検定として定義する
これは NaturalSpeech の最も特徴的な貢献であり、じっくり考える価値があります。後の TTS 研究が結果を報告する方法を変えたからです。提案された定義は次のとおりです。あるテストセットにおいて、生成音声の品質スコアと対応する実際の人間の録音の品質スコアとの間に統計的な有意差がなく、それが比較平均オピニオンスコア(CMOS)の正式な仮説検定によって測定された場合、その TTS システムは人間レベルの品質を達成したとみなします。
この基準を過去のシステムに遡って適用すると、以前に高く評価された複数の TTS システムは、それぞれの論文で人間に近いと説明されていたにもかかわらず、この具体的で厳密な検定を実際には通過していなかったことがわかりました。NaturalSpeech は、相対比較で前のシステムより音声をわずかに改善するのではなく、残されたその差を埋めることを明確な目的として構築されました。
結果を支えた4つの設計上の選択
NaturalSpeech の VAE ベースのアーキテクチャは、ある具体的な問題を中心に構築されています。テキストから学習される「事前」分布と、実際の音声から学習される「事後」分布では、複雑さが本質的に大きく異なります。この不一致が、合成音声と実音声の品質差を生む大きな原因です。次の4つの設計要素が連携して、その差を縮めます。
- 音素の事前学習。 音素エンコーダーは、大規模なテキストコーパス上で、音素列に対するマスク言語モデリングを用いて事前学習されます。概念的には BERT がテキストで事前学習する方法に似ており、ペアとなる音声を一度も見る前から、音声構造を理解するためのより強固な出発点をモデルに与えます。
- 微分可能な継続時間モデリング。 タイミングは非自己回帰 TTS で特に重要であるため、NaturalSpeech は著者らが「durator」と呼ぶものを使用します。これは完全に微分可能となるよう構築された継続時間モデリング用コンポーネントで、継続時間を別途最適化する副次的なタスクとして扱わず、エンドツーエンド学習中に勾配を通過させることができます。
- 双方向の事前/事後モデリング。 実音声から得られる事後分布はフレーム単位で動作する一方、テキストから得られる事前分布は、より粗い音素単位で動作します。NaturalSpeech は両者の関係を双方向にモデル化し、2つの複雑さの差を明確に縮めようとします。
- VAE のメモリ機構。 追加されたメモリコンポーネントにより、各ステップの直近の潜在表現だけに依存せず、生成プロセス全体を通じて関連情報を保持し、利用する能力がモデルに加わります。
これらの選択は組み合わさることで、VAE の両側にかかる負担を軽減します。事後分布が表現しなければならない内容を単純化すると同時に、事前分布がテキストだけから生成できる内容を強化します。これが、単にモデル規模を拡大するのではなく、人間の録音との隔たりを埋めるための中心的な戦略です。
ベンチマーク結果
広く使われている単一話者の LJSpeech データセットで評価したところ、NaturalSpeech の CMOS 評価では、人間による正解録音との間に統計的な有意差がありませんでした。つまり、この研究自身が直前に定義した基準をそのまま満たしたことになります。ここでは対象範囲を正確に捉える必要があります。この結果は、単一話者でスタジオ品質のベンチマークデータセットに限られたものであり、現実環境の任意の音声や、複数話者のゼロショット生成に関する主張ではありません。後者こそ、Microsoft の後続研究 NaturalSpeech 2 が潜在拡散の手法を用いて取り組むために作られた、より困難な問題です。
NaturalSpeech を始める
Microsoft のほかの複数の音声研究プロジェクトと同様に、NaturalSpeech の公式コードと事前学習済み重みは、論文と同時には一般公開されませんでした。代わりに利用できるのは、コミュニティによる PyTorch 再実装です。
- コミュニティの再実装を使用する。 GitHub の
heatz123/naturalspeechプロジェクトは、論文に記載されたアーキテクチャに基づく動作可能な PyTorch 実装を提供しており、独自の学習結果によるデモサンプルも含まれています。 - 自分でモデルを学習する前提を持つ。 研究のみで公開された成果のコミュニティ再現では一般的なことですが、完成してすぐ使えるチェックポイントをダウンロードするのではなく、通常は独自のデータセットと学習実行を準備する必要があります。
- VITS のアーキテクチャを知っているなら、設計上の選択を直接比較する。 再実装のドキュメントでは、音素の事前学習、微分可能な durator、フレーム単位の事後分布と音素単位の事前分布の分離といった複数のコンポーネントを、VITS からの具体的な変更点として説明しています。VITS をすでに理解している場合には、有用な比較対象になります。
- LJSpeech を自然な最初のベンチマークにする。 元の研究が評価に使用したデータセットなので、自分の学習結果を公表された主張と比較するには最も直接的な方法です。
NaturalSpeech を理解し、扱うためのヒント
- 人間レベルの品質という主張の範囲を正しく捉える。 これは単一話者のベンチマークデータセットで統計的に検定された具体的な結果であり、確かに厳密な主張です。しかし、複数話者、ゼロショット、またはノイズを含む現実環境の音声でも同じ性能が得られる証拠ではありません。そちらは明確に、より困難な問題です。
- 関連研究に取り組むなら、4つのアーキテクチャコンポーネントを個別に研究する。 それぞれが事前/事後分布の複雑さの不一致の異なる部分を対象としています。ひとまとめの改善として扱うのではなく個別に理解する方が、ほかの場所で同様のアイデアを応用する場合に役立ちます。
- 公式の事前学習済みチェックポイントを期待しない。 Microsoft は公開していないため、このアーキテクチャを直接再現したり基礎として利用したりするなら、近道があると思わず、学習時間を見込んでください。
- 用途にゼロショットまたは複数話者の機能が必要なら NaturalSpeech 2 を参照する。 初代 NaturalSpeech は単一話者、スタジオ品質の合成に特化して構築、評価されました。多様な話者と現実環境のデータに拡張することが、異なるアーキテクチャ手法を用いた後続モデルが解決するために設計された具体的な問題です。
NaturalSpeech と同時代の非自己回帰 TTS の比較
| NaturalSpeech | 従来の典型的な非自己回帰 TTS | NaturalSpeech 2(後続モデル) | |
|---|---|---|---|
| コアアーキテクチャ | VAE ベース、エンドツーエンド | さまざま(多くは音響モデル + ボコーダーを分離) | 潜在拡散 + ニューラルコーデック |
| 人間レベルの品質という主張 | 正式に定義し、統計的に検定 | 非公式に主張されることが多い | 代わりにゼロショット、複数話者の自然さを重視 |
| 最適な場面 | 単一話者、スタジオ品質のベンチマーク | さまざま | 複数話者、ゼロショット、現実環境のデータ |
| 継続時間モデリング | 完全に微分可能(「durator」) | 多くは独立した微分不可能な予測器 | 拡散ベースの生成で、まったく異なる手法 |
| 公式公開 | なし(コミュニティ再実装のみ) | プロジェクトによって異なる | 研究論文のみで、公式公開なし |
NaturalSpeech の長く残る貢献は、特定のアーキテクチャというより、導入した規律にあります。「人間レベル」を単に主張するものではなく検証するものにしたのです。この基準は、その後、自身の後続モデルだけでなく、かなりの数の TTS 研究が結果を報告する方法にも影響を与えました。
よくある質問
NaturalSpeech の研究で「人間レベルの品質」とは具体的に何を意味しますか?
正式に定義され、統計的に検証できる主張です。CMOS 仮説検定に基づき、あるテストセットで TTS システムの生成音声の品質スコアと、実際の人間による録音の品質スコアとの間に統計的な有意差がない場合、そのシステムは人間レベルの品質に到達したとみなします。
NaturalSpeech は本当に自らの検定を通過しましたか?
はい。具体的には単一話者の LJSpeech ベンチマークデータセットにおいて、その CMOS 評価では、対象テストセットの人間による正解録音との間に統計的な有意差がありませんでした。
Microsoft から NaturalSpeech の公式モデル重みをダウンロードできますか?
いいえ。Microsoft は初代 NaturalSpeech の公式コードや事前学習済み重みを公開していません。コミュニティによる PyTorch 再実装(heatz123/naturalspeech)は存在しますが、通常は完成したチェックポイントをダウンロードするのではなく、自分でモデルを学習する必要があります。
NaturalSpeech と NaturalSpeech 2 はどう違いますか?
初代 NaturalSpeech は VAE ベースのシステムで、単一話者、スタジオ品質の合成に重点を置き、その条件で評価されました。NaturalSpeech 2 は、ニューラルオーディオコーデックを備えた潜在拡散の手法を用いて、複数話者、ゼロショット、現実環境での音声合成という、より困難な問題を対象にしています。
NaturalSpeech は自己回帰型ですか、それとも非自己回帰型ですか?
非自己回帰型です。VAE ベースのエンドツーエンド設計によって、初期のコーデック言語モデル型 TTS システムのような自己回帰モデルが行う、トークン単位の逐次生成を使わずに波形全体を生成します。
Echoraでテキストを音声に変換
テキストから一人の話者による音声を作る同様のワークフローをブラウザで利用したい場合は、Echoraのテキスト読み上げを使えます。最大5,000文字を入力し、内蔵音声または保存したカスタム音声を選び、必要に応じて対応している話し方タグを追加して安定性を調整できます。生成結果はプレビューしてMP3でダウンロードできます。