Inspiration 🌟

For me, I have always had a passion for making something of my own. From a young age, music has always been something I enjoy and can listen to. As I started to grow older, I wanted to immerse myself in the field of music production and learn about the technology that is used with it. Little did I know, simple YouTube tutorials about music editors and online forums could not help me in the way I had thought. Starting as a beginner, making music in an environment with hundreds of options isn't exactly easy which is why I wanted to make this application. Moreover, I know of many people who face hardships in a physical capacity and decided I wanted to make a change for them too, so everyone can make music. With the use of Python and numerous libraries, I was able to make a virtual keyboard so producers could type into the integrated AI chatbot for immediate questions and tutorials within the studio. Moreover, I created a virtual mouse for those with conditions that make it hard to utilize a mouse. I also created a machine learning model that uses a person's facial characteristics to recommend songs or genres to create. Honestly, I believe everyone deserves an opportunity to at least try which is why I created this app. To make the world more welcoming.

What it does 🤖

Electrance offers a highly interactive, web-based music studio that empowers users to create and produce music seamlessly from any device. With an integrated chatbot designed to provide intuitive guidance, the platform streamlines the music creation process by delivering quick access to tutorials, tips, and suggestions. Unlike traditional applications, Electrance’s studio requires no backend logic, enhancing performance and minimizing delays for a smooth user experience. Additionally, Electrance incorporates tools powered by Python and its advanced libraries, such as OpenCV and Mediapipe, allowing users to control their screen through innovative methods. Users can navigate by moving their mouse with hand gestures or play a virtual keyboard using hand tracking, providing a unique, touch-free way of interacting with the application. AI-driven features also offer personalized music genre recommendations based on the user's style and preferences. Future developments will expand these capabilities further, integrating more AI functionalities to enhance accessibility, creativity, and ease of use, ensuring that everyone feels welcomed into the world of music production.

How we built it 🛠️

I built the platform using PHP for the backend logic and MySQL to manage and store data securely. The music studio was developed with Tone.js, a powerful JavaScript framework for creating and manipulating sounds, enabling real-time music production features directly in the browser. We focused on creating an intuitive user interface and seamless audio experiences while integrating a custom open AI (4o) API for enhanced functionality (chatbot). OpenCV and MediaPipe were used for hand gesture detection and tracking, along with a virtual keyboard enabling interactive controls. PyCaw provided audio control capabilities, while Streamlit offered an efficient way to build a user-friendly interface for music recommendation based on facial emotions.

Challenges we ran into ⚠️

Building this project involved several technical challenges, such as managing cross-platform compatibility for tools like PyCaw and Streamlit across different devices and operating systems, including Windows and macOS. Ensuring reliable hand gesture and facial detection using OpenCV and MediaPipe in various conditions, like differing lighting or proximity, was another hurdle that required careful adjustment and fine-tuning. Additionally, implementing the web-based studio with Tone.js required substantial time and effort to ensure full functionality, creating a smooth and responsive experience for all users.

Accomplishments that we're proud of 🏆

Managing cross-platform compatibility for tools like PyCaw and Streamlit across different devices and operating systems, including Windows, Mac, and others, presented a significant challenge. Additionally, ensuring the effectiveness of hand gesture and facial detection using OpenCV and MediaPipe under varying conditions, such as different lighting and the proximity of the hand, required careful consideration. Furthermore, implementing the web-based studio with Tone.js was a demanding task that took a substantial amount of time and effort to guarantee the studio's functionality.

What we learned 📚

Building an application of this magnitude requires time and careful planning. It's crucial to maintain a clear outline of what you aim to accomplish and stay committed to that plan throughout the development process. Patience is essential, as challenges and setbacks are inevitable, but keeping your code readable and organized will make the journey smoother. A well-structured approach ensures that every team member stays aligned with the project's goals, ultimately contributing to a more successful and cohesive final product.

What's next for Electrance - Revolutionizing Electronic Music Creation 🚀

Integrating AI features that utilize a camera into the web application could greatly enhance user interaction, providing dynamic, real-time feedback for music creation. Incorporating more advanced capabilities, such as gesture-based controls or AI-generated music suggestions, would make the studio even more accessible and intuitive for users of all experience levels. Future updates could include actionable AI assistants for personalized music production allowing the chatbot to complete actions within the studio. Additionally, we aim to expand Electrance's outreach to be more accessible to a broader audience.

Built With

Share this project:

Updates