Inspiration
As a music enthusiast, I've always been fascinated by the complexity of electronic music production. I noticed two common hurdles for aspiring producers: the initial "blank canvas" creative block and the steep learning curve in understanding how professional tracks are structured. I was inspired to create a tool that tackles both problems—one that could spark creativity by generating ideas from simple text and also demystify production by breaking down existing tracks into their core elements. The goal was to make EDM creation and analysis more accessible to everyone.
What it does
AI EDM Studio is a dual-function web application. First, it's a track generator that composes original EDM loops based on user's text prompts. Users can specify a genre and describe the vibe they're looking for (e.g., "an Indian version of Martin Garrix’s Animals"), and the AI generates a new track. Second, it's a track deconstructor. Users can upload any audio file, and the tool uses AI to separate it into its core instrumental stems, such as vocals, drums, and basslines, allowing them to study each component individually.
How we built it
The application was built using a modern web stack designed for performance and a clean user experience.
- Frontend: The user interface was developed with Nuxt.js, a powerful Vue.js framework that allows for fast, server-rendered applications.
- AI Generation: For the music generation feature, I integrated the Loudly API. This service specializes in AI-powered music composition, making it perfect for interpreting text prompts and generating high-quality audio.
- AI Deconstruction: The track separation feature is powered by the Lalai.ai API. This API provides best-in-class stem-splitting technology, which was crucial for accurately isolating the different layers of a complex audio file.
Challenges we ran into
The primary challenge was integrating and managing the two third-party APIs. Since both Loudly and Lalai.ai are premium, usage-based services, a major hurdle was figuring out how to create a public-facing demo without exposing my personal API keys and incurring high costs. This led to the decision to disable the keys in the deployed version and provide clear instructions for local setup, which was a necessary compromise between showcasing functionality and maintaining security. Another challenge was designing a UI that felt intuitive for both a creative (generation) and an analytical (deconstruction) workflow.
Accomplishments that we're proud of
I am proud of successfully creating a functional prototype that seamlessly integrates two distinct and powerful AI services into a single, cohesive application. Building a clean, simple, and responsive user interface with Nuxt.js that effectively serves both core features was a major accomplishment. The final tool is a direct realization of my initial vision: a practical assistant for music creators.
What we learned
This project was a deep dive into the practical application of AI in a creative field. I learned a great deal about working with external APIs, particularly the importance of managing credentials and costs in a production environment. On the technical side, it significantly strengthened my skills in Nuxt.js and state management for building interactive web applications. Most importantly, it taught me how specialized AI models can serve as powerful creative partners rather than just tools.
What's next for AI EDM Studio
The future for AI EDM Studio is focused on expanding creative control for the user. Planned features include:
- More Granular Control: Adding options to specify BPM, key, and structure (e.g., intro, drop, outro) in the generator.
- Expanded Library: Integrating more genre and style variations to give users a wider creative palette.
- Real-time Editing: Allowing users to regenerate specific parts of a track (e.g., "change the melody but keep the beat").
- Community Features: A platform where users can share their generated tracks and prompts.
Built With
- lalal.ai
- loudly
- nuxt.js
Log in or sign up for Devpost to join the conversation.