For Interactive Intelligent Products we created an interactive tool for aspiring drummers called Drumbeats. The tool uses gesture recognition through the use of machine learning.
The goal of this course was not as much coming up with a ground-breaking product, but more to implement the technology correctly. My goal was to learn more about technical applications of complex code. To really squeeze the most out of Processing and Arduino. We came up with a drumstick which could detect when a hit is made. We then calculated based on the last 3 hits what BPM the user is drumming. Through the speakers of a laptop, we played a song and compared the BPM of the user to the BPM of the song. If they matched, the user scored points.
We achieved this with the use of an Arduino microprocessor and an accelerometer in the foam tip of the drumstick. We also used the papaya and libsvm library to train the Arduino to detect “hits” (simple up and down motions). Once we had everything working, it was a matter of displaying the information to the user through Processing.
Through this project, I learned that the sky really is the limit when you are prototyping. There were a hundred and one different ways to code this concept, but through the use of more complex libraries, we made a very accurate and scalable prototype. I took the things I learned during this course with me into other projects. Being able to tell my groupmates and myself that I can quickly use some motion detection with nothing but an Arduino and accelerometer is incredibly helpful. It shows that even though Industrial Design is not nearly as technical as Software Science, we can still use the tools to make a complex prototype.