Génération musicale

local-suno

En prod ACE-Step 1.5RVCDemucs

Ce que c'est

Paroles → chanson → voix clonée → master : ACE-Step 1.5 (MLX), séparation Demucs, conversion RVC, limiteur lookahead. Demande au gateway de libérer la RAM avant de tourner.

La décision d'architecte

Découverte contre-intuitive : forcer un décodage contraint sur la génération de paroles l'a cassée. Le schéma n'était borné nulle part (objets et listes ouverts) — sous contrainte dure le modèle n'a aucune raison de s'arrêter et boucle jusqu'au plafond : 8 192 tokens, 140 s, JSON tronqué. Sans contrainte : 708 tokens, 13,8 s, JSON valide. Règle retenue et verrouillée par un test : le décodage contraint ne compense pas un schéma non borné. Master mesuré à −14,6 LUFS, crête −1,0 dBTP. 813 tests, 134 commits.

Ce qui a mal tourné

Le décodage contraint a cassé la génération de paroles. C'est le contre-exemple le plus utile que j'aie mesuré. Forcer une sortie structurée devait fiabiliser le format ; le résultat a été l'inverse : 8 192 tokens, 140 secondes, JSON tronqué. Sans contrainte : 708 tokens, 13,8 secondes, JSON valide.

La cause n'était pas l'outil mais le schéma — non borné, objets et listes ouverts. Sous contrainte dure, le modèle n'a aucune raison de s'arrêter et boucle jusqu'au plafond. Règle retenue et verrouillée par un test : le décodage contraint ne compense pas un schéma non borné, il l'amplifie.

Des durées annoncées à chaud. Le pipeline répondait en 5 à 7 secondes — à modèle déjà chargé. Au premier appel après éviction, il faut compter environ deux minutes. Annoncer la valeur à chaud était la manière la plus sûre de décevoir : les délais d'attente et l'interface se dimensionnent sur la valeur à froid.

Les chiffres

813tests
−14,6 LUFSmaster mesuré, crête −1,0 dBTP
708tokens sans contrainte, contre 8 192 sous contrainte
13,8 scontre 140 s

Le code

Dépôt privé — visite commentée en visio

Compétences mobilisées

Projets liés

Vos données ne peuvent pas sortir ?

C'est exactement le problème que je résous. Un appel de 30 minutes suffit à cadrer un audit.