WhisperSpeech:文字起こしモデルを逆向きに動かす
テキストと録音を、聴ける作品に
ナレーション、ステム分離、カバー、効果音を、ブラウザだけで。
- テキスト読み上げも、ボイスクローンも
- ステムを分離、またはカバーを生成
- 登録して試聴。聴いてから決められる
OpenAIのWhisperは、現存する音声認識モデルの中でも特に高い信頼を得ています。膨大な多言語音声で学習し、発話を正確なテキストへ変換するモデルです。WhisperSpeechを手がけたCollaboraのチームはこのモデルに着目し、実に巧みな問いを投げかけました。Whisperが発話の意味をこれほど正確に理解できるなら、逆向きに動かすとどうなるのか。WhisperSpeechがその答えです。TTSパイプラインをゼロから設計するのではなく、Whisper自身のアーキテクチャを逆転させて構築したテキスト読み上げシステムです。
WhisperSpeechとは?
WhisperSpeechはCollaboraによるオープンソースのTTSシステムで、現在の名称になる前はspear-tts-pytorchとして開発されていました。プロジェクトが掲げる目標は明快です。画像におけるStable Diffusionのように、音声分野で強力かつ改変しやすく、商用製品を安全に構築できる存在になることです。最後の点は意図的かつ具体的です。WhisperSpeechのコードはすべてApache-2.0/MITで公開され、モデルは適切にライセンスされた音声データだけで学習されています。現行リリースでは英語のLibreLightデータセットを使用しており、多くのオープンなTTS研究の商用利用を曖昧にしている、出所が不透明で無差別に収集されたデータとは異なります。
Whisperの逆転は実際にどう機能するのか
Whisper自身のアーキテクチャは二つの部分に分かれます。エンコーダーは音声を連続した埋め込み表現の列に変換し、その過程で文脈上の意味と韻律を捉えます。デコーダーはクロスアテンションを使い、その埋め込み表現を実際の単語、つまり文字起こしへ変換します。WhisperSpeechは同じ構造を反対方向に動かします。テキストから始めて対応する埋め込み表現を生成し、音から埋め込みを抽出するのではなく、その埋め込みを音へ変換します。
本当に巧妙なのは、ここで何を再利用しているかです。膨大な多言語音声で学習したWhisperのエンコーダーは、発話内容に対して非常に強力な意味表現を生成します。GoogleのSPEAR-TTSやVALL-Eといったアーキテクチャも内部では同種の意味トークン抽出に依存していますが、それぞれの意味エンコーダーは公開されませんでした。WhisperSpeechはWhisper自身のエンコーダーをこの役割に転用し、同種のシステムが非公開にしてきた構成要素に対して、そのまま置き換えられるオープンソースの同等品を提供します。プロジェクトが、既存研究を新しい名称で再現しただけではなく、実際の空白を埋めるものだと説明する理由の一つです。
2段階のパイプライン
WhisperSpeechは、AudioLM、SPEAR-TTS、MetaのMusicGenが広めたものと同じ、大まかな2段階のトークンベース方式を採用しています。音声合成を一つの巨大な処理にせず、「読む」段階と「話す」段階に分けます。**テキストから意味へ(T2S)の段階では、Whisper由来の手法で入力テキストを意味トークンへ変換します。続く意味から音響へ(S2A)**の段階では、そのトークンを実際の音声へ変換します。音響モデリングにはMetaのEnCodecを使い、CharactrのVocosボコーダーで最終的な高品質波形をレンダリングします。各構成要素をゼロから作るのではなく、プロジェクトは各段階で確立されたオープンソース技術を意図的に活用しました。意味理解にはWhisper、音響表現にはEnCodec、ボコーダーにはVocosを使い、それぞれ単独ですでに実証されていた部品から新しいシステムを組み上げています。
速度と芽生えつつある多言語機能
torch.compile対応、KVキャッシュ、対象を絞ったレイヤー調整を追加した後、WhisperSpeechは一般消費者向けのRTX 4090で実時間の約12倍の生成速度に達しました。この有意義な最適化により、研究用途の速度から、入手しやすいハードウェアで実際に使える推論速度へ移行しました。多言語については、チームが概念実証を行っています。英語、ポーランド語、フランス語を混ぜたデータセットで小型S2Aモデルを学習し、英語とポーランド語だけで学習した意味トークンを使ってフランス語の音声クローンに成功しました。この結果は重要な兆候です。言語ごとに別のTokenizerを学習しなくても、一つの共有Tokenizerで多数の言語を扱える可能性を示しています。ただし、これはまだ初期の探索的な取り組みであり、完成した多言語リリースではありません。
WhisperSpeechを始める
WhisperSpeechの音声を最も手早く確かめる方法は、プロジェクトが提供するGoogle Colab notebookです。ローカル環境を設定せずに推論を実行できます。自分で実行したい場合は、事前学習済みモデルと、それに対応する変換済み学習データセットの両方がHugging Faceで公開されています。ローカルで推論することも、独自の派生モデルを学習する出発点として使うこともできます。プロジェクトのDiscordコミュニティは、LAIONサーバーの音声生成チャンネルで運営されており、セットアップについて質問したり、進行中の多言語開発を追ったりできる活発な場です。
より良い結果を得るためのヒント
- 多言語対応が本番利用できると考える前に、現在の言語範囲を確認してください。 安定版は引き続きLibreLightによる英語中心です。有望なフランス語音声クローンの結果はメインリリースではなく、小型の概念実証モデルによるものでした。より広い言語対応を前提に計画する前に、プロジェクトの現状を確認してください。
- まずColab notebookを使い、自分のコンテンツで品質を検証してください。 ローカルでのインストールや設定に取りかかる前に、具体的な用途での実際の出力を、より少ない手間で聞けます。
- 大規模に導入するなら、推論速度の最適化を活用してください。 RTX 4090で実時間の12倍という数値は、torch.compileやKVキャッシュといった特定の最適化を反映しています。最適化されていない基準構成を実行するのではなく、自分の環境にもこれらを適用してください。
- 商用導入が懸念事項なら、ライセンス面の強みを活かしてください。 このプロジェクトは、適切にライセンスされた学習データと寛容なコードライセンスを中心に意図的に構築されています。データの出所が不透明なTTSプロジェクトより実際にリスクの低い出発点であり、法務審査が重要になるベンダーやモデルの選定では考慮する価値があります。
WhisperSpeechと完全オープンな他のクローンモデルの比較
| WhisperSpeech | VoiceCraft | F5-TTS | |
|---|---|---|---|
| 中核となるアーキテクチャの発想 | WhisperのASRパイプラインを逆向きに実行 | 編集とクローンのためのトークン補完 | Diffusion Transformer + flow matching |
| 学習データの出所 | 適切にライセンスされたデータのみ(LibreLight) | オープンな実環境データ | Emiliaデータセット(非商用ライセンス) |
| コードライセンス | Apache-2.0 / MIT | オープン | コードはオープン、ウェイトはCC-BY-NC |
| 商用利用 | 安全な商用利用を明確な設計目標とする | オープン、倫理的利用規約を要確認 | 別途許可が必要 |
| 推論速度 | 実時間の約12倍(RTX 4090、最適化済み) | 主要な焦点ではない | リアルタイム係数約0.15 |
| 現在の言語範囲 | 英語(多言語は初期テスト中) | 英語中心 | 主に英語中心 |
WhisperSpeech独自の立ち位置は、優雅で資源効率の高いアーキテクチャ上の発想、つまり新しい意味エンコーダーをゼロから学習せずWhisperを再利用することと、明確なデータライセンスを意図的に重視する姿勢の組み合わせにあります。「音が良いか」と同じくらい「法的にリリースできるか」が重要なチームにとって、特に意味のある組み合わせです。
よくある質問
「Whisperを逆転させる」と、実際にはどのように音声が作られるのですか?
Whisperは通常、エンコーダーとデコーダーの構造を通じて、音声を埋め込み表現へ、さらにテキストへ変換します。WhisperSpeechはこの流れを逆転させ、テキストから対応する埋め込み表現を生成し、音声から抽出するのではなく、その埋め込みを音声へ変換します。
WhisperSpeechの以前の名称は何ですか?
当初はspear-tts-pytorchという名称で開発されていました。GoogleのSPEAR-TTS研究から受けたアーキテクチャ上の着想を反映した名称で、その後WhisperSpeechへ改称されました。
WhisperSpeechは商用製品で安全に使えますか?
それは明確な設計目標です。コードはApache-2.0/MITで公開され、モデルは適切にライセンスされた音声データだけで学習されています。収集データやライセンスが不明瞭な音声で学習した多くのオープンTTSプロジェクトが抱える、データ出所のリスクを避けるためです。
WhisperSpeechは英語以外の言語に対応していますか?
現在の安定版は英語のLibreLightデータセットで学習されています。英語、ポーランド語、フランス語を使った多言語の概念実証モデルでは、有望な言語横断音声クローンの結果が示されましたが、プロジェクトの直近の公開情報では、より広い多言語対応はまだ開発中でした。
WhisperSpeechはどのくらいの速度で音声を生成しますか?
torch.compile、KVキャッシュ、レイヤー調整という特定の最適化後、一般消費者向けRTX 4090 GPUで実時間の約12倍の速度で生成できたとプロジェクトは報告しています。
Echoraでテキストを音声に変換
テキストから一人の話者による音声を作る同様のワークフローをブラウザで利用したい場合は、Echoraのテキスト読み上げを使えます。最大5,000文字を入力し、内蔵音声または保存したカスタム音声を選び、必要に応じて対応している話し方タグを追加して安定性を調整できます。生成結果はプレビューしてMP3でダウンロードできます。