Friday, April 20, 2012

Webcam Theremin

I love listening to and making music, so I thought it was time for me to attempt to make an instrument. I've been particularly attracted to the Theremin, so I decided to try to emulate it with a webcam. My idea was to have the camera track fiducials and then use their position to output a tone and (hopefully) a chord. Currently, the vertical position of the fiducial controls the frequency of the note.

To create this instrument, I used Processing/Java and included the Minim and TUIO libraries. Both libraries are well documented and very powerful; I recommend tinkering around with them. Additionally, I used ReacTIVision to act as a tracker for the fiducials.

The keen observer may note that I'm not using the Processing IDE, but instead, Eclipse. The reason why is that I like Eclipse's auto-complete feature where it displays the methods and variables associated with an object, if you put a "dot" after a reference to the object. I find this extremely useful when I'm working with new libraries.

Below is a quick demo of the current version of the project. My next goal is to make hitting notes more intuitive and fluid. At the moment, it's kind of like trying to play a song on a piano while blindfolded without knowing where middle C is. Perhaps I will superimpose a scale onscreen so the user can estimate where the notes are chromatically.

EDIT: I forgot to mention that in the video, I show two things: the first half demonstrates the "snapping" feature where the program plays the closes major note, the second half demonstrates a sliding scale.

No comments :

Post a Comment