Aller au contenu

Structure procédurale et contexte dans la génération musicale

Bon, j’ai compris comment fonctionnent les RAG. En gros, ce sont des bases de données vectorielles. Un moyen d’injecter des données dans votre LLM.

Et voilà ce que je vais faire : utiliser Claude ou ChatGPT pour en remplir une avec de l’histoire de la musique, des infos sur les instruments et des stats sonores, que je pourrai ensuite brancher sur Dolphin ou un modèle similaire.

Ça va permettre plusieurs choses, genre :

1. L’écriture : quand on demande des paroles de chanson pop à la machine, elle générera un morceau correct en se basant sur des structures de pop stockées. Fini les chansons pop avec des outros. Par contre, si on lui demande une chanson folk un peu divagante, on pourrait en avoir une.

2. L’orchestration : pareil pour l’orchestration. Si, disons, je voulais monter une chanson folk bulgare inspirée de la musique de chambre, jouée à l’accordéon avec des styles jazz... je peux obtenir une structure compositionnelle physique précise qui corresponde à ça, plutôt que de tout caler sur deux couplets, un pont, un refrain et un outro optionnel.

3. Et, puisqu’on en parle, le composite genre : tout ça, c’est pour donner du contexte à la machine !!! C’est tout. La machine devrait être assez puissante pour faire fonctionner n’importe quelle combinaison de genres, même les plus bizarres... avec assez d’infos sur le timing et l’histoire.

Ce qui est intéressant ici, je pense, c’est que le comportement de la machine devrait être nettement différent de celui de Suno ou Udio, parce que je n’ai pas besoin d’utiliser le tagging de RYM, et je n’en ai pas envie. Pas le moindre petit bout n’est nécessaire.

On a l’opportunité de bâtir une meilleure architecture, de repenser tout ça depuis le début. Les données synthétiques sont bien plus flexibles que les données à l’ancienne. Pourquoi réinventer la roue quand on a déjà toutes ces infos sous la main ?

Ok, c’est pas juste. On est des putains de programmeurs.
On fabrique de meilleures roues parce que c’est marrant, bordel. Mais sérieusement, ma méthode est meilleure, plus stable, avec moins de surprises au moment du rendu.