We're first year computer science students, but most importantly we're music lovers. Whether it's analyzing a SoundCloud jam or making our own beats, music has always been an outlet for us to express our creativity. Currently, full DJ sets cost around $1000 and they're an expensive purchase for a casual tinkerer. In recent years, the world of augmented reality has opened up many possibilities to reimagine human-computer interactions.
What it does
We sought to build an augmented reality DJ set that is affordable and requires minimal equipment to use. To create a truly augmented reality application, the application would work entirely through gestures without touching the keyboard or mouse. By hovering the arms over a sensor, the user could perform gestures and movements that a real-life DJ would perform on a stage like increase/decrease the volume, cross-fade, loops etc..
How we built it
We used the SDK for the Leap Motion which had Python integration. We also used Python 2.7.9 as it was the only version supported by the SDK. An Alienware laptop was utilized to handle the computational power required for the motion sensor. Virtual DJ used to hold the songs while the Leap Motion mixed them with effects. An audio visualization tool was also developed in HTML, CSS, and JS to illustrate to the user the process of mixing music with effects.
Challenges we ran into
There were many challenges that we ran into when completing this project, We also had trouble with downloading the software earlier into the hackathon, the SDK for the Leap Motion is outdated and was the latest version is from 2015. There was also an issue with running the background processes in Windows 10 Creators Update. The terminal was now not able to run in the background, so we weren't able to run our program. However, we moved it to MacOS and that significantly improved our efficiency. It also did not help that both of us did not have any experience with Leap Motion sensors prior to this hackathon.
Accomplishments that we're proud of
We have a wide range of hand motions and gestures that the user can make which correspond to do certain tasks for DJ-ing. We were required to use mathematical theorems, especially from Vector Algebra to evaluate the coordinates for accuracy when mixing the music. These theorems allowed us to create very precise effects that closely resemble the real world DJ set.
What we learned
We learned that it is important to have a good working knowledge of hardware developer tools before going into a hardware hack because we both have never used a Leap Motion and it was time-consuming but we were able to deploy all the features that we thought of.
What's next for Air Mix
An executable file of the dependencies and source code of Air Mix which would allow for a more flexible application instead of relying on Python services. Also, a virtual reality companion of Air Mix would be even more interactive and engaging for the user.