MultiTalkは、MeiGen-AIによって開発されたオープンソースの音声駆動型マルチプレイヤー対話ビデオ生成ツールです。複数の音声入力、参照画像、テキストプロンプトを用いて、リップシンクされたマルチプレイヤーインタラクティブビデオを生成します。MultiTalkは革新的なL-RoPE技術を採用し、音声とキャラクタのバインディングの問題を解決し、唇の動きを音声に正確に合わせます。このプロジェクトは、Apache 2.0ライセンスの下、GitHubでモデルウェイトと詳細なドキュメントを提供しており、学術研究や技術開発者に適しています。
機能一覧
- 多人数対話ビデオ生成のサポート:複数の音声入力に基づき、音声と同期した唇の動きとともに、複数の登場人物が対話するビデオを生成します。
- カートゥーンキャラクター生成:アプリケーションのシナリオを拡張するために、カートゥーンキャラクターの会話や歌唱ビデオの生成をサポートします。
- インタラクションコントロール: テキストプロンプトを通じて、キャラクターの行動やインタラクションロジックをコントロールします。
- 解像度の柔軟性:480pと720pのビデオ出力をサポートし、さまざまなデバイスに対応。
- L-RoPE技術:ラベル回転位置埋め込みにより、複数の音声と文字の結合問題を解決し、生成精度を向上させる。
- TeaCacheアクセラレーション:低ビデオメモリデバイス向けにビデオ生成速度を最適化します。
- オープンソースモデル:開発者が自由にダウンロードしてカスタマイズできるモデルの重みとコードを提供する。
ヘルプの使用
設置プロセス
MultiTalkを使用するには、ローカルで実行環境を設定する必要があります。以下はPython開発者や研究者のための詳細なインストール手順です:
- 仮想環境の構築
Condaを使用してPython 3.10環境を作成し、依存性の分離を確実にする:conda create -n multitalk python=3.10 conda activate multitalk
- PyTorchと関連する依存関係のインストール
CUDAアクセラレーションをサポートするために、PyTorch 2.4.1とその付属ライブラリをインストールします:pip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu121 pip install -U xformers==0.0.28 --index-url https://download.pytorch.org/whl/cu121
- 追加の依存関係をインストールする
NinjaやLibrosaなどの必要なライブラリをインストールする:pip install ninja psutil packaging flash_attn conda install -c conda-forge librosa pip install -r requirements.txt
- モデルウェイトのダウンロード
Hugging FaceからMultiTalkと関連モデルのウェイトをダウンロードする:huggingface-cli download Wan-AI/Wan2.1-I2V-14B-480P --local-dir ./weights/Wan2.1-I2V-14B-480P huggingface-cli download TencentGameMate/chinese-wav2vec2-base --local-dir ./weights/chinese-wav2vec2-base huggingface-cli download MeiGen-AI/MeiGen-MultiTalk --local-dir ./weights/MeiGen-MultiTalk
- 検証環境
すべての依存関係が正しくインストールされていることを確認し、GPUが利用可能であることをチェックします(CUDA互換GPUを推奨)。
使用方法
コマンドラインスクリプトによるマルチトーク generate_multitalk.py
ビデオを生成する。ユーザーは以下の入力を準備する必要がある:
- マルチ・オーディオWAV形式の音声ファイルをサポートしているため、各チャンネルの音声がキャラクターの声に対応します。
- 参照画像キャラクタの外観の静止画像を提供し、ビデオ内のキャラクタを生成するために使用されます。
- テキストアラート例えば、「ニックとジュディがコーヒーショップで会話をしている」など。
ショートビデオの作成
以下のコマンドを実行して、短いビデオを1本生成する:
python generate_multitalk.py \
--ckpt_dir weights/Wan2.1-I2V-14B-480P \
--wav2vec_dir weights/chinese-wav2vec2-base \
--input_json examples/single_example_1.json \
--sample_steps 40 \
--mode clip \
--size multitalk-480 \
--use_teacache \
--save_file output_short_video
生の成長ビデオ
長い動画の場合は、ストリーミング生成モードを使用する:
python generate_multitalk.py \
--ckpt_dir weights/Wan2.1-I2V-14B-480P \
--wav2vec_dir weights/chinese-wav2vec2-base \
--input_json examples/single_example_1.json \
--sample_steps 40 \
--mode streaming \
--use_teacache \
--save_file output_long_video
低メモリ最適化
ビデオメモリが足りない場合は --num_persistent_param_in_dit 0
::
python generate_multitalk.py \
--ckpt_dir weights/Wan2.1-I2V-14B-480P \
--wav2vec_dir weights/chinese-wav2vec2-base \
--input_json examples/single_example_1.json \
--sample_steps 40 \
--mode streaming \
--num_persistent_param_in_dit 0 \
--use_teacache \
--save_file output_lowvram_video
パラメータの説明
--mode
::clip
短いビデオの作成streaming
生の成長ビデオ。--size
セレクションmultitalk-480
もしかしたらmultitalk-720
出力解像度。--use_teacache
生成速度を最適化するためにTeaCacheアクセラレーションを有効にする。--teacache_thresh
スピードと質量のバランスをとるために0.2~0.5とする。
注目の機能操作
- マルチプレイヤー・ダイアログ生成
ユーザーは複数の音声トラックとそれに対応する参照画像を用意する必要がある。音声ファイルはクリアなもので、サンプリングレートは16kHzを推奨し、参照画像にはキャラクターの顔または体を含めること。テキストキューは、「屋外のコーヒーテーブルで2人が仕事について話し合っている」など、シーンとキャラクターの行動を明確に説明する必要があります。MultiTalkは、L-RoPEテクノロジーを使用して、各オーディオチャンネルが対応するキャラクターに関連付けられ、唇の動きが音声と同期するように生成されます。 - キャラクター・サポート
アニメのキャラクター(ディズニー風のニックとジュディなど)の参考画像を提供すると、マルチトークはアニメ風の会話や歌のビデオを生成します。プロンプトの例:「居心地の良い部屋で歌うニックとジュディ」。 - インタラクティブ・コントロール
テキストプロンプトでキャラクターのアクションをコントロール。例えば、「コーヒーを飲む女性、携帯電話を見る男性」と入力すると、マルチトークがダイナミックなシーンを生成します。プロンプトは簡潔に、しかし具体的に記述する必要があります。 - 解像度の選択
利用する--size multitalk-720
高画質のディスプレイ機器での表示に適したHDビデオを生成します。低解像度480p 素早いテストや低性能の機器に最適。
ほら
- ハードウェア要件RAMの少ないデバイスでは、最適化パラメータを有効にする必要があります。
- 音質リップシンクの効果を確実にするためには、音声に目立つノイズがないことが必要です。
- ライセンスの制限生成されたコンテンツは学術目的でのみ使用され、商用利用は禁止されています。
アプリケーションシナリオ
- 学術研究
研究者はMultiTalkを使用して、音声主導のビデオ生成技術を探求し、L-RoPEのような革新的なアプローチの有効性を多キャラクタシナリオでテストすることができます。 - 教育デモンストレーション
教師は、教室での授業やオンライン・コース用に、漫画のキャラクターの対話のビデオを作成し、楽しさと双方向性を加えることができる。 - バーチャル・コンテンツ制作
コンテンツ制作者は、ショートビデオプラットフォームやバーチャルキャラクタープレゼンテーション用に、マルチプレイヤーダイアログや歌唱ビデオを素早く生成することができる。 - 技術開発
MultiTalkのオープンソースコードをベースに、開発者はバーチャルミーティングやデジタルヒューマンプロジェクトのためのシナリオに特化したビデオ生成ツールをカスタマイズすることができる。
品質保証
- MultiTalkはどのようなオーディオフォーマットに対応していますか?
最適なリップシンクを確保するため、推奨サンプリングレート16kHzのWAVフォーマット・オーディオをサポート。 - 音声と文字の結合エラーを修正するには?
マルチトークはL-RoPE技術を使用し、オーディオとビデオの両方に同じラベルを埋め込むことで、バインディングの問題を自動的に解決します。これにより、入力される音声と参照画像が確実に対応します。 - ビデオの作成にはどれくらいの時間がかかりますか?
ハードウェアと動画の長さによります。短い動画(10秒)は高性能GPUで約1~2分、長い動画は5~10分かかります。 - リアルタイム生成に対応しているか?
現在のバージョンはリアルタイム生成をサポートしておらず、オフライン処理が必要である。将来のバージョンでは、低遅延生成が最適化されるかもしれない。 - 低グラフィックメモリデバイスのパフォーマンスを最適化するには?
利用する--num_persistent_param_in_dit 0
歌で応える--use_teacache
グラフィックス・メモリのフットプリントを削減します。