Gemini, Raconte Moi Une Histoire

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.

Lunii

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.

Accueil de l'application
Paramétrage des 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 !

Intégration du text to Speech

đŸ§© 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.

Modules Maven du projet Studio

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 đŸ€©.

Représentation finale de l'application

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.