マルチモーダル音声合成

mmaudioは動画を音声に変換します

表現豊かでフレームを考慮した結果を実現する、研究を第一に考えたツールキットで、動画やテキストから同期した音声を生成します。

プロンプトを試す

動画に必要な雰囲気を説明してください。

動画 → 音声

無料で開始 · サインアップ不要 · 約10 s

Mmaudio

論文 · ウェブページ · モデル · デモ · Colab · Replicate

高品質な動画から音声への生成に向けたマルチモーダル共同学習の制御

Ho Kei Cheng, Masato Ishii, Akio Hayakawa, Takashi Shibuya, Alexander Schwing, Yuki Mitsufuji

イリノイ大学アーバナ・シャンペーン校、Sony AI、ソニーグループ株式会社

CVPR 2025

ハイライト

mmaudioは、動画とテキストの入力から同期した音声を生成します。中核となるのは、幅広い音声・映像データと音声・テキストデータを用いたマルチモーダル共同学習と、生成された音を各フレームの動きやタイミングに合わせる同期モジュールです。

上のプロンプトを試すか、以下の例をご覧ください:

インストール

mmaudioは、最新のCUDA対応ハードウェアを備えたUbuntu環境で動作確認済みです。

前提条件

以下の使用を推奨します: miniforge 環境。

  • Python 3.9+
  • PyTorch 2.5.1+ お使いのCUDAバージョンに対応するtorchvisionおよびtorchaudioパッケージ。

1. 必要に応じて前提パッケージをインストールします:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 --upgrade

GPUとドライバーが対応していれば、他のCUDAバージョンも動作する場合があります。

2. リポジトリをクローンします:

git clone https://github.com/hkchengrex/MMAudio.git

3. pipでmmaudioをインストールします:

cd MMAudio
pip install -e .

モデルファイルはデモスクリプトの実行時に自動的にダウンロードされます。チェックサムとモデルの詳細は、リポジトリのドキュメントに記載されています。

デモ

デフォルトでは、スクリプトは large_44k_v2 モデルを使用します。実験では、16ビットモードでの推論に約6GBのGPUメモリを使用し、多くの最新GPUで実行できます。

コマンドラインインターフェース

demo.py:

python demo.py --duration=8 --video=<path to video> --prompt "your prompt"

音声は .flac 形式で書き出され、再構成された動画は .mp4 形式で ./outputの下に書き出されます。 --video を省略すると、テキストから音声を合成します。

Gradioインターフェース

このインターフェースは、動画から音声およびテキストから音声への合成に対応しています。画像を動画シーケンスに複製することで、実験的な画像から音声への処理も利用できます。デフォルトのポートは 7860.

python gradio_demo.py

よくある質問

  1. 動画処理。 高解像度の動画はエンコードとデコードに時間がかかりますが、必ずしも出力品質が向上するわけではありません。CLIPエンコーダーはフレームを384×384ピクセルにリサイズし、Synchformerは短辺を224ピクセルにリサイズして中央クロップを適用します。
  2. フレームレート。 CLIPは8 FPS、Synchformerは25 FPSで動作します。フレームレートの変換は動画リーダーを通じて行われ、入力のフレームレートが必要な値より低い場合は複製が使用されます。
  3. 失敗するケース。 ほとんどの生成モデルと同様に、失敗することがあり、その理由が常に明らかとは限りません。既知の失敗モードはプロジェクトの資料に記載されています。
  4. 性能のばらつき。 ハードウェア、動画バックエンド、推論精度、バッチサイズ、コンパイル設定、ランダムシードによって、実行ごとに微妙な違いが生じる可能性があります。

既知の制限事項

  1. モデルは、ときどき理解不能な人間の発話に似た音声を生成することがあります。
  2. モデルは、明示的な音楽トレーニングを受けていなくても、ときどきBGMを生成することがあります。
  3. モデルは、未知の概念や細粒度の動作説明に苦戦することがあります。

これらの制限事項は、より高品質で多様な学習データによって改善できます。

トレーニング

データの準備、分散トレーニング、設定の詳細については、 TRAINING.md を参照してください。

評価

ベンチマークのセットアップとオンセット評価スクリプトについては、 EVAL.md を参照してください。

トレーニングデータセット

mmaudioは、AudioSet、Freesound、VGGSound、AudioCaps、WavCapsなど、複数のデータセットで学習されました。これらのデータセットには、それぞれ独自のライセンスと利用条件があります。事前学習済みモデルは、すべての商用用途に適しているとは限りません。

更新履歴

  • 2025-03-09: 修正済みのTSVファイルをアップロードしました。
  • 2025-02-27: 学習の安定性を高めるため、GradScalerをデフォルトで無効にしました。
  • 2024-12-23: 学習用スクリプトとバッチ評価用スクリプトを追加しました。
  • 2024-12-14: フレームリーダーをPyAVに置き換え、再構成中にフレームをキャッシュするようにしました。
  • 2024-12-13: バッチサイズの乗数を用いてCLIPとSyncの特徴抽出を改善し、推論時に使用されないVAEエンコーダーを削除しました。
  • 2024-12-11: ホストされたGPU環境での再構成の信頼性を高めるため、フレームレートリーダーを置き換えました。

引用

@inproceedings{cheng2025taming,
  title={{MMAudio}: Taming Multimodal Joint Training for High-Quality Video-to-Audio Synthesis},
  author={Cheng, Ho Kei and Ishii, Masato and Hayakawa, Akio and Shibuya, Takashi and Schwing, Alexander and Mitsufuji, Yuki},
  booktitle={CVPR},
  year={2025}
}

関連リポジトリ

ライセンス

  • コードはMITライセンスで公開されています。
  • チェックポイントはCC-BY-NC 4.0ライセンスで公開されています。

免責事項

当方は、ドメイン「mmaudio.net」の運営者とは一切関係がなく、その運営者についても何も把握していません。

謝辞

以下の方々に深く感謝いたします。

  • Make-An-Audio 2 16kHz BigVGAN事前学習済みモデルとVAEアーキテクチャ用。
  • BigVGAN
  • Synchformer
  • EDM2 振幅を維持するVAEネットワークアーキテクチャ用。

同期したサウンドで制作

リポジトリを使って実験し、サンプルを参考にしたり、アイデアをオーディオトラックにしたいときはホスト版にプロンプトを入力したりできます。

動画から音声を生成 テキストから音声を生成 フレーム同期 オープンな研究 動画から音声を生成 テキストから音声を生成 フレーム同期 オープンな研究
作成を始める
作成を始める