MockingBird:英語向け音声クローンに標準中国語を話させたコミュニティフォーク
テキストと録音を、聴ける作品に
ナレーション、ステム分離、カバー、効果音を、ブラウザだけで。
- テキスト読み上げも、ボイスクローンも
- ステムを分離、またはカバーを生成
- 登録して試聴。聴いてから決められる
MockingBird のベースとなった Real-Time-Voice-Cloning は、数秒の音声から声をクローンできましたが、対応するのは英語だけでした。開発者の babysor は、まさにその隔たりを埋めるためにこのプロジェクトをフォークし、ゼロから作り直すのではなく、標準中国語向けに再学習して拡張しました。このコミュニティ主導の成り立ちこそ、MockingBird が GitHub で最も多くフォークされ、スターを集めた中国語音声クローンリポジトリの1つになった理由です。たまたま中国語にも対応した汎用的な研究成果ではなく、中国語を使う開発者にとって現実的で具体的な空白を埋めました。
MockingBird とは?
MockingBird は、音声クローンとリアルタイム音声合成のためのオープンソースツールキットです。SV2TTS ベースの Real-Time-Voice-Cloning プロジェクトをフォークし、標準中国語に特化して再設計されました。わずか5秒の参照音声から対象の声をクローンし、その声で任意の新しい発話をリアルタイム生成できます。学習とテストには、中国語音声の主要な複数のデータセットが使われています。
MockingBird の機能上の強み
- 5秒で音声クローン。 新しい話者ごとに音声認識をゼロから学習する代わりに、事前学習済みの話者検証エンコーダーを再利用するため、短い参照クリップだけで対象の声を捉えられます。
- リアルタイム生成。バッチ式のオフライン処理だけでなく、速度に特化して最適化された推論エンジンを備えています。
- 標準中国語専用の設計。英語優先のモデルに中国語を後付けしたものではなく、aidatatang_200zh、MAGICDATA、AISHELL-3、data_aishell など複数の中国語音声データセットで学習・検証されています。
- 真のクロスプラットフォーム対応。Windows、Linux、さらには Apple Silicon 搭載 Mac でも動作します。
- 2通りの利用方法。インタラクティブなローカル実験向けのグラフィカルツールボックスと、リモート呼び出し向けの webserver モードがあり、実際に手を動かすテストから大きなアプリケーションへの統合までカバーします。
- 大規模で活発な中国語圏の開発者コミュニティ。GitHub のフォーク数とスター数にも表れており、一般的な学術リリースより多くのコミュニティによるトラブルシューティング資料と共有経験を利用できます。
転移学習の仕組みは実際にどう働くのか
大量の新しい学習リソースなしで中国語の音声クローンプロジェクトを実現できたのは、この具体的なエンジニアリング上の判断によるものであり、理解しておく価値があります。MockingBird のパイプラインは、ベースとなった SV2TTS の手法を受け継ぎ、3つのコンポーネントに分かれています。エンコーダーは話者の声の特徴を表現する方法を学びます(もともとは話者検証タスク用に学習されており、学習時に一度も見たことのない話者であっても「この声がこの声らしく聞こえる要因」を特定する処理にうまく汎化します)。シンセサイザーは、その話者表現で条件付けしながらテキストをメルスペクトログラムに変換します。そして、ボコーダーがスペクトログラムを実際の波形に変換します。
MockingBird の手法では、元の英語プロジェクトで事前学習されたエンコーダーとボコーダーをほぼそのまま再利用し、新たな学習をシンセサイザー、つまり中国語テキストを実際の発話内容に対応付けるコンポーネントに集中させます。エンコーダーの話者識別能力とボコーダーの波形生成能力をゼロから学び直す必要がないため、標準中国語対応の追加は、まったく新しい3段階のパイプラインを最初から学習するより、はるかに取り組みやすいプロジェクトになりました。プロジェクト自身のドキュメントが、3つのコンポーネントのうち1つだけを再学習して「easy and awesome」な結果が得られると説明しているのも、まさにこのためです。
MockingBird を始める
セットアップでは、まず Python 3.9 専用の conda 環境を作成し、リポジトリをクローンして、PyTorch と関連パッケージに加え、特に webrtcvad-wheels を含む依存関係を pip でインストールします。環境が整ったら、対象の声を5〜30秒録音したサンプルを用意します。次に、付属のグラフィカルツールボックスを起動してサンプルを読み込み、話させたいテキストを入力し、インターフェースから直接クローン音声を生成します。インタラクティブな利用ではなく別のアプリケーションへ統合する場合は、webserver モードが同じ機能をリモート呼び出し用に公開します。
より良い結果を得るためのヒント
- 5〜30秒の範囲でクリーンな録音を使う。 5秒は目玉となる最短時間ですが、毎回ぎりぎりの最短時間を狙うより、少し長く、きれいに録音されたサンプルのほうが安定した結果になりやすいです。
- 新しいシステムでは依存関係のバージョン問題に対処するつもりで臨む。 プロジェクトで文書化されているテストは、PyTorch 1.9.0 と2021年前後の特定の GPU 構成で行われています。最新環境では、すべての依存関係がそのまま問題なくインストールされると思わず、パッケージのバージョンを手動で調整する必要があるかもしれません。
- 独自の統合を作る前に、まず GUI ツールボックスを使う。 webserver モードを使うコードを書く前に、環境と指定した音声サンプルが本当に動作するかを確認する最短の方法です。
- セットアップの助けには中国語圏の開発者コミュニティを頼る。 このプロジェクトはコミュニティ内で広くフォークされ、議論されてきたため、遭遇した特定のエラーメッセージは、すでに誰かが解決して記録している可能性が高いです。
MockingBird と中国語向けクローンツールの比較
| MockingBird | GPT-SoVITS | XTTS-v2 | |
|---|---|---|---|
| クローンに必要な最短クリップ | 5秒 | 5秒(ゼロショット) | 約6秒 |
| コアアーキテクチャ | SV2TTS 方式のエンコーダー/シンセサイザー/ボコーダー | GPT + SoVITS(VITS ベース)のハイブリッド | GPT-2 方式の自己回帰 + VQ-VAE |
| 中国語に特化した出自 | あり、中国語対応の追加を目的にフォーク | 中国語/日本語で高い評価 | 汎用的な多言語対応、中国語特化ではない |
| 内蔵データ準備ツール | なし | あり(ボーカル分離、ASR、自動分割) | なし |
| インターフェースの選択肢 | GUI ツールボックス + webserver | 完全な WebUI | Python API |
| コミュニティの活動レベル | 歴史的に大規模、コア開発の活動は低下 | 活発に保守され、頻繁にバージョン更新 | Coqui 終了後はコミュニティがフォークを保守 |
MockingBird の具体的な立ち位置は、「Real-Time-Voice-Cloning の体験を中国語で使いたい」という要望に対する、コミュニティ主導の最初の答えだったことです。その後、GPT-SoVITS のような新しいプロジェクトが、より活発に保守され、機能も豊富な代替手段を構築しました。それでも MockingBird の知名度とドキュメントの蓄積は、特に SV2TTS 方式のアーキテクチャが内部でどう動くかを学ぶ人にとって、今なお本当に役立つ出発点となっています。
よくある質問
MockingBird で声をクローンするには、どれくらいの音声が必要ですか?
最短5秒です。より安定した結果を得るには、5〜30秒の範囲が推奨されています。
元の英語プロジェクトをそのまま使わず、MockingBird が作られたのはなぜですか?
元の Real-Time-Voice-Cloning プロジェクトが対応していたのは英語だけでした。MockingBird は標準中国語向けの再学習と拡張を目的にフォークされ、学習と検証には複数の中国語音声データセットが使われています。
MockingBird では中国語用の新しい音声エンコーダーを学習する必要がありますか?
いいえ。そこが、このプロジェクトの効率性を生む具体的な仕組みです。元の英語モデルで事前学習されたエンコーダーとボコーダーを再利用し、新しい学習をシンセサイザーコンポーネントに集中させることで、パイプライン全体を再学習せずに中国語対応を実現しています。
MockingBird はどのプラットフォームで動作しますか?
Windows、Linux、Apple Silicon 搭載 Mac が対応プラットフォームとして文書化されています。
MockingBird は今も活発に保守されていますか?
最も活発だった時期と比べてコア開発のペースは落ちており、文書化されているテストも2021年前後のソフトウェアバージョンに基づいています。最新システムでは一部の依存関係のバージョン問題に対処する必要がありますが、大規模なコミュニティのおかげで、一般的な問題の多くにはすでに解決策が記録されています。
参照音声から似た声の音声を生成
参照音声と新しいテキストから似た声を生成する同様のワークフローには、Echoraの音声クローンを利用できます。自分の声、または使用について明示的な許可を得た参照音声をアップロードし、最大5,000文字の新しいテキストを入力すると、参照音声に似た新しい音声を生成できます。