Inspiration

AJ is a free plug and play musical software that allows users to queue any song and seamlessly transition from that one part of the song that everyone loves to sing along to the next big moment.

What it does

: AJ uses a few clever techniques to make sure there is never a dull moment. Firstly for any song uploaded to AJ, AI will be used to best determine the location where the chorus begins and ends. Next AJ will grant users the freedom to queue songs as they please. Then as the selected portion of each song comes to an end, AJ will effortlessly blend the current track into the next one, just like a human DJ, for none of the cost.

How we built it

We leveraged the PyChorus library to predict chorus, however it lacked important data so we had to rewrite it to extract crucial information such as the timestamps of the chorus. After predicting the timestamps, we split up the tracks and save the sections of the chorus that we would like to use. Then when the user adds new songs to the queue we apply real time volume balancing to crossfade songs and never let the party stop.

Challenges we ran into

We had some trouble synching in the songs timings with each other. We also struggled with using Pychorus functionality with our intial ideas and had to rework around our initial designs. Pygame also didn't have a good BPM functionality that was achivable in the current time frame, and we chose to focus on other ideas.

Accomplishments that we're proud of

We are proud of transitioning the songs with each other and making an AI that could transition these songs. We also are proud using reverse engineering to find the chorus in the songs using the AI. Last second we also were able to make a website that could act as a queue for the songs as well.

What we learned

We learned how to use Pygame and Pygame's Mixer for this project and we learned how to make an AI. Additionally we learned how to find the chorus in a song and how to use the AI to help us find it.

What's next for AJ - Automated Jockey

AJ will be able to match BPM, modulate keys, and filter out lows using an EQ. We will also make an accessible app that works with popular streaming services such as Spotify and Apple Music so you can start the party with the convenience of your phone!

Share this project:

Updates

Submission history