CosyVoice:音声トークンのあるべき姿を考え直したモデル
テキストと録音を、聴ける作品に
ナレーション、ステム分離、カバー、効果音を、ブラウザだけで。
- テキスト読み上げも、ボイスクローンも
- 音軌を分離するか、カバーを生成
- 登録して試聴。聴いてから決められる
2024 年までに、VALL-E を含む大半の LLM ベースのゼロショット TTS モデルは、同じ基礎的な前提を共有していました。すなわち、音声を教師なしで学習したトークンとして表現し、言語モデルにテキストと同じようにそのトークンを予測させるという前提です。Alibaba の FunAudioLLM チームは、この前提を見直し、正面から問い直しました。CosyVoice は代わりに多言語音声認識モデルから音声トークンを構築しました。そこから得られた内容精度と音声クローン忠実度の向上が、このモデルを注目させ、後の CosyVoice 2 と 3 が築くアーキテクチャ上の土台にもなりました。
CosyVoice とは?
CosyVoice は、Alibaba の音声 AI 研究チーム FunAudioLLM が開発した、オープンソースの多言語ゼロショット音声合成モデルです。3 億パラメータのモデルとしてリリースされ、ファインチューニングなしで短い参照クリップから話者の声を再現できる、スケーラブルな LLM ベースの音声クローン手法を導入しました。これはリリース当時、オープンソース TTS ではまだ比較的新しい能力でした。
CosyVoice は中国語、英語、日本語、広東語、韓国語の 5 言語をサポートし、用途に応じて 3 種類の checkpoint を提供します。
- CosyVoice-300M — 基本となるゼロショットおよびクロスリンガルモデルで、参照クリップから任意の声をクローンする用途に最適です。
- CosyVoice-300M-SFT — 高品質な固定音声セットで教師ありファインチューニングされており、クローンの柔軟性と引き換えに、既知の音声一覧でより一貫した本番向け出力を得られます。
- CosyVoice-300M-Instruct — 話し方に対する自然言語指示の制御を追加し、参照音声クリップだけでなく説明的なテキストプロンプトによって、速度、感情、方言を操作できます。
中核となる革新:教師ありセマンティックトークン
これは CosyVoice がなぜそのように動作するのかを実際に説明する細部であり、読み飛ばすより理解する価値があります。
初期の LLM ベース TTS システムは、教師なしの方法で抽出したトークンを使って音声を表現しました。つまり、モデルはそれらの単位が言語学的に何を意味するかを教えられずに、音声を離散単位へ圧縮することを学習していました。CosyVoice の研究チームは異なる手法を取りました。多言語音声認識モデルの内部表現から音声トークンを導出し、そのエンコーダーにベクトル量子化のステップを挿入したのです。元になるモデルは音声内容を理解するよう訓練されているため、得られるトークンには、教師なしトークンにはない明示的な意味的・テキスト的な対応付けがあります。
チームが公表した評価で確認された実用上の効果は二つありました。VALL-E のような教師なしトークンの手法と比べ、内容の一貫性が大幅に向上したこと(生成音声がテキストに実際に書かれている内容をより確実に話すこと)、そしてゼロショットクローンでの話者類似性が高まったことです。同程度の規模の同時代モデル ChatTTS との直接評価でも、CosyVoice は挿入・削除エラーが著しく少なく、別の話者の声の断片が生成出力に混入する「話者リーク」の問題を特に回避しました。
アーキテクチャとしては、生成は二段階で行われます。自己回帰型言語モデルがテキストをこれらのセマンティックトークンへ変換し、条件付き flow-matching モデルがトークンを mel スペクトログラムに変換し、最後にボコーダーが最終的な波形へレンダリングします。
CosyVoice を始める
- サブモジュール込みでクローンします。 CosyVoice は Matcha-TTS プロジェクトに git サブモジュールとして依存するため、
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.gitを使ってください。通常の clone では必要なコンポーネントが不足します。 - 環境をセットアップして依存関係をインストールします。 専用の Python 環境を作成し(Conda 推奨)、
pip install -r requirements.txtを実行します。中国国内からインストールする場合は、Alibaba の PyPI ミラーを使うと目に見えて速くなります。 - タスクに合う checkpoint を選びます。 ゼロショットまたはクロスリンガルのクローンには
CosyVoice-300M、固定の高品質音声一覧で十分ならCosyVoice-300M-SFT、自然言語によるスタイル制御が必要ならCosyVoice-300M-Instructをダウンロードします。 - 任意でテキストフロントエンドのリソースをインストールします。
CosyVoice-ttsfrdパッケージはテキスト正規化(数字、日付、略語)を改善します。入力テキストがまだクリーンな発話形式でない場合は追加する価値があります。 - 統合前に WebUI を起動してテストします。
python3 webui.py --port 50000 --model_dir pretrained_models/CosyVoice-300Mを実行すると Gradio インターフェースが開き、参照クリップのアップロードと対象テキストの入力で、音声クローンを直接試せます。
より良い結果を得るヒント
- checkpoint を用途に合わせ、逆にはしないでください。 SFT モデルに任意音声のクローンを無理に行わせたり、基本モデルに固定の高品質ナレーションを行わせたりすることは、各 checkpoint が実際に調整された目的に反します。ユースケースに基づいて先に checkpoint を選んでください。
- 特定のクローン音声よりスタイルが重要な場合は Instruct モデルを使います。 優先したいのが特定の人物の声の再現ではなく、話し方、つまりペース、感情、アクセントの制御である場合、
CosyVoice-300M-Instructの自然言語スタイルプロンプトは、クローン専用モデルからスタイルを引き出そうとするより直接的です。 - クリーンで適切に録音された参照クリップを与えます。 CosyVoice の教師ありトークンは実際の発話内容に敏感なため、ノイズのある低品質の参照音声は、純粋に音響的なトークン方式よりも明らかにクローン精度を低下させます。
- 数字と日付には ttsfrd パッケージでテキストを前処理します。 数字、略語、日付を含む生のテキストは、そのままモデルに渡すより、任意のテキスト正規化フロントエンドを使う利点があります。
- CosyVoice 1.0 を非ストリーミングの基準と考えます。 プロジェクトで低遅延ストリーミング生成が特に必要な場合、この能力は CosyVoice 2 で導入されました。この初期リリースは、発話全体の遅延が制約にならないオフライン生成により適しています。
CosyVoice の位置づけ
| CosyVoice(2024) | VALL-E スタイルモデル | ChatTTS | |
|---|---|---|---|
| 音声トークンの種類 | 教師あり(ASR モデル由来) | 教師なし(例:Encodec) | 教師なし |
| 内容の一貫性 | 強い。セマンティックトークンの利点 | 内容が逸脱しやすい | CER は同等、挿入/削除エラーはより多い |
| 話者リーク | 観察されなかった | 起こりうる | 評価でより頻繁に発生 |
| パラメータ | 300M | さまざま | 同程度の規模 |
| スタイル制御 | Instruct バリアント(自然言語プロンプト) | 限定的 | 限定的 |
| ストリーミング | 非対応(CosyVoice 2 で導入) | さまざま | 主眼ではない |
CosyVoice の貢献は規模ではありません。3 億パラメータでは、2024 年の基準でも控えめでした。重要なのは、音声トークンをどのように表現するかが、モデルの大きさと同じほど重要であることを実証した点です。このアーキテクチャ上の判断こそ、後の CosyVoice 2 と CosyVoice 3 が継続して発展させたものです。
よくある質問
CosyVoice を開発したのは誰ですか?
CosyVoice は Alibaba Group 内の音声 AI 研究チーム FunAudioLLM が開発し、GitHub 上のオープンソースプロジェクトとして公開しました。
CosyVoice の音声トークンは、他の TTS モデルと何が違いますか?
CosyVoice はトークンを教師なしで学習するのではなく、多言語音声認識モデルから導出します。そのためトークンはテキストと明示的に意味対応し、教師なしトークンの手法と比べて内容精度と話者類似性を改善します。
どの CosyVoice checkpoint を使うべきですか?
ゼロショットまたはクロスリンガルの音声クローンには基本の CosyVoice-300M、事前調整済みの高品質な固定音声セットには CosyVoice-300M-SFT、話し方のスタイルを自然言語で制御する必要がある場合は CosyVoice-300M-Instruct を使用してください。
CosyVoice はストリーミング生成に対応していますか?
いいえ、この初期リリースでは対応していません。CosyVoice 2 では、このモデルのトークンアーキテクチャを基に、低遅延出力のためのチャンク対応設計によってストリーミング合成が導入されました。
CosyVoice は商用利用に無料ですか?
はい。CosyVoice のコードとモデルの重みは GitHub と Hugging Face で公開されており、ローカルデプロイとさらなる開発に利用できます。
同様の音声クローン機能を試す
CosyVoice はオープンソース実装とコミュニティツールを通じて利用できます。ブラウザで音声クローンを試したい場合は、同様の機能として音声クローンを試してください。これは CosyVoice ではなく、CosyVoice モデルを実行するものでもありませんが、ローカルでモデルを設定せずに類似の音声クローンの流れを試せます。
自分が所有する声、または明示的な許可を得た声だけをクローンしてください。