Gemini, Raconte Moi Une Histoire
Vive les vacances đŽ
Nous sommes fin juillet, mon dernier jour avant les vacances. Jâassiste et anime plusieurs rĂ©unions, je termine presque tous les comptes rendus, clĂŽture plusieurs items de ma TODO List et termine ma journĂ©e en Ă©teignant mon Mac book, ravi de partir en vacances aprĂšs une pĂ©riode assez agitĂ©e. Un seul objectif pendant mes 2 semaines de vacances : lâIT est mis de cĂŽtĂ© !
Le lendemain, mon premier jour de mes vacances donc, nous recevons Ă la maison une boĂźte Ă histoire pour notre fils de quatre ans, une Lunii. Plusieurs de nos amis en ont et en sont ravis.
Image extraite du site Lunii : https://Lunii.com/fr-fr/products/ma-fabrique-a-histoires-verte
Câest la seconde boĂźte Ă histoire de mon fils, il nâĂ©tait pas trop intĂ©ressĂ© par la premiĂšre (une Tonie) malgrĂ© les personnages Ă poser dessus. CâĂ©tait dur pour lui de rester posĂ© Ă Ă©couter des histoires. La Lunii est plus âportableâ, avec un casque nous misons dessus pour notamment servir pour alimenter quelques moments durant nos vacances et les 14h de route aller / retour.
Avec la Lunii, en plus de la rĂ©cupĂ©ration dâhistoires sur le site de Lunii, il est possible dâenregistrer des voix. Cela nous intĂ©ressait car nous imaginions enregistrer notre propre voix pour raconter des histoires fabriquĂ©es ou lire des livres que notre fils possĂšde.
Mais âŠ
đĄUne nouvelle application ?
Mon cerveau soit disant en vacances a quand mĂȘme vu une opportunitĂ©. Fabriquer des histoires par IA. Car mĂȘme si notre imagination peut raconter des histoires, lâIA peut aussi nous amener sur des domaines ou personnages que nous n’imaginons pas.
MĂȘme si Gemini via son interface web permet de faire cela, jâai dĂ©cidĂ© de ressortir mon ordinateur pour initier une application de gĂ©nĂ©rateur dâhistoires pour essayer de les enregistrer sur la Lunii đ.
La premiĂšre Ă©tape consiste Ă crĂ©er une application (of course avec Quarkus et lâextension Quinoa pour avoir un front intĂ©grĂ©) qui Ă partir dâun tout petit peu de contexte, gĂ©nĂšre des histoires adaptĂ©es Ă un enfant de 4 ans, Je dĂ©cide de choisir deux formats dâhistoires :
- Format court : environ deux minutes dâĂ©coute.
- Format long : plus de cinq minutes.
Cette application va me permettre de gĂ©nĂ©rer une histoire alĂ©atoirement, ou bien Ă partir dâune base : un personnage, un lieu et un contexte. Je demande Ă mon fils quel type de personnage il voudrait, histoire dâenregistrer des personnages sur lâapplication pour se crĂ©er une âsĂ©rieâ dâhistoires avec les mĂȘmes personnages. Pour illustrer les histoires, un appel au modĂšle de gĂ©nĂ©ration dâimages de Google, Nano Banana et câest parti.
Me voila avec une premiĂšre base de mon gĂ©nĂ©rateur dâhistoires.
âĄïž A ce moment lĂ , ces histoires pourront ĂȘtre mis sur la Lunii de notre fils via lâenregistrement de notre lecture.
đŁïž Etape 2 : lâintĂ©gration du text to Speech
A ce niveau dâimplĂ©mentation de lâapplication, bien sĂ»r que jâavais autre chose derriĂšre la texte : convertir ces histoires textuelles en son. Les modĂšles IA Ă©voluent et les derniĂšres versions des modĂšles Gemini permettent dâen faire avec la prise en compte des Ă©motions. Câest parti pour intĂ©grer cette fonctionnalitĂ©. AprĂšs avoir rĂ©glĂ© quelques paramĂštres, la voix française est bien sympa pour Ă©couter des histoires, quâon soit parent ou enfant đ.
âĄïž Mon application peut Ă se moment lĂ gĂ©nĂ©rer des histoires qui peuvent ĂȘtre Ă©coutĂ©es et tĂ©lĂ©chargĂ©es en mp3. Parfait !
𧩠Une intégration avec la Lunii?
Pour aller encore plus loin, ne peut-on pas copier ces fichiers mp3 directement dans la Lunii? A premiÚre vue non, la Lunii demande un format spécifique. En cherchant rapidement sur le net, je suis tombé sur un projet open source : Studio. Ce projet, développé en Java, met à disposition une interface graphique pour fabriquer des histoires adaptées à la Lunii à partir de fichiers mp3.
En rĂ©cupĂ©rant le projet sur mon poste, j’ai pu voir son architecture constituĂ©e de plusieurs modules. Pour pouvoir lâexĂ©cuter, jâai dĂ» logiquement compiler le projet, ce qui mâa permis de produire les diffĂ©rents modules dans mon registry local.
A partir de mon image et du mp3, j’ai rĂ©ussi Ă intĂ©grer rapidement cette histoire dans ce projet Studio, produire la version pour la Lunii et la copier sur la carte de la boĂźte Ă histoire. Parfait !
âĄïž Je peux donc gĂ©nĂ©rer une histoire, obtenir le fichier mp3, prĂ©parer le zip avec le projet Studio pour le transfĂ©rer sur la boĂźte en quelques clics. C’est vraiment satisfaisant. Mon fils qui Ă©coute les premiĂšres histoires apprĂ©cie beaucoup. Quand le petit garçon de l’histoire porte son prĂ©nom, cela crĂ©e et gĂ©nĂšre un effet Waou immĂ©diat. Avec cela, nous allons pouvoir stimuler son imaginaire et l’aider Ă se poser avec sa boĂźte Ă histoires.
đ€ Whatâs next?
Mon application est en Java, le projet Studio aussi. Pour gĂ©nĂ©rer et copier une histoire je dois dĂ©marrer mon application (oui je sais jâaurais pu la dĂ©ployer rapidement sur Cloud Run mais wait ⊠je suis en vacances ne lâoublions pas đ), et dĂ©marrer le projet Studio. Cela fait donc deux Ă©tapes.
En regardant les modules du projet Studio, jâai rapidement pu voir que je pourrai en intĂ©grer certains dans mon application pour avoir le lien direct et la gestion de la Lunii dans mon application.
Et aprĂšs quelques essais et aprĂšs avoir intĂ©grĂ© les modules core, drive et metadata, câest fait ! Mon application, Ă partir dâun menu dĂ©diĂ©, me permet de gĂ©rer lâhistoire et sa copie sur la Lunii en quelques clics đ€©.
Un grand merci Ă marian-m12l pour la crĂ©ation de ce projet et Ă sa communautĂ© open source qui a pu faire Ă©voluer ce projet en fonction de lâĂ©volution matĂ©rielle de la Lunii.
â ïž Lâobjectif numĂ©ro 1 de cet article est de vous montrer comment dans un projet personnel jâai pu manipuler les modĂšles Gemini pour gĂ©nĂ©rer des histoires produites de maniĂšre textuelle et sonore. Il est important de prĂ©ciser que lâintĂ©gration avec la Lunii via le projet Studio s’inscrit en marge de l’Ă©cosystĂšme fermĂ© proposĂ© par Lunii et pourrait potentiellement diverger des conditions d’utilisation de la marque.
đ€ Utilisation des modĂšles gemini-3.1-flash-tts-preview et gemini-3.5-flash-lite.
đ Le projet est disponible sur GitLab : https://gitlab.com/jeanphi-baconnais-experiments/kids-histories-generator.