Créer un plugin sans rien y connaître avec Google Gemini. (Done)
- 51 réponses
- 11 participants
- 1 399 vues
- 18 followers
Mini-Maxi
Il y a quelques jours j'ai initié une discussion où je présentais Google Gemini et son mode Canvas très doué pour créer des instruments virtuels en quelques instants, c'est une excellente entrée en matière:
https://fr.audiofanzine.com/mao/forums/t.832343,ia-google-gemini-generer-un-instrument-virtuel-en-30secondes.html
Mais le vrai Graal, celui que vous attendez tous, est de savoir si Gemini peut vous aider à créer un plugin pour votre Daw préféré...
Je vous présente ma petite fierté du jour: un plugin "Bouton de volume" codé sans connaissances particulières en deux heures ce soir.

Je précise le contexte: je suis sur Mac, mon DAW est Logic Pro. Mon expérience en programmation se limite à l'Arduino. Je comprends les bases du C++ dans ce contexte, la compilation, le concept d'un IDE... mais il y a deux heures encore, je n'avais jamais ouvert Xcode, et encore moins programmé un plugin.
Pour se faire je me suis laissé guidé par l'IA en installant Xcode et Juce. Xcode permet de développer les logiciels macOS, tandis que JUCE est un framework C++ open-source qui permet de développer des applications audio et des plugins( c'est Gemini qui le dit). C'est utilisé par pas mal de monde.
J'ai adopté une approche très méthodique dès l'installation, fournissant à Gemini une capture d'écran à quasiment chaque étape, parfois même le code entier de chaque page, afin qu'il puisse analyser la situation et me guider correctement. Je n'ai pas eu à taper la moindre ligne de code.
Ca a un peu bloqué sur la fin, des erreurs empêchant la compilation, j'ai senti que Gemini tournait en boucle et mon code ne compilait pas. J'ai activé le mode "Pro" comme un dernier espoir... ( le mode "Pro" est disponible gratuitement pour une ou deux questions par jour), il m'a sorti de cette impasse en détectant des modules manquants dans Juce. Alors Xcode a compilé et le plugin fût créé.
A l'ouverture de Logic, le plugin apparaît dans la liste des Audio Units, on peut choisir de l'utiliser en mono ou stéréo.... et surtout le bouton de volume fonctionne! c'est peut-être un détail pour vous, mais pour moi, ça veut dire beaucoup.
csurieux
Détrompe-toi, un gros effort est fait chez les concepteurs pour entraîner leurs IA sur des données de qualité, par exemple des données universitaires ou des papiers scientifiques. Ca n'évite pas les sorties de route mais les réponses ont réellement gagnées en pertinence ces dernières années.
Oui, j'ai suivi, y compris les différents procès en accès illégal et usage de données sans permission comme celui qui vise un des créateurs de Mistral dans sa période précédente.
Je ne suis pas tout à fait certain que l'éthique soit devenue si importante pour ces sociétés, ni qu'elles soient munies d'une autorité interne de transparence fiable sur leurs sources. L'époque étant plutôt à bazarder toute éthique.
Et s'il faut se fier aux avocats, en général US, pour trouver des solutions aux conflits, on peut craindre que cela ne se termine à la banque.
Surtout à voir ce que répond Gemini, toujours très sûr de lui.
Copilot de son côté préfère se 'suicider' en coupant la session dès qu'il sent un terrain incertain
Mais c'est vrai que ton test est interessant.
[ Dernière édition du message le 16/01/2026 à 19:16:33 ]
DocK'S
Mais dans mon plug j'ai besoin d'un "bidule-mètre" PEAK/RMS en entrée et en sortie, après y'a d'autres trucs entre les 2.
Pour l'échelle, de -20 à 0 dB-FS devrait suffire et je part sur 300ms pour la mesure RMS et 1 échantillon pour la valeur crête (j'ai pas vraiment besoin d'un True-Peak).
[ Dernière édition du message le 16/01/2026 à 19:15:04 ]
Mini-Maxi
Je partage cette vision très pessimiste de notre avenir.
Oui et encore c'est sans compter le Blue Monday qui va s'abattre sur nous dans 3 jours.. on est vraiment mal..
[ Dernière édition du message le 16/01/2026 à 19:53:50 ]
Mini-Maxi
@Mini-Maxi : Non, pas juste un peak-mètre, ça j'ai dans cubase ou wavelab et il en existe des dizaines des "bidule-mètres" en tout genre y compris en gratuit.
Mais dans mon plug j'ai besoin d'un "bidule-mètre" PEAK/RMS en entrée et en sortie, après y'a d'autres trucs entre les 2.
Pour l'échelle, de -20 à 0 dB-FS devrait suffire et je part sur 300ms pour la mesure RMS et 1 échantillon pour la valeur crête (j'ai pas vraiment besoin d'un True-Peak).
Ah oui ça représente un peu de travail.
DocK'S
Il sera toujours temps de jouer avec l'interface graphique par la suite.
DocK'S
Ça a pris déjà 8 bonnes heures pour avoir un code qui compile sans erreur, mais pour un plug quasi vide, y'avait juste 2 pov' jauges de niveau grises.
Mais je persiste encore un peu parce que j'ai toutes les raisons de penser que ça peut fonctionner.
J'ai eu une dizaine d'essais presque concluants sur la plupart des fonctions que je souhaite.
Maintenant le challenge est d'avoir toutes les fonctions opérationnelles en même temps et un code (de plus en plus complexe) qui compile et qui ne fasse pas planter cubase dès qu'on le touche.
Concernant Gemini, il est très capricieux, et malgré des prompts de plus en plus précis avec des parties reprises à 100% d'un prompt à l'autre, il fait parfois des choix sans qu'on lui demande ou prend des raccourcis sans le dire.
Et j'ai l'impression qu'il a des "phases" de fonctionnement très inégales.
Il va avoir une bonne courbe de progression pendant quelques requêtes puis régresser sur les suivantes et ainsi de suite.
C'est assez frustrant pour pas dire super énervant parce qu'on passe un temps fou à avancer d'un pas puis reculer de deux.
Si je devais conclure maintenant, je dirais que ça n'en vaut vraiment pas la peine.
Les outils Juce et visual studio sont des "usines à gaz" et globalement je ne pense pas avoir acquis la moindre compétence dans le domaine, à part éventuellement sur les interfaces.
Ça marche peut-être très bien pour faire des choses simples et classiques, mais du coup ça n'a que peu d'intérêt vue la profusion d'outils existants, y compris en gratuit.
Je persiste parce que ce que je souhaite n'existe pas (j'ai pas trouvé en tout cas et Gemini non plus) mais j'en viens à me demander si ça serait pas plus rapide et plus efficace de prendre contact directement avec un vrai développeur pour coopérer sur la création et le développement du plug en question, qui en soit n'a rien de révolutionnaire mais pourrait s'avérer très pratique dans certaines situations, notamment en mix ou surtout en mastering.
À suivre....
[ Dernière édition du message le 21/01/2026 à 19:52:25 ]
Mini-Maxi
C'est le moment d'aller faire un tour en forêt!
Je n'ai pas compris tout les tenants et aboutissants de ton projet, tu n'a pas tout détaillé, mais on est d'accord les IA n'aiment pas les projets trop complexes.
Idem sur la profusion de plugin, pourtant le dernier plug que j'ai présenté ici correspondait aussi à un vrai besoin pour moi (je ne sais pas si ça existe déjà) et avant-hier je l'utilisais sur un morceau. La finition (les échelles) n'est pas impeccable mais j'en fais ce que je veux donc ça me va.
kosmix
Putain Walter mais qu'est-ce que le Vietnam vient foutre là-dedans ?
xbassman_K
釘を駆動するための4つの文字列
chupachups
Merci pour ce fil de discussion et les échanges. J’ai remarqué que l’auteur original utilise JUCE, un framework open source.
J’ai exploré les différents frameworks open source disponibles, comme JUCE, IPlug et DPlug, entre autres.
D’après ce que j’ai compris, JUCE est sous double licence : une version open source, mais limitée ; une version commerciale, qui inclut une documentation complète, des fonctionnalités supplémentaires, l’absence de l’écran indiquant que le logiciel est développé avec JUCE, ainsi qu’un support technique.
Le problème, c’est que la version community de JUCE ne donne pas accès à tout (notamment à la documentation détaillée ou au support), et les tarifs de la version payante sont très élevés…
(Je peux me tromper, bien sûr… Il est difficile de savoir exactement ce que couvre la version payante de JUCE. Si vous avez des informations à ce sujet, je suis preneur !)
Après avoir analysé et testé JUCE (version open source), IPlug et DPlug, mon choix s’est finalement porté sur DPlug.
Voilà, je voulais juste apporter ma petite contribution… enfin, mon grain de sel ! 😉
Merci encore pour ce fil, que je trouve super intéressant et très utile !
-- SMAO, SMAOLAB, EGNOUF
- smaolab.org
[ Dernière édition du message le 22/01/2026 à 15:37:35 ]
DocK'S
J'ai encore passé quelques heures sur le projet aujourd'hui et le fait est que même en réécrivant à chaque fois la même (très) longue base de prompt qui détaille tout, il se perd rapidement dans des essais et des raccourcis sans prévenir.
Je compte plus le nombre de fois où il y a eu des erreurs à la compilation et quand je lui colle les erreurs en question il me répond "ba oui c'est normal, j'ai fait tel ou tel truc dans le code qui marche pas bien avec votre version de Juce ou de visual studio"
Là je lui demande pourquoi il propose des trucs foireux alors même qu'il prétend savoir que c'est foireux et il répond que c'est pour simplifier des trucs, isoler des erreurs ou faire des tests.
Pareil pour les fonctions du plug ou l'interface graphique, je lui remet systématiquement le cahier des charges et 1 image du design dans les prompts et pourtant, les rares fois où le code compile sans erreurs, il manque la moitié des boutons et des trucs apparaissent ou disparaissent sans avoir changer une virgule à la requête.
Qu'il ne soit pas aussi "intelligent" qu'on l'espère est une chose mais le fait que ses raisonnements ne semblent pas tellement répétables est un vrai problème parce que c'est juste impossible d'adapter le prompt à la façon dont il l'interprète si il ne l'interprète même pas 2 fois de la même façon.
Et à chaque fois il finit toujours par "cette fois c'est la bonne" ou "là c'est le code ultime hyper optimisé qui peu pas cracher" ou autre "vous allez enfin avoir l'outil professionnel que vous souhaitez "

J'arrête aussi de perdre mon temps avec les modes "fast" et "thinking" et je vais me contenter des 3 requêtes journalières en mode pro parce que sinon ça prend un temps fou pour pas ou peu de résultat.
Je persiste encore un peu parce qu'à force on se rapproche quand même un peu de l'attendu et je sens que c'est faisable mais c'est vraiment très très fastidieux.
DocK'S
Il me sort un comparatif détaillé avec les avantages / inconvénients de chaque solution et dans sa conclusion il me dit que Juce reste la meilleure solution grâce à sa super fonction optimisée qui sert précisément à faire ce que je veux. (Vous la sentez venir la grosse blague ?)
Et il me demande si ça m'aiderait qu'il génère les codes sources en utilisant la super fonction optimisée en question....
[ Dernière édition du message le 23/01/2026 à 22:52:12 ]
kosmix
Putain Walter mais qu'est-ce que le Vietnam vient foutre là-dedans ?
DocK'S
On verra demain si ça marche mieux avec la bonne fonction 🤞
Mini-Maxi
Un truc que j'ai remarqué: lui fournir un cahier des charges trop précis ne permet pas d'obtenir les meilleurs résultats. Dans mes tests d'instruments modulaires (en mode Canvas ) j'ai obtenu des meilleures choses en promptant _ je veux un module "oscillateur", un module "filtre", etc..._ qu'en détaillant tout: les entrées, sorties et réglages pour chaque module.
Merci xbassman_K pour ton retour d'expérience.
Je n'en sais pas plus sur Juce chupachups, je n'ai pas creusé.
[ Dernière édition du message le 24/01/2026 à 03:09:05 ]
Mini-Maxi
https://fr.audiofanzine.com/editeur-midi/forums/t.830478,je-cherche-un-logiciel-de-type-snapshot-pour-lancer-sur-scene-des-reglages-sur-differents-synthes.html
C'est un gestionnaire MIDI de Program Change réalisé en quelques minutes en mode Canvas.
DocK'S
Je viens de regarder ce que c'est vraiment (dans les grandes lignes) et je comprends que ça pourrait tout changer de l'activer.
csurieux
Après encore quelques heures passées sur le sujet sans résultat, j'ouvre une nouvelle discussion avec Gemini et je lui demande si Blue Cat's Plug'n Script ne serait pas plus adapté pour faire ce que je veux, vu qu'au bout d'une semaine il a pas été capable de fournir un résultat exploitable avec Juce et visual studio.
Il me sort un comparatif détaillé avec les avantages / inconvénients de chaque solution et dans sa conclusion il me dit que Juce reste la meilleure solution grâce à sa super fonction optimisée qui sert précisément à faire ce que je veux. (Vous la sentez venir la grosse blague ?)
Et il me demande si ça m'aiderait qu'il génère les codes sources en utilisant la super fonction optimisée en question....
Et oui, c'est un consultant McKynsey (ou equivallent), la seconde avant le dialogue il ne connait rien à rien et celle d'après c'est lui le roi du pétrole
Cowbell Studio
Ce n'est pas la bonne approche pour appréhender tout sujet aussi complexe. Il faut évidemment beaucoup de temps et d'énergie pour acquérir les bases suffisantes et pouvoir créer en autonomie.
Les LLM sont alors des aides précieuses, mais pas sans devenir expert d'un domaine et ainsi être capable de ne pas se faire berner et pouvoir faire la part des choses.
Et tu devrais à mon sens changer ton titre par "Faire créer un plugin sans rien y connaître avec Google Gemini. (Done)". En l'occurrence tu ne crées ici rien du tout.
Mon dernier album : Beware Of The Thinking Machine
www.cowbellstudio.com
Mini-Maxi
J'avais vu le mode canvas mais j'ai pris ça pour le truc de retouche d'image par IA, donc je l'ai pas activé.
Je viens de regarder ce que c'est vraiment (dans les grandes lignes) et je comprends que ça pourrait tout changer de l'activer.
DocK'S tu mets la charrue avant les boeufs depuis le début, si j'ai écris ça dans les toutes premières lignes du thread ce n'était pas pour rien:
"Il y a quelques jours j'ai initié une discussion où je présentais Google Gemini et son mode Canvas très doué pour créer des instruments virtuels en quelques instants, c'est une excellente entrée en matière:
https://fr.audiofanzine.com/mao/forums/t.832343,ia-google-gemini-generer-un-instrument-virtuel-en-30secondes.html"
Ca me fait penser au "Syndrome DIY": quand un débutant s'imagine fabriquer un synthé alors qu'il n'a même pas appris à souder proprement, je connais je suis passé par là.
Tu remarqueras qu'au long du thread j'ai suivi une courbe de progression, en commençant par un simple bouton de volume, c'est l'équivalent d'un "Hello World" en programmation. Si tu avais commencé par là tu n'aurai déjà pas perdu du temps à développer une interface graphique pour ton projet dont on ne connaît toujours pas les détails.
J'ai aussi l'impression que tu restes dans une démarche très linéaire, faisant simplement ce que Gemini te dicte.
Pour le dernier plugin j'ai avancé par étape: une première discussion pour obtenir une base fonctionnelle.
Puis une seconde discussion où j'ai ré-injecté tout le code afin de préciser l'interface et le comportement. Ca m'a permis de tester plusieurs prompts sans casser le code initial.
Ce n'est pas la bonne approche pour appréhender tout sujet aussi complexe. Il faut évidemment beaucoup de temps et d'énergie pour acquérir les bases suffisantes et pouvoir créer en autonomie.
Les LLM sont alors des aides précieuses, mais pas sans devenir expert d'un domaine et ainsi être capable de ne pas se faire berner et pouvoir faire la part des choses.
Je n'ai jamais prétendu que la démarche permettait de devenir un expert. C'est un thème d'ailleurs très bien développé dans la vidéo en post 20. Je n'ai lancé le sujet que pour exposer le fait que c'était possible. En pratique j'ai effectivement un plugin fonctionnel (celui présenté dans les posts13 et 14).
Point amusant: dans un groupe FB il y a quelqu'un de chez Google qui m'a demandé comment je m'y étais pris.
Et tu devrais à mon sens changer ton titre par "Faire créer un plugin sans rien y connaître avec Google Gemini. (Done)". En l'occurrence tu ne crées ici rien du tout.
Ta proposition fait sens mais je ne suis pas là pour jouer sur les mots. Tu es sur AF depuis longtemps, tu sais qu'on ne peut pas changer le titre d'un sujet.
[ Dernière édition du message le 24/01/2026 à 14:20:10 ]
DocK'S
J'ai d'ailleurs indiqué dans un des premiers posts que j'avais réussi à avoir quasi toutes les fonctions et que le challenge ça allait être d'avoir tout ensemble.
Par contre pour le mode canvas, là j'ai merdé, j'aurais gagné beaucoup de temps à l'utiliser dès le départ.
ton projet dont on ne connaît toujours pas les détails
Parce que j'aimerai bien arriver à un résultat et pouvoir le partager gratuitement et ça me ferait chier qu'un petit malin ou un éditeur en fasse un truc payant, donc je dévoile pas tout tout de suite.
Mais vraiment, y'a rien de révolutionnaire dans ce plug, en traitement du signal pur le plus complexe qu'il y a c'est un potard de gain.
[ Dernière édition du message le 24/01/2026 à 13:33:23 ]
Mini-Maxi
Si tu tiens à rester discret sur ton cahier des charges tu peux me l'envoyer en mp. Je n'ai pas d'autre argument que la curiosité désintéressée développée depuis le début de ce thread.
[ Dernière édition du message le 24/01/2026 à 14:41:47 ]
DocK'S
Je suis plutôt patient en général, mais là ras le cul, j'ai fait un rage quite et j'ai supprimé les conversations.
Si il y a des volontaires pour mettre à l'épreuve leur santé mentale
-> voilà le cahier des charges :
Je veux plug VST3 (idéalement aussi AU et AAX) :
Un utilitaire qui permette de comparer 2 chaînes de traitements avec la possibilité de matcher le gain entre avant/après traitements.
Je vois le plug en 3 sections, de gauche à droite :
- section 1 : Input
avec en haut le titre "INPUT" et en dessous l'affichage des valeurs max True-Peak et RMS. En dessous une jauge de niveau double (1 barre pour le canal L et 1 pour le canal R) qui affiche le niveau RMS avec la jauge rempli jusqu'au niveau mesuré et 1 barre pour afficher le niveau True-Peak. La jauge est graduée sur le côté gauche de 0 à -30dB par pas de 5dB.
En dessous, un fader ou un potard de gain qui permet de pouvoir gérer le gain d'entrée à +/- 12dB par pas de 0,5 dB.
- section 3 : ouput
Exactement la même chose que la section input avec 1 bouton en plus en dessous du fader/potard de gain.
1 bouton "gain match" qui adapte en temps réel le niveau RMS de sortie du plug au niveau RMS d'entrée.
- section 2 (au centre) : les chaînes d'insert
2x 16 blocs d'insertion. Les 16 premiers à gauche = chaîne A et les 16 à droite = chaîne B.
Au milieu en haut de la section centrale un switch qui permet de passer soit par la chaîne A soit par la chaîne B.
Chaque ligne/bloc d'insert est constitué des mêmes boutons/fonctions :
- 1 bouton "E" pour éditer le plugin inséré
- 1 bouton "B" pour by passer le plugin inséré
- le slot d'insertion = menu déroulant qui liste les plugs
- 1 fader horizontal qui permet de doser l'effet inséré (traitement //) de 0 à 100% par pas de 2,5% me semble suffisamment précis.
Et voilà l'interface "brute" qui me servait de point de départ :

Les doubles flèches sont pour inverser l'ordre des plugs entre 2 slots, mais cette fonction peut-être inutile si on peut manipuler n'importe quel plug et le glisser/déposer dans le slot qu'on souhaite.
Il y a aussi un bouton "SCAN" en bas qui scan le disque pour lister et filtrer uniquement les traitements (et ne pas afficher les instruments)
Il faut aussi un champ "empty" qui apparaît dans le menu déroulant des slots pour le vider si on le souhaite.
J'avais prévu des couleurs pour les différents types de boutons (jaune pour "E" , orange pour la double flèche, vert pour tous les autres "A" "B" "SCAN" "GAIN MATCH" et tous les boutons sont sensés s'allumer quand actifs. (Je m'étais inspiré des boutons sur les pkugs Weiss de chez Softube)
J'avais aussi prévu des lignes épurées pour séparer les 3 section et 1 autre plus courte entre les chaînes A et B.
Petits plus :
- les "L" et "R" en dessous des jauges sont des boutons qui permettent de mettre le canal en solo
- 1 bouton "mono" sous le "gain match" pour écouter la sortie en sommation mono.
Tout ce qui est listé j'ai réussi à l'avoir au moins 1 fois fonctionnelle, mais pas moyen d'avoir la solution complète qui respecte et le design/ergonomie et les fonctions (plus des problèmes d'instabilité ou de crash de cubase à l'ouverture ou à l'utilisation)
[ Dernière édition du message le 24/01/2026 à 16:41:46 ]
Mini-Maxi
Tu as réussi à downloader des plugs avec cette solution? Des chaines de plugs? Je trouverai ça déjà dément.
C'est dans un contexte de mastering?
Sinon un autre truc, et je pense que nous sommes nombreux à l'avoir pressenti, mais je ne l'avais jamais verbalisé: Plus les discussions s'éternisent et plus les risques d'hallucinations augmentent, il ne faut pas hésiter à se lancer dans une nouvelle discussion pour chaque nouvelle brique.
[ Dernière édition du message le 24/01/2026 à 22:46:17 ]
DocK'S
La fonction scan marchait plutôt bien, mais plus ou moins lente, et le filtrage des traitements uniquement (pour pas lister les instruments) marchait pas trop mal.
C'est le mieux que j'ai pu obtenir, après il s'est perdu dans des boucles en essayant d'optimiser le code pour éviter ou contourner les sources de plantages qu'il avait identifié.
Pour le contexte, oui ça serait pour le mastering (mais ça pourrait servir en mix aussi).
Actuellement je peux désactiver/activer les traitements de la section maître de wavelab avec gain matching mais pas comparer plusieurs chaînes.
L'autre solution pour faire ça serait le blue cat audio patchwork pour les chaînes de traitements (série ou //) couplé avec le letimix gainmatch pour adapter les niveaux, mais ça fait 2 plugs et ~120€ pour une ergonomie pas ouf et la métrologie des niveaux sur patchwork semble un peu trop basique.
Après j'ai vu que Blue Cat's audio parlent de développement de plugins custom sur demande sur leur.
Comme ils ont la technologie de "hôte" qui marche bien avec patchwork et que la fonction de gainmatch semble très simple, je peux peut-être m'en tirer pour pas trop cher, j'exclu pas de voir ça avec eux. (et puis c'est 1 boîte française )
Et le plug devrait même pouvoir gérer des inserts hardware.
Pour les discussions qui s'éternisent, je l'ai remarqué aussi, j'avais 4 ou 5 discussions à la fin pour isoler les problématiques et essayer de "casser" les boucles de bullshit à répétition.
[ Dernière édition du message le 24/01/2026 à 22:51:18 ]
- < Liste des sujets
- Charte

-> 