Di recente ho deciso di unire una necessità molto concreta della mia vita quotidiana con una passione che coltivo da tempo: lo sviluppo software. Avendo tre bambini piccoli, per di più bilingue, il momento della nanna è sempre stato un piccolo rito da curare con attenzione. Da qui è nata l’idea di Bedtime Storyteller, una nuova applicazione che ho sviluppato per intrattenerli e accompagnarli dolcemente verso il sonno.
Bedtime Storyteller è un’applicazione scritta in Python che genera storie della buonanotte originali e le legge ad alta voce con una voce naturale. L’obiettivo è creare un’esperienza rilassante e coinvolgente, capace di stimolare l’immaginazione dei bambini e, allo stesso tempo, di adattarsi facilmente a contesti multilingue.
Il progetto è disponibile pubblicamente sul mio GitLab
Cos’è Bedtime Storyteller
Dal punto di vista tecnico, l’applicazione combina due elementi chiave:
Generazione delle storie tramite Ollama, che permette di sfruttare modelli linguistici locali per creare racconti originali a partire da semplici prompt.
Sintesi vocale tramite un’API compatibile con quella di OpenAI, come ad esempio OpenedAI Speech, per trasformare il testo in una lettura fluida e naturale.
Il risultato è una storia inventata al momento, letta con una voce che non suona artificiale, pensata proprio per accompagnare i più piccoli prima di dormire.
Funzionalità principali
Bedtime Storyteller include diverse funzionalità pensate per renderla robusta e facile da usare:
Generazione di storie della buonanotte originali a partire da prompt personalizzabili.
Conversione del testo in audio tramite un sistema di text-to-speech compatibile con le API OpenAI.
Riproduzione dell’audio con una gestione accurata dei tempi e delle risorse.
Gestione degli errori progettata per evitare blocchi o comportamenti inattesi.
Configurazione tramite variabili d’ambiente, senza parametri sensibili nel codice.
Segmentazione delle frasi tramite spaCy, con un meccanismo di fallback opzionale.
Pulizia automatica dei file audio temporanei generati durante l’esecuzione.
Tecnologie e filosofia del progetto
L’applicazione utilizza Ollama per la parte di generazione del testo e un’API di sintesi vocale compatibile con OpenAI per la lettura. Questa scelta permette una buona flessibilità: è possibile adattare facilmente il progetto a diversi provider o soluzioni self-hosted.
Il codice è rilasciato sotto licenza GNU GPL v3 o successive, in linea con una filosofia open source che incoraggia lo studio, la modifica e la condivisione del software. Feedback, segnalazioni e contributi sono benvenuti e fanno parte integrante dell’evoluzione del progetto.
Bedtime Storyteller nasce come soluzione “casalinga”, pensata per i miei figli, ma con l’idea che possa essere utile anche ad altri genitori, sviluppatori o semplici curiosi interessati a sperimentare l’incontro tra intelligenza artificiale e piccoli rituali quotidiani.
Al momento è supportata solo la lingua inglese, ma ho in programma di implementare il supporto bilinguistico completo in futuro (comunque è facilmente adattabile ad altre lingue, traducendo i prompt, che sono in un file dedicato, e utilizzando un appropriato modello linguistico di spaCy)