Un nouveau moteur de génération musicale open-source

Un projet baptisé DEMON (Diffusion Engine for Musical Orchestrated Noise) propose un moteur de diffusion musicale en temps réel, fonctionnant sur un GPU local. Présenté comme une solution open-source, il repose sur le modèle ACE-Step v1.5 (2 B turbo et 5 B XL turbo) et exploite un tampon circulaire (ring buffer) de générations en cours. Chaque emplacement du tampon possède son propre programme de pas temporel (timestep schedule), et une seule passe avant (forward pass) par cycle fait progresser l'ensemble du pipeline.

Fonctionnement et performances

Le système, une fois le pipeline entièrement chargé, produit une latence de génération (song latent) par cycle. Tous les paramètres de l'équation différentielle stochastique (SDE) – préservation de la source par image, mise à l'échelle de la vélocité, injection de bruit ODE, guidage sans classifieur (CFG), morphing cible x0, gain de canal – peuvent être contrôlés par une valeur scalaire ou une courbe par image à la résolution de 25 Hz du latent. Un registre de courbes partagées propage les modifications à tous les emplacements en vol dès le cycle suivant.

Les performances mesurées sur une carte RTX 5090 (32 Go) avec le modèle ACE-Step v1.5 turbo (2 B), 8 étapes de débruitage et un décodage VAE fenêtré de 3 secondes montrent un débit de 12,3 générations par seconde (profondeur de pipeline = 8), avec une latence par cycle de 81,1 ms. La résolution de contrôle par image atteint 25 Hz (40 ms). Le décodage VAE fenêtré (fenêtre de 3 secondes) s'effectue en 7 ms. Le remplacement à chaud d'un LoRA (LoRA refit) prend 1,2 seconde sans reconstruction du moteur.

Deux voies de contrôle

Le moteur distingue deux catégories de paramètres. Les paramètres de soumission (submission-time) – comme le conditionnement textuel, l'audio source et le débruitage – sont appliqués lorsqu'une nouvelle requête est soumise et prennent effet sur l'emplacement libéré suivant. Les paramètres de pas temporel (step-time) – préservation de la source, morphing cible x0, mise à l'échelle de la vélocité, injection de bruit ODE, gain de canal, guidage CFG, etc. – résident dans un registre partagé que chaque emplacement consulte à chaque passe avant ; leur modification est effective pour tous les emplacements en vol dès le cycle suivant, quelle que soit la profondeur du pipeline.

Qualité sonore et expériences

Les développeurs mettent en avant que le pipeline de diffusion en continu ne dégrade pas la qualité par rapport à un traitement par lots (bit-identical). Plusieurs exemples audio illustrent les capacités du moteur : mélange de prompts en direct avec contrôle du timbre et du débruitage, contrôle en direct sur le modèle XL (5 B), transfert de genre via LoRA (remplacement à chaud sans reconstruction), et contrôle agentique via le serveur MCP (un agent LLM pilotant les paramètres en temps réel).

Des expériences spécifiques démontrent la préservation de la source par image via une courbe 1 − t³, le débruitage scalaire par cycle sur la même courbe, la continuité entre générations grâce à l'ordonnancement hétérogène par emplacement (contre un reset global qui entraîne environ 648 ms de silence), et le morphing latent entre deux variantes d'un même morceau.

Disponibilité et accès

Le code source, la documentation (paper) et une démo en ligne sont accessibles publiquement. Le projet est porté par Ryan Fosdick et l'équipe Daydream. Les moteurs TensorRT natifs couvrent des longueurs de 60, 120 et 240 secondes ; les morceaux plus longs utilisent une fenêtre glissante de 60 secondes.