Lezione 06 · ~12 min · caso di studio

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

Parametri
3,5 mld
Durata output
fino a 4 min
Inferenza (A100)
~20 s / 4 min
Lingue
19

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

  1. Apri lo Space su Hugging Face e genera un brano di 60 secondi in un genere che non ascolti di solito.
  2. Rigeneralo con lo stesso prompt tre volte. Annota cosa cambia e cosa resta uguale — quel divario è "ciò che il prompt controlla davvero".
  3. 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.
  4. 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