PLOrk2009/AndrewGrossFinalProject

From CSWiki
Jump to: navigation, search

Andrew's Final Project

Project Description

I saw a lot of potential to create expressive interfaces using the golf videogame HID device with the two retractable tethers. The device reads the X- and Y-angle of each tether, as well as the length of the tether, so it can effective tell the position of the two knobs in 3-D space. From there, it is not very hard to use derivatives to keep track of some simple aspects of the knobs’ motion. I used this device to create two virtual instruments – a one-string bass, and a drum kit.

The first instrument I created simulates a one-string bass using one of the tethers. When you pluck the tether, the rapid change in the angle of the string (in the X-dimension) cues a sample of an acoustic bass. The length of the tether determines the frequency of the note (by updating the rate of the sample in real-time). The main concern with coding this instrument was preventing it from cueing the sample when it wasn’t supposed to. For example, it might cue the sample twice when the string was plucked too hard, because the derivative was above the threshold for too long. I solved the problem by using a timing device so that it would not cue the sample twice within a given period of time, but the one downside of this is that it limits how fast you can play.

The second instrument is a virtual drum kit. Holding the two ends of the tethers, the player can pretend to play a simplified drum set, with two snares, a hi hat, and a bass drum. When a virtual drum is hit, the z-value of the tethers decreases very rapidly, cuing the sample. The drum components can be positioned in virtual space using the x- and y-values of the tether; if both are positive, for example, that means that the tether is in the upper-right quadrant, and a given sample is cued.

There are some special restrictions, though. Either tether can be used to play the hi hat (to the front-left of the player), but only the left can be used to play the primary snare (to the front-right of the player). If both tethers are to the front-right of the player, then the second snare is cued. It is important to make sure that the tethers are angled forward, or the sound won’t be cued – while this isn’t necessary for the drum kit as it is, it sets up the framework to add more components, which might be located in the other quadrants (negative in the y-dimension). There are two settings for the pedal; either it can open the hi hat, or can cue the bass drum. There are also two drum kit options, acoustic and electronic.

This is another subsection

Code

Movie