Inspiration
Selecting the perfect background music for reading webtoons or web novels is no easy task. Within a single episode, the mood shifts, making a single track insufficient for full immersion. Even if the perfect soundtrack is chosen, it may not sync with the reader’s pace, creating a disconnect. That’s why we created a project that generates dynamic background music tailored to the story’s content, the reader’s speed, and their personal preferences—ensuring a truly immersive digital reading experience.
What it does
Users can read, create, and share webtoons and web novels on MoodMonster. When content is uploaded, AI analyzes the mood and generates a suitable background soundtrack, incorporating user-provided prompts. As users read, the music adapts to their reading speed, enhancing immersion. Additionally, TTS functionality combined with background music allows users to enjoy the content as an audiobook.
How we built it
We utilized a variety of Azure’s cloud and AI services. The backend is hosted on an Azure Virtual Machine with Flask, while Blob and Table Storage are used to store content data, text, images, and background music. Azure OpenAI services are used for GPT (LLM), DALL·E (image generation), Phi (MLLM), and TTS. For music generation, we integrated Beatoven.ai’s API. The frontend is built with Flutter, enabling seamless functionality across web and mobile platforms.
Challenges we ran into
Music generation took a long time, which could significantly impact user experience. To address this, we used Beatoven.ai, which offers shorter generation times and allows control over track length. We also looped 30-second generated clips for seamless playback.
Accomplishments that we're proud of
We successfully implemented a method to detect which content users are focusing on while reading webtoons and novels. Since text and image content varies in size and screen dimensions differ, identifying what is at the exact center was challenging. To overcome this, we assigned unique keys to each item and stored their start and end positions in a list. By tracking scroll position with a scroll controller, we calculated content placement relative to the device height. When an item aligned with the center of the screen, it returned true. Since no built-in function existed for this, we take pride in developing it ourselves.
What we learned
We explored and utilized various cutting-edge AI models, storage solutions, virtual machines, and other powerful cloud features in Azure. It was incredibly convenient to access a wide range of features even with a free tier. Most importantly, the abundance of AI models made Azure an excellent choice for building a generative AI project.
What's next for MoodMonster
We plan to enhance the digital reading experience by adding features like text size adjustment and a paginated reading mode. Additionally, we aim to improve the quality of music generation and optimize multi-threaded processing to reduce wait times.
Log in or sign up for Devpost to join the conversation.