Síntese de áudio multimodal

mmaudio transforma vídeo em som

Gere áudio sincronizado a partir de vídeo ou texto com um kit de ferramentas voltado à pesquisa, criado para resultados expressivos e conscientes de cada quadro.

Testar um prompt

Descreva a atmosfera que seu vídeo precisa.

vídeo → áudio

Grátis para começar · sem cadastro · ~10 s

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:

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:

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

Outras versões do CUDA também podem funcionar quando compatíveis com sua GPU e seu driver.

2. Clone o repositório:

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

3. Instale o mmaudio com pip:

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

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

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.

python gradio_demo.py

Perguntas frequentes

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

  1. Às vezes, o modelo pode gerar sons ininteligíveis semelhantes à fala humana.
  2. Às vezes, o modelo pode gerar música de fundo sem treinamento musical explícito.
  3. 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

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

Repositórios relevantes

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:

Crie com som sincronizado

Use o repositório para fazer experimentos, consulte os exemplos como referência ou insira um prompt na experiência hospedada quando quiser transformar uma ideia em uma faixa de áudio.

Vídeo para áudio Texto para áudio Alinhamento de quadros Pesquisa aberta Vídeo para áudio Texto para áudio Alinhamento de quadros Pesquisa aberta
Comece a criar
Comece a criar