Mmaudio
Article · Page web · Modèles · Démo · Colab · Replicate
Apprivoiser l’entraînement conjoint multimodal pour une synthèse vidéo-audio de haute qualité
Ho Kei Cheng, Masato Ishii, Akio Hayakawa, Takashi Shibuya, Alexander Schwing, Yuki Mitsufuji
University of Illinois Urbana-Champaign, Sony AI et Sony Group Corporation
CVPR 2025
À la une
mmaudio génère un audio synchronisé à partir d’entrées vidéo et textuelles. Son idée centrale repose sur un entraînement conjoint multimodal couvrant un large éventail de données audiovisuelles et audio-textuelles, associé à un module de synchronisation qui aligne le son généré sur le mouvement et le rythme de chaque image.
Essayez un prompt ci-dessus ou explorez les exemples ci-dessous :
Scène océanique dans le style de Sora
Ambiance synchronisée
Séquence de skate dans le style de Veo
Impacts sensibles au mouvement
Gros plan sur un matériau
Conception sonore guidée par la texture
Installation
Nous avons testé mmaudio dans des environnements Ubuntu dotés de matériel moderne compatible CUDA.
Prérequis
Nous recommandons d’utiliser miniforge environnement.
- Python 3.9+
- PyTorch 2.5.1+ avec les packages torchvision et torchaudio correspondants à votre version de CUDA.
1. Installez les packages prérequis si nécessaire :
D’autres versions de CUDA peuvent également fonctionner si elles sont prises en charge par votre GPU et votre pilote.
2. Clonez le dépôt :
3. Installez mmaudio avec pip :
pip install -e .
Les fichiers de modèles sont téléchargés automatiquement lors de l’exécution du script de démonstration. Les sommes de contrôle et les détails des modèles sont inclus dans la documentation du dépôt.
Démonstration
Par défaut, les scripts utilisent le large_44k_v2 modèle. Dans nos expériences, l’inférence utilise environ 6 Go de mémoire GPU en mode 16 bits, ce qui convient à de nombreux GPU modernes.
Interface en ligne de commande
Avec demo.py:
L’audio est enregistré au format .flac et la vidéo reconstruite est enregistrée au format .mp4 dans ./outputOmettez --video pour la synthèse audio à partir de texte.
Interface Gradio
L’interface prend en charge la synthèse vidéo-audio et texte-audio. Le traitement expérimental image-audio est également disponible en dupliquant une image dans une séquence vidéo. Le port par défaut est 7860.
FAQ
- Traitement vidéo. Les vidéos à plus haute résolution prennent plus de temps à encoder et à décoder, mais n’améliorent pas nécessairement la qualité de sortie. L’encodeur CLIP redimensionne les images en 384×384 pixels, tandis que Synchformer redimensionne le bord le plus court à 224 pixels et applique un recadrage centré.
- Fréquences d’images. CLIP fonctionne à 8 FPS et Synchformer à 25 FPS. La conversion de la fréquence d’images s’effectue via le lecteur vidéo, avec duplication lorsque la fréquence d’images d’entrée est inférieure à la fréquence requise.
- Cas d’échec. Comme pour la plupart des modèles génératifs, des échecs peuvent survenir et leurs raisons ne sont pas toujours évidentes. Les modes d’échec connus sont documentés dans les documents du projet.
- Variations des performances. Le matériel, les backends vidéo, la précision de l’inférence, les tailles de lots, les paramètres de compilation et les graines aléatoires peuvent produire de subtiles différences entre les exécutions.
Limitations connues
- Le modèle peut parfois générer des sons inintelligibles ressemblant à de la parole humaine.
- Le modèle peut parfois générer de la musique de fond sans entraînement musical explicite.
- Le modèle peut avoir des difficultés avec les concepts inhabituels et les descriptions d’actions détaillées.
Ces limitations peuvent être atténuées grâce à des données d’entraînement de meilleure qualité et plus diversifiées.
Entraînement
Voir TRAINING.md pour les détails sur la préparation des données, l’entraînement distribué et la configuration.
Évaluation
Voir EVAL.md pour la configuration des benchmarks et les scripts d’évaluation de l’attaque.
Ensembles de données d’entraînement
mmaudio a été entraîné sur plusieurs ensembles de données, notamment AudioSet, Freesound, VGGSound, AudioCaps et WavCaps. Ces ensembles de données sont soumis à leurs propres licences et conditions d’utilisation. Les modèles préentraînés peuvent ne pas convenir à tous les cas d’utilisation commerciale.
Journal des mises à jour
- 2025-03-09 : Fichiers TSV corrigés mis en ligne.
- 2025-02-27 : GradScaler désactivé par défaut afin d’améliorer la stabilité de l’entraînement.
- 2024-12-23 : Ajout de scripts d’entraînement et d’évaluation par lots.
- 2024-12-14 : Remplacement du lecteur d’images par PyAV et mise en cache des images pendant la reconstruction.
- 2024-12-13 : Amélioration de l’extraction des caractéristiques CLIP et Sync avec un multiplicateur de taille de lot, et suppression de l’encodeur VAE inutilisé lors de l’inférence.
- 2024-12-11 : Remplacement du lecteur de fréquence d’images pour une reconstruction plus fiable dans les environnements GPU hébergés.
Citation
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}
}
Dépôts pertinents
- av-benchmark pour les résultats de référence.
Licence
- Le code est distribué sous licence MIT.
- Les points de contrôle sont distribués sous licence CC-BY-NC 4.0.
Avertissement
Nous n’avons aucune affiliation avec la partie à l’origine du domaine « mmaudio.net » et nous n’avons aucune information à son sujet.
Remerciements
Merci à :
- Make-An-Audio 2 pour le modèle préentraîné BigVGAN à 16 kHz et l’architecture VAE.
- BigVGAN
- Synchformer
- EDM2 pour l’architecture réseau VAE à préservation de magnitude.