Synthèse audio multimodale

mmaudio transforme la vidéo en son

Générez un audio synchronisé à partir d’une vidéo ou d’un texte grâce à une boîte à outils conçue d’abord pour la recherche, offrant des résultats expressifs et sensibles à chaque image.

Essayer une invite

Décrivez l’atmosphère dont votre vidéo a besoin.

vidéo → audio

Démarrage gratuit · sans inscription · ~10 s

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 :

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 :

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

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 :

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

3. Installez mmaudio avec pip :

cd MMAudio
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:

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

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.

python gradio_demo.py

FAQ

  1. 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é.
  2. 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.
  3. 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.
  4. 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

  1. Le modèle peut parfois générer des sons inintelligibles ressemblant à de la parole humaine.
  2. Le modèle peut parfois générer de la musique de fond sans entraînement musical explicite.
  3. 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

@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}
}

Dépôts pertinents

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 à :

Créez avec un son synchronisé

Utilisez le dépôt pour vos expériences, consultez les exemples comme référence ou soumettez un prompt à l’expérience hébergée lorsque vous souhaitez passer d’une idée à une piste audio.

Vidéo vers audio Texte vers audio Alignement des images Recherche ouverte Vidéo vers audio Texte vers audio Alignement des images Recherche ouverte
Commencer à créer
Commencer à créer