Inspiration
Our friend Brandon just started DJing and he lowkey sucks. As a bunch of college students, we were fed up with listening to mediocre mixes and wanted to help elevate our buddies with a passion for DJing.
What it does
WE-DJ arms beginners and seasoned players alike with a powerful set of tools to improve their musical capabilities. For those just getting started, the mixing assistance can eliminate the typically jarring transitions associated with inexperience. The music suggestions, tailored to beat, genre, and key, help maintain an unmatched level of energy to the setlist.
How we built it
We-DJ takes a song that the user selects and downloads it for analysis. The song is then compared to a database of songs and the 10 best matches are selected, ranked by BPM, Key, and Genre. Our AI model performs stem splitting and chorus detection to enable seamless AI mixing, where other elements are introduced(scratches, samples etc.).
Challenges we ran into
Connecting the various aspects of our project together was tough, and finding where to take songs posed an additional challenge. Spotify was unusable, but we hope to integrate with it in the future.
Accomplishments that we're proud of
We are proud of the complexity of our mixing model, especially the incorporation of samples and scratches. Additionally, the work done to achieve stem splitting and chorus detection is notable.
What we learned
We learned that finding music is a far more challenging task than anticipated, and if taken further, it would be a priority to find a larger database and one with metadata(to help with genre selection and better song suggestions).
What's next for We-DJ
We aim to connect to a larger database for more songs, and incorporate cross-genre compatibility for mixes. This would enable users to change the vibe on a whim. Training custom models for mixing would also be nice, allowing for a wider variety of effects and further improvements to transition quality. Lastly, a change to cloud-hosted solutions would improve scalability and take full advantage of the Supabase connection.
Built With
- demucs
- fastapi
- functools
- lovable
- numpy
- pydub
- python
- pytorch
- react
- supabase
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.