From CSWiki
Revision as of 22:36, 11 May 2009 by Brittanyhaas (talk | contribs) (Code)

Jump to: navigation, search

Brittany's Final Project


This project aims to create an interactive one-(wo)man band. Although this version of the project is minimal, further iterations could include more instruments in the band. The band could also take on different genres, using different STK instruments or SndBufs (recorded from real instruments). The current version includes upright bass and cello as the backing chordal/rhythmic instruments. These are the interactive elements, while the melody is created separately, and fixed so that the back-up can be varied with different grooves and alternate chords. The idea for this project is based loosely on an existing product called Band-in-a-Box, in which back-up tracks are played with certain presets, over which a melody-playing instrumentalist can practice playing tunes or solo-ing over chord changes. This project creates the opposite situation, and could possibly enable melodic, harmonic, and rhythmic freedom in the future.


The part of the program that provides the basis for the back-up instruments uses key-mapping. The Q-P row of keys has all the bass notes; the A-L row of keys has the cello notes. The bass notes are single notes whereas the cello notes are double stops (or drones). The notes/chords are laid out according to the circle of fifths. This makes it easier to find chords that would typically be found back-to-back in a piece of music. Thus the keys needed to create a IV-V-I progression are very near one another. There is also a "chop" sound available in the cello row, and a "click" sound available in the bass row. The "chop" sound is made by the cello bow slapping the strings; the "click" sound is made by the fingers slapping the string against the fingerboard.


  • Code for mapping of bass and cello notes
  • Sample code for a melody to play along with

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