This project explores an AI-driven system that utilizes speech intent analysis to generate personalized and context-aware stories. By leveraging natural language processing (NLP) and speech recognition technologies, the system captures spoken user input and identifies underlying intents, emotions, and keywords. These extracted features guide a generative storytelling model—powered by transformer-based architectures such as GPT or T5—to dynamically construct narratives that reflect the user\'s mood, preferences, and narrative direction.
The integration of intent detection ensures stories remain relevant and coherent, transforming spontaneous speech into structured and meaningful narratives. Additionally, emotion recognition enhances story depth by adapting tone and content based on detected sentiment.
The system supports applications in education, therapy, gaming, and entertainment, enabling interactive storytelling experiences for children, learners, and users with special needs. A low-power embedded implementation using microcontrollers like the Arduino Nano 33 BLE Sense Rev2 and a digital microphone (MP34DT06JTR) demonstrates on-device processing capabilities for speech capture and intent classification. Overall, this AI-based framework bridges the gap between speech interaction and creative story generation, offering a novel and engaging human-computer interaction model.
Introduction
The project, “AI-Driven Speech Intent Analysis for Story Generation,” aims to develop an interactive storytelling system that allows users to generate personalized stories through both voice and text input. Unlike traditional storytelling platforms that rely on pre-written stories or typing-based prompts, the proposed system uses voice recognition and Artificial Intelligence (AI) to understand user requests and generate meaningful stories.
The system uses an Arduino Nano 33 BLE Sense Rev2 with a digital microphone to capture voice input. Users activate the assistant by saying “Hey Pixel.” Picovoice technology detects the wake word and processes the user's speech to identify their intent. The recognized request is sent to a Python Flask backend, which communicates with Google Gemini 2.5 Flash to generate a story based on the user's instructions. Users can also enter prompts through a web-based chatbot.
The generated stories are displayed on the chatbot interface and an SSD1306 OLED display connected to the Arduino board. The OLED also provides visual animations and status indications to improve user interaction. Push buttons are included as additional hardware controls.
Overall, the project combines embedded systems, voice recognition, intent analysis, and AI-based story generation to provide a convenient, flexible, and engaging storytelling experience. It can also be extended to applications such as interactive learning, digital entertainment, and voice-assisted educational systems.
Main Objectives
To develop a storytelling application that supports both voice and text input.
To activate the assistant using the predefined wake phrase “Hey Pixel.”
To recognize speech and understand the user's intent.
To generate personalized stories using Google Gemini 2.5 Flash.
To display generated stories through a web-based chatbot and OLED display.
Existing System
Traditional storytelling systems mainly provide pre-written stories or require users to type prompts. They offer limited customization and flexibility. Basic voice assistants generally support predefined commands and may not understand complex user intentions. These limitations create a need for an intelligent storytelling system that supports natural voice interaction and AI-generated content.
Proposed System
The proposed system allows users to interact with an AI storytelling assistant through speech or text. After detecting the wake phrase, the system captures and processes the user's speech, identifies the intended request, and sends it to the Flask backend. Google Gemini 2.5 Flash generates a relevant story, which is displayed on the chatbot and OLED screen.
Methodology and Implementation
The system follows these main stages:
Voice Input and Wake-Word Detection: Captures speech through a digital microphone and activates the assistant when it detects “Hey Pixel.”
Speech Processing and Intent Recognition: Uses Picovoice technology to process spoken input and identify the user's request.
Backend Processing: Uses Python Flask to manage communication between the user interface and AI model.
AI-Based Story Generation: Sends the user's prompt to Google Gemini 2.5 Flash to generate personalized stories.
Output and Display: Presents the generated story through the web chatbot and SSD1306 OLED display.
Hardware Implementation: Integrates the Arduino Nano 33 BLE Sense Rev2, microphone, OLED display, and push buttons using the Arduino IDE.
Conclusion
This project presents an interactive approach to storytelling by combining voice input, wake-word activation, speech intent processing, and AI-based story generation. The use of Pico-voice, Python Flask, Google Gemini 2.5 Flash, Arduino Nano 33 BLE Sense Rev2, and an OLED display brings together different software and hardware elements in one prototype. The system provides a way for users to request story content through speech or text instead of relying only on pre-written stories. In future, the project could be improved by supporting more languages and accents, retaining context across longer interactions, and evaluating its performance through systematic testing.
References
[1] B. Liu and I. Lane, “Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling,” in Proceedings of Inter-speech 2016, pp. 685–689, 2016. doi:10.21437/Interspeech.2016-1352. 349.
[2] A. Fan, M. Lewis, and Y. Dauphin, “Hierarchical Neural Story Generation,” in Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 889–898, 2018. doi:10.18653/v1/P18-1082.
[3] H. Rashkin, A. Choi, and J. Gao, “Plot-Machines: Outline-Conditioned Generation with Dynamic Plot State Tracking,” in Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 4274–4295, 2020. doi:10.18653/v1/2020.emnlp-main.