Phase 06 - Lesson 09
Geração de Música — MusicGen, Stable Audio, Suno e o Terremoto do Licenciamento
Geração de música em 2026: Suno v5 e Udio v4 dominam o comercial; MusicGen, Stable Audio Open e ACE-Step lideram o código aberto. O problema técnico está, em sua maior parte, resolvido. O problema jurídico (acordo de US$ 500M da Warner Music, acordo da UMG) remodelou o setor em 2025-2026.
Tipo: Build Linguagens: Python Pré-requisitos: Fase 6 · 02 (Espectrogramas), Fase 4 · 10 (Modelos de Difusão) Tempo: ~75 minutos
O Problema
Texto → um clipe de música de 30 segundos a 4 minutos, com letra, vocais e estrutura. Três subproblemas:
- Geração instrumental. Texto como "bateria de lo-fi hip-hop com teclas quentes" → áudio. MusicGen, Stable Audio, AudioLDM.
- Geração de canção (com vocais + letra). "Música country sobre noites chuvosas no Texas" → canção completa. Suno, Udio, YuE, ACE-Step.
- Condicional / controlável. Estender um clipe existente, regerar uma ponte, trocar de gênero, separar stems ou fazer inpainting. O inpainting + separação de stems da Udio é o recurso de 2026 a ser igualado.
O Conceito
LM de tokens sobre tokens de neural-codec
O MusicGen da Meta (2023, MIT) e muitos derivados: condicionam em embeddings de texto/melodia, predizem autoregressivamente tokens do EnCodec (32 kHz, 4 codebooks), decodificam com o EnCodec. 300M - 3,3B de parâmetros. Baseline forte; tem dificuldades além dos 30 segundos.
O ACE-Step (código aberto, XL de 4B lançado em abril de 2026) estende isso para geração de canção completa condicionada por letra. O equivalente mais próximo do Suno na comunidade aberta.
Difusão sobre mels ou latentes
Stable Audio (2023) e Stable Audio Open (2024): difusão latente sobre áudio comprimido. Excelente em loops, sound design e texturas ambientes. Não muito bom em canções completas estruturadas.
AudioLDM / AudioLDM2: texto-para-áudio via difusão latente no estilo T2I, generalizada para música, efeitos sonoros e fala.
Híbrido (produção) — Suno, Udio, Lyria
Pesos fechados. Provavelmente LM de codec AR + vocoder baseado em difusão com heads especializadas de voz / bateria / melodia. O Suno v5 (2026) é o líder de qualidade com ELO 1293. O Udio v4 adiciona inpainting + separação de stems (downloads separados de baixo, bateria, vocais).
Avaliação
- FAD (Fréchet Audio Distance). Distância em nível de embedding entre a distribuição de áudio gerado vs real usando features do VGGish ou PANNs. Quanto menor, melhor. MusicGen small: FAD 4,5 no MusicCaps; SOTA ~3,0.
- Musicalidade (subjetiva). Preferência humana. Suno v5 lidera com ELO 1293.
- Alinhamento texto-áudio. Score CLAP entre o prompt e a saída.
- Artefatos de musicalidade. Transições fora do tempo, deriva de frase vocal, perda de estrutura após 30 s.
Mapa de modelos de 2026
| Modelo | Parâmetros | Duração | Vocais | Licença |
|---|---|---|---|---|
| MusicGen-large | 3,3B | 30 s | não | MIT |
| Stable Audio Open | 1,2B | 47 s | não | Stability não-comercial |
| ACE-Step XL (abr 2026) | 4B | > 2 min | sim | Apache-2.0 |
| YuE | 7B | > 2 min | sim, multilíngue | Apache-2.0 |
| Suno v5 (fechado) | ? | 4 min | sim, ELO 1293 | comercial |
| Udio v4 (fechado) | ? | 4 min | sim + stems | comercial |
| Google Lyria 3 (fechado) | ? | tempo real | sim | comercial |
| MiniMax Music 2.5 | ? | 4 min | sim | API comercial |
O cenário jurídico (2025-2026)
- Acordo Warner Music vs Suno. US$ 500M. A WMG agora tem supervisão sobre semelhança por IA, direitos musicais e faixas geradas por usuários no Suno. Acordo semelhante da UMG sobre o Udio.
- EU AI Act + California SB 942: música gerada por IA deve ser declarada.
- Riffusion / MusicGen sob MIT não têm bagagem de conformidade, mas também não têm vocais comerciais.
Padrões seguros para lançar:
- Gerar apenas instrumental (MusicGen, Stable Audio Open, saídas MIT/CC0).
- Usar APIs comerciais (Suno, Udio, ElevenLabs Music) com termos por geração.
- Treinar em catálogo próprio ou com termos (a maioria das empresas acaba aqui).
- Marcar as gerações com watermarks + metadados.
Mãos à Obra
Passo 1: gerar com MusicGen
from audiocraft.models import MusicGen
import torchaudio
model = MusicGen.get_pretrained("facebook/musicgen-small")
model.set_generation_params(duration=10)
wav = model.generate(["upbeat synthwave with driving drums, 128 BPM"])
torchaudio.save("out.wav", wav[0].cpu(), 32000)
Três tamanhos: small (300M, rápido), medium (1,5B), large (3,3B). O small é suficiente para "a ideia funciona?".
Passo 2: condicionamento por melodia
melody, sr = torchaudio.load("humming.wav")
wav = model.generate_with_chroma(
["jazz piano cover"],
melody.squeeze(),
sr,
)
O MusicGen-melody recebe um chromagrama e preserva a melodia enquanto troca o timbre. Útil para "me dê esta melodia como um quarteto de cordas".
Passo 3: avaliação FAD
from frechet_audio_distance import FrechetAudioDistance
fad = FrechetAudioDistance()
fad.get_fad_score("generated_folder/", "reference_folder/")
Computa a distância de embedding do VGGish. Útil para testes de regressão em nível de gênero; não substitui ouvintes humanos.
Passo 4: adicionando ao fluxo de trabalho de música com LLM
Combine com as ideias das Lições 7-8:
prompt = "Write a 30-second jazz loop. Describe the drums, bass, and piano voicing."
description = llm.complete(prompt)
music = musicgen.generate([description], duration=30)
Use
| Objetivo | Stack |
|---|---|
| Sound design instrumental | Stable Audio Open |
| Música para jogos / adaptativa | Google Lyria RealTime (fechado) |
| Canções completas com vocais (comercial) | Suno v5 ou Udio v4 com licença explícita |
| Canções completas com vocais (aberto) | ACE-Step XL ou YuE |
| Jingle curto de anúncio | MusicGen condicionado por melodia a partir de uma referência cantarolada |
| Trilha de fundo para videoclipe | MusicGen + Stable Video Diffusion |
Armadilhas que ainda surgem em 2026
- Prompts de lavagem de copyright. "Música no estilo de Taylor Swift" — Suno/Udio comerciais filtram isso agora, modelos abertos não. Adicione sua própria lista de filtros.
- Repetição / deriva após 30 s. Modelos AR entram em loop. Faça crossfade de várias gerações ou use ACE-Step para coerência estrutural.
- Deriva de tempo. Os modelos saem do BPM. Use tags de BPM no prompt e pós-filtre com o
beat_trackdo librosa. - Inteligibilidade vocal. O Suno é excelente; modelos abertos costumam embolar as palavras. Se a letra importa, use uma API comercial ou faça fine-tune.
- Saída mono. Modelos abertos geram mono ou estéreo falso. Faça o upgrade com uma reconstrução estéreo adequada (ezst, difusão estéreo da Cartesia).
Entregue
Salve como outputs/skill-music-designer.md. Escolha o modelo, a estratégia de licença, o plano de duração / estrutura e os metadados de declaração para uma implantação de geração de música.
Exercícios
- Fácil. Execute
code/main.py. Ele produz uma progressão de acordes "generativa" + padrão de bateria como símbolos ASCII — uma caricatura de geração de música. Reproduza com qualquer renderizador MIDI se quiser. - Médio. Instale o
audiocraft, gere clipes de 10 segundos em 4 prompts de gênero com o MusicGen-small e meça o FAD contra um conjunto de gênero de referência. - Difícil. Usando o ACE-Step (ou MusicGen-melody), gere três variações da mesma melodia com prompts de timbre diferentes. Calcule a similaridade CLAP com o prompt para verificar o alinhamento.
Termos-Chave
| Termo | O que as pessoas dizem | O que realmente significa |
|---|---|---|
| FAD | FID de áudio | Distância de Fréchet entre distribuições de embedding de áudio real vs gerado. |
| Chromagrama | Melodia como notas | Vetor de 12 dimensões por frame; entrada para o condicionamento por melodia. |
| Stems | Faixas de instrumentos | Baixo / bateria / vocais / melodia separados como WAV. |
| Inpainting | Regerar uma seção | Mascara uma janela de tempo; o modelo regenera apenas ela. |
| CLAP | CLIP texto-áudio | Embedding contrastivo de áudio-texto; avalia o alinhamento texto-áudio. |
| EnCodec | Codec de música | Codec neural da Meta usado pelo MusicGen; 32 kHz, 4 codebooks. |
Leitura Adicional
- Copet et al. (2023). MusicGen — o benchmark autoregressivo aberto.
- Evans et al. (2024). Stable Audio Open — o padrão para sound design.
- ACE-Step — gerador aberto de 4B de canção completa, abril de 2026.
- Documentação da plataforma Suno v5 — o líder de qualidade comercial.
- AudioLDM2 — difusão latente para música + efeitos sonoros.
- Cobertura do acordo WMG-Suno — precedente de novembro de 2025.