Mmaudio
Artigo · Página da web · Modelos · Demonstração · Colab · Replicate
Treinamento Conjunto Multimodal para Síntese de Vídeo para Áudio de Alta Qualidade
Ho Kei Cheng, Masato Ishii, Akio Hayakawa, Takashi Shibuya, Alexander Schwing, Yuki Mitsufuji
University of Illinois Urbana-Champaign, Sony AI e Sony Group Corporation
CVPR 2025
Destaque
mmaudio gera áudio sincronizado a partir de entradas de vídeo e texto. Sua ideia central é o treinamento conjunto multimodal em uma ampla variedade de dados audiovisuais e de áudio-texto, combinado a um módulo de sincronização que alinha o som gerado ao movimento e ao tempo de cada quadro.
Experimente um prompt acima ou explore os exemplos abaixo:
Cena oceânica no estilo Sora
Ambiente sincronizado
Sequência de skate no estilo Veo
Impactos sensíveis ao movimento
Close-up de material
Design sonoro guiado por texturas
Instalação
Testamos o mmaudio em ambientes Ubuntu com hardware moderno compatível com CUDA.
Pré-requisitos
Recomendamos usar um miniforge ambiente.
- Python 3.9+
- PyTorch 2.5.1+ com os pacotes correspondentes torchvision e torchaudio para a sua versão do CUDA.
1. Instale os pacotes de pré-requisito, se necessário:
Outras versões do CUDA também podem funcionar quando compatíveis com sua GPU e seu driver.
2. Clone o repositório:
3. Instale o mmaudio com pip:
pip install -e .
Os arquivos do modelo são baixados automaticamente quando o script de demonstração é executado. As somas de verificação e os detalhes do modelo estão incluídos na documentação do repositório.
Demonstração
Por padrão, os scripts usam o large_44k_v2 modelo. Em nossos experimentos, a inferência usa cerca de 6GB de memória da GPU no modo de 16 bits, o que é compatível com muitas GPUs modernas.
Interface de linha de comando
Com demo.py:
O áudio é salvo no formato .flac e o vídeo reconstruído é salvo no formato .mp4 em ./outputOmita --video para síntese de texto para áudio.
Interface do Gradio
A interface permite a síntese de áudio a partir de vídeo e de texto. Também há um recurso experimental de geração de áudio a partir de imagens, que duplica uma imagem para criar uma sequência de vídeo. A porta padrão é 7860.
Perguntas frequentes
- Processamento de vídeo. Vídeos de resolução mais alta demoram mais para codificar e decodificar, mas não necessariamente melhoram a qualidade do resultado. O codificador CLIP redimensiona os quadros para 384×384 pixels, enquanto o Synchformer redimensiona a borda mais curta para 224 pixels e aplica um recorte central.
- Taxas de quadros. O CLIP opera a 8 FPS e o Synchformer, a 25 FPS. A conversão da taxa de quadros é feita pelo leitor de vídeo, que duplica quadros quando a taxa de entrada é menor do que a necessária.
- Casos de falha. Como ocorre com a maioria dos modelos generativos, podem acontecer falhas, e os motivos nem sempre são evidentes. Os tipos de falha conhecidos estão documentados nos materiais do projeto.
- Variações de desempenho. Hardware, sistemas de processamento de vídeo, precisão da inferência, tamanhos de lote, configurações de compilação e sementes aleatórias podem produzir diferenças sutis entre execuções.
Limitações conhecidas
- Às vezes, o modelo pode gerar sons ininteligíveis semelhantes à fala humana.
- Às vezes, o modelo pode gerar música de fundo sem treinamento musical explícito.
- O modelo pode ter dificuldade com conceitos desconhecidos e descrições detalhadas de ações.
Essas limitações podem ser mitigadas com dados de treinamento de maior qualidade e mais diversos.
Treinamento
Consulte TRAINING.md para saber mais sobre preparação de dados, treinamento distribuído e configurações.
Avaliação
Consulte EVAL.md para saber mais sobre a configuração dos benchmarks e os scripts de avaliação de início de eventos.
Conjuntos de dados de treinamento
O mmaudio foi treinado em vários conjuntos de dados, incluindo AudioSet, Freesound, VGGSound, AudioCaps e WavCaps. Esses conjuntos de dados têm suas próprias licenças e termos de uso. Os modelos pré-treinados podem não ser adequados para todos os casos de uso comercial.
Registros de atualizações
- 2025-03-09: Arquivos TSV corrigidos foram enviados.
- 2025-02-27: O GradScaler foi desativado por padrão para melhorar a estabilidade do treinamento.
- 2024-12-23: Scripts de treinamento e avaliação em lote foram adicionados.
- 2024-12-14: O leitor de frames foi substituído pelo PyAV, e os frames foram armazenados em cache durante a reconstrução.
- 2024-12-13: A extração de características do CLIP e do Sync foi aprimorada com um multiplicador de tamanho de lote, e o codificador VAE não utilizado foi removido durante a inferência.
- 2024-12-11: O leitor de taxa de quadros foi substituído para obter uma reconstrução mais confiável em diferentes ambientes de GPU hospedados.
Citação
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}
}
Repositórios relevantes
- av-benchmark para resultados de benchmarking.
Licença
- O código é disponibilizado sob a licença MIT.
- Os checkpoints são disponibilizados sob a licença CC-BY-NC 4.0.
Isenção de responsabilidade
Não temos qualquer afiliação com a parte responsável pelo domínio “mmaudio.net” e não temos conhecimento sobre ela.
Agradecimentos
Agradecemos especialmente a:
- Make-An-Audio 2 para o modelo BigVGAN pré-treinado de 16kHz e a arquitetura VAE.
- BigVGAN
- Synchformer
- EDM2 para a arquitetura de rede VAE com preservação de magnitude.