Inspiration
We have a musician friend who finds it really difficult to think and plan out backing tracks. They find making the lyrics and the basic melody easy, but as they love many genres, it's sometimes difficult and often time-consuming for them to create and scrap backing tracks for one single song over and over again.
What it does
The web app takes a recording of a person's vocals and sends it to a database, where we're performing algorithms to find the closest track in our database that matches the vocal track (based on features like tempo, pitch, and many others).
How we built it
We decided to work with the more complex part first, the database and the closest neighbor algorithms. We then worked on front-end and back-end simultaneously, making design changes and algorithm efficiency improvements whenever we could.
Challenges we ran into
Using git early on became inconvenient as we both would make many changes and would have to deal with merge conflicts multiple times. Therefore, we actually decided to scrap using git for the first day, and just created files on each of our laptops, and if anything needed to be transferred we simply e-mailed or airdropped. The main challenge was to actually get the database to work in tangent with the neighbor algorithm and the front end. The front end and the neighbor algorithm work more or less fine independently, but in tangent with the database, problems start to occur.
Accomplishments that we're proud of
Getting the neighbor algorithm to work independently was a moment of pride, as the base of the project was essentially working.
What we learned
The project seemed to be able to be solved in two days, but with only two people it was difficult to get everything done within the allotted time. Due to things like the MacBook microphones and the dataset we decided to use, we spent a lot longer on this project with small bugs than we should've had.
What's next for TrackMaster
It'll depend based on how many new features and efficiency modifications we make to the project.
Log in or sign up for Devpost to join the conversation.