From CSWiki
Revision as of 14:29, 12 May 2009 by Bob loblaw (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Rebecca's Final Project

Please don't edit my page, but you can click "edit" above and copy and paste the source for this page into your own page to help you out.

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

with a link off the wiki

and a link on the wiki

What to include on your project page

  • A description of your project
  • Your code
    • If it's short, you can make a new page for it like this one
    • Or, if there's a lot of it, put it in a .zip file so that people can upload it.
  • Instructions on how to run your code
  • A sound or video recording of your piece. Going lo-fi and using built-in webcam from another laptop (e.g. PLOrk machine in studio B) is fine. But for audio, if you're using chuck, best to use for writing chuck's output directly to a file.
    • See directions above on putting it on your network drive and linking to it