Mmaudio
Paper · Webseite · Modelle · Demo · Colab · Replicate
Multimodales gemeinsames Training für hochwertige Video-zu-Audio-Synthese
Ho Kei Cheng, Masato Ishii, Akio Hayakawa, Takashi Shibuya, Alexander Schwing, Yuki Mitsufuji
University of Illinois Urbana-Champaign, Sony AI und Sony Group Corporation
CVPR 2025
Highlight
mmaudio erzeugt synchronisierten Ton aus Video- und Texteingaben. Die zentrale Idee ist ein multimodales gemeinsames Training mit einer großen Bandbreite an audiovisuellen und Audio-Text-Daten, kombiniert mit einem Synchronisierungsmodul, das den erzeugten Ton an die Bewegung und den zeitlichen Ablauf jedes Frames anpasst.
Gib oben einen Prompt ein oder entdecke die folgenden Beispiele:
Ozeanszene im Sora-Stil
Synchronisierte Atmosphäre
Skate-Sequenz im Veo-Stil
Bewegungsbewusste Aufprallgeräusche
Nahaufnahme eines Materials
Texturorientiertes Sounddesign
Installation
Wir haben mmaudio in Ubuntu-Umgebungen mit moderner CUDA-fähiger Hardware getestet.
Voraussetzungen
Wir empfehlen die Verwendung von miniforge Umgebung.
- Python 3.9+
- PyTorch 2.5.1+ mit den entsprechenden torchvision- und torchaudio-Paketen für Ihre CUDA-Version.
1. Installieren Sie bei Bedarf die erforderlichen Pakete:
Andere CUDA-Versionen funktionieren möglicherweise ebenfalls, sofern sie von Ihrer GPU und Ihrem Treiber unterstützt werden.
2. Klonen Sie das Repository:
3. Installieren Sie mmaudio mit pip:
pip install -e .
Die Modelldateien werden automatisch heruntergeladen, wenn das Demo-Skript ausgeführt wird. Prüfsummen und Modelldetails sind in der Repository-Dokumentation enthalten.
Demo
Standardmäßig verwenden die Skripte das large_44k_v2 -Modell. In unseren Experimenten benötigt die Inferenz im 16-Bit-Modus etwa 6 GB GPU-Speicher, was für viele moderne GPUs ausreicht.
Befehlszeilenschnittstelle
Mit demo.py:
Audio wird im .flac -Format geschrieben und das rekonstruierte Video wird im .mp4 -Format unter ./outputweglassen --video für die Text-zu-Audio-Synthese.
Gradio-Schnittstelle
Die Schnittstelle unterstützt die Synthese von Video zu Audio und Text zu Audio. Eine experimentelle Bild-zu-Audio-Verarbeitung ist ebenfalls verfügbar, indem ein Bild in eine Videosequenz dupliziert wird. Der Standardport ist 7860.
FAQ
- Videobearbeitung. Videos mit höherer Auflösung benötigen mehr Zeit zum Kodieren und Dekodieren, verbessern jedoch nicht unbedingt die Ausgabequalität. Der CLIP-Encoder passt die Frames auf 384×384 Pixel an, während Synchformer die kürzere Kante auf 224 Pixel anpasst und einen mittigen Zuschnitt anwendet.
- Bildraten. CLIP arbeitet mit 8 FPS und Synchformer mit 25 FPS. Die Bildratenkonvertierung erfolgt über den Videoleser, wobei Frames dupliziert werden, wenn die Eingangsbildrate niedriger als erforderlich ist.
- Fehlerfälle. Wie bei den meisten generativen Modellen können Fehler auftreten, und die Gründe dafür sind nicht immer offensichtlich. Bekannte Fehlermodi sind in den Projektmaterialien dokumentiert.
- Leistungsunterschiede. Hardware, Video-Backends, Inferenzpräzision, Batch-Größen, Kompilierungseinstellungen und Zufalls-Seeds können subtile Unterschiede zwischen den Durchläufen verursachen.
Bekannte Einschränkungen
- Das Modell kann manchmal unverständliche, menschenähnliche Sprachlaute erzeugen.
- Das Modell kann manchmal Hintergrundmusik erzeugen, ohne explizit musikalisch trainiert worden zu sein.
- Das Modell kann Schwierigkeiten mit unbekannten Konzepten und detaillierten Aktionsbeschreibungen haben.
Diese Einschränkungen können durch hochwertigere und vielfältigere Trainingsdaten behoben werden.
Training
Siehe TRAINING.md für Details zur Datenvorbereitung, zum verteilten Training und zur Konfiguration.
Evaluierung
Siehe EVAL.md für die Einrichtung der Benchmarks und Skripte zur Onset-Evaluierung.
Trainingsdatensätze
mmaudio wurde mit mehreren Datensätzen trainiert, darunter AudioSet, Freesound, VGGSound, AudioCaps und WavCaps. Diese Datensätze haben eigene Lizenzen und Nutzungsbedingungen. Die vortrainierten Modelle sind möglicherweise nicht für jeden kommerziellen Anwendungsfall geeignet.
Änderungsprotokoll
- 2025-03-09: Korrigierte TSV-Dateien hochgeladen.
- 2025-02-27: GradScaler standardmäßig deaktiviert, um die Trainingsstabilität zu verbessern.
- 2024-12-23: Skripte für das Training und die Batch-Evaluierung hinzugefügt.
- 2024-12-14: Den Frame-Reader durch PyAV ersetzt und Frames während der Rekonstruktion zwischengespeichert.
- 2024-12-13: Die Extraktion von CLIP- und Sync-Features durch einen Batchgrößenmultiplikator verbessert und den ungenutzten VAE-Encoder während der Inferenz entfernt.
- 2024-12-11: Den Framerate-Reader ersetzt, um eine zuverlässigere Rekonstruktion in verschiedenen gehosteten GPU-Umgebungen zu ermöglichen.
Zitierung
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}
}
Relevante Repositories
- av-benchmark für Benchmarking-Ergebnisse.
Lizenz
- Der Code wird unter der MIT-Lizenz veröffentlicht.
- Die Checkpoints werden unter der CC-BY-NC-4.0-Lizenz veröffentlicht.
Haftungsausschluss
Wir stehen in keiner Verbindung zu den Betreibern der Domain „mmaudio.net“ und haben keine Kenntnis darüber, wer dahintersteht.
Danksagung
Vielen Dank an:
- Make-An-Audio 2 für das vortrainierte 16kHz-BigVGAN-Modell und die VAE-Architektur.
- BigVGAN
- Synchformer
- EDM2 für die Architektur des VAE-Netzwerks zur Magnitudenerhaltung.