ACE-Step: un modello musicale che si può leggere
Un sistema open-source basato su Transformer che genera fino a quattro minuti di musica in circa venti secondi — e ti lascia ispezionare ogni riga di codice.
La maggior parte dei modelli musicali di cui hai sentito parlare — Suno, Udio, MusicLM — sono prodotti chiusi. Inserisci un prompt, esce dell'audio, e il meccanismo nel mezzo è un segreto commerciale. ACE-Step è l'opposto: un modello musicale di livello research i cui pesi, ricetta di addestramento e codice di inferenza sono tutti pubblici. Per una lezione su come questi sistemi funzionano davvero, non è poco.
Cos'è, in un paragrafo
ACE-Step è un modello fondazionale per la musica open-source da 3,5 miliardi di parametri rilasciato da ACE Studio e StepFun. Prende una descrizione testuale (e, opzionalmente, dei testi delle canzoni) e produce diversi minuti di audio finito con voce, strumenti e struttura. Il numero di copertina degli autori: fino a quattro minuti di musica in circa venti secondi su una singola GPU A100 — circa quindici volte più veloce delle baseline in stile LLM con cui si confronta, mantenendo coerenza lungo l'intero brano.
Come si lega a quello che abbiamo appena imparato
ACE-Step non è "GPT per la musica" — ed è proprio questa la parte interessante. I modelli musicali puramente autoregressivi (in stile LLM) come Yue o SongGen si allineano bene con i testi ma sono lenti e tendono a perdere la struttura su un brano lungo. I modelli puramente a diffusione come DiffRhythm sono veloci ma perdono la forma musicale a lungo raggio. ACE-Step combina entrambe le idee:
- Backbone a diffusione. L'audio viene generato rimuovendo gradualmente il rumore — stessa famiglia di metodi di Stable Diffusion per le immagini.
- Deep Compression AutoEncoder (DCAE), da Sana. Comprime l'audio grezzo in uno spazio latente molto più piccolo così che il modello a diffusione possa lavorare a basso costo.
- Un Transformer lineare leggero. È qui che ricompare il meccanismo di attenzione delle Lezioni 02–03. Si usa una variante a linear-attention così il modello può gestire sequenze audio lunghe con una quantità ragionevole di memoria.
- Allineamento semantico con MERT e m-HuBERT (REPA). Durante l'addestramento il modello viene spinto perché le sue rappresentazioni interne si allineino con due modelli pre-addestrati di comprensione audio. È ciò che lo fa convergere in fretta.
L'attenzione lineare scambia un po' di espressività con la capacità di scalare a sequenze molto lunghe — un compromesso onesto per la musica, dove un brano può facilmente essere lungo decine di migliaia di token audio.
Cosa puoi farci davvero
Oltre a generare un brano da un prompt, il repository contiene sorprendentemente molti strumenti derivati, ciascuno costruito sullo stesso modello fondazionale:
- Variazioni — rigenera un brano mantenendone il carattere generale.
- Repainting — conserva la maggior parte di un brano ma rigenera una regione (una strofa, un assolo).
- Modifica del testo — cambia alcune parole nel cantato preservando melodia e strumentazione.
- Lyric2Vocal (LoRA) — trasforma un testo in una linea vocale cantata.
- Singing2Accompaniment — produce un accompagnamento strumentale per una voce esistente.
- Voice cloning — canta un nuovo brano nello stile di una voce di riferimento.
In numeri
Provalo senza installare nulla
Il modo più rapido è lo Space ufficiale su Hugging Face — esegue il modello su una GPU in cloud e ti dà l'interfaccia Gradio completa. Porta un prompt di una riga e qualche verso di testo.
Eseguilo sulla tua macchina
Aggiornamenti recenti hanno abbassato il requisito di VRAM a circa 8 GB, il che significa che una GPU consumer recente è in grado di eseguire l'inferenza. Il comando di avvio consigliato dal README del progetto è:
pip install acestep acestep --torch_compile true --cpu_offload true --overlapped_decode true
Snippet adattato dal README di ACE-Step. Leggi sempre le istruzioni di installazione originali prima di eseguire qualcosa.
Esercitazione di laboratorio
- Apri lo Space su Hugging Face e genera un brano di 60 secondi in un genere che non ascolti di solito.
- Rigeneralo con lo stesso prompt tre volte. Annota cosa cambia e cosa resta uguale — quel divario è "ciò che il prompt controlla davvero".
- Usa ora la funzione di repainting per conservare l'introduzione e sostituire solo il ritornello. Scrivi una frase su se il risultato sembra ancora un unico brano.
- Trova nel diagramma del paper di ACE-Step un blocco che riconosci dalla Lezione 03 (il Transformer originale). Nominalo e spiegane il ruolo.
Citazione e licenza
ACE-Step è rilasciato dal team ACE-Step (ACE Studio & StepFun) sotto licenza Apache 2.0 per il codice e una licenza separata per i pesi del modello. Se lo usi nel tuo progetto finale, cita:
Gong, J., Zhang, W., Liu, S., Yu, Z., Yang, Q., Yu, J., Wang, Z., Zhang, R., Zhang, X., Zhao, L., & Zhang, M. ACE-Step: A Step Towards Music Generation Foundation Model. arXiv:2506.00045 (2025). https://github.com/ace-step/ACE-Step