Difference between revisions of "PLOrk2009/AlexBourqueFinalProject"

From CSWiki
Jump to: navigation, search
 
(Additional Notes)
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Alex's Final Project ==
+
== ChucKBass ==
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.
+
I'm ChucKBass.
  
=== This is a subsection ===
+
=== Description ===
  
With some text.
+
I created ChucKBass to play bass along with a performer. After taking the fast Fourier transform of the audio input, a feature (the peak of the spectrum) is extracted and determines the pitch that ChucKBass plays. ChucKBass plays with a regular rhythm, but the note duration can be changed (you can think of them as whole notes, half notes, quarter notes, eighth notes). I decided to keep all the pitches within a pleasant and audible two octave range. For a little extra color and texture I added an upper voice that arpeggiates chords determined by the bass note and randomly stacked minor and major thirds.
  
* And some bullet points
+
=== How To Play ===
* Here's another
 
  
=== This is another subsection ===
+
Once the program is running, you press [ + ] to fade in the bass and [ - ] to fade out. The default note duration for each bass note is 2 seconds, but you can make the bass play once per second by pressing [2], twice per second [3], four times per second [4], and you can go back to the default with [1]. The bass notes are determined by the sounds you make (and whatever other sounds your mic picks up in the room). You fade in the upper voice in with [  }  ], and fade out with [  {  ]. You can hear the arpeggios a little after two thirds into my demonstration linked below.
  
[http://www.google.com with a link off the wiki]
+
=== In Action ===
  
[[PLOrk_spring2009 | and a link on the wiki]]
+
You can hear me playing saxophone with ChucKBass [http://www.princeton.edu/~abourque/audioExample.mp3 here]
  
=== What to include on your project page ===
+
=== Code ===
* A description of your project
+
 
* Your code
+
You can find the code [http://www.princeton.edu/~abourque/ChucKBass.zip here].
** If it's short, you can make a new page for it like [http://wiki.cs.princeton.edu/index.php/Poly_demo.ck this one]
+
I encourage you to play around with ChucKBass while playing your own instrument.
** Or, if there's a lot of it, put it in a .zip file so that people can upload it.
+
 
*** We suggest: put it in your public_html directory on your network drive, then make a link, e.g. to http://www.princeton.edu/~yourname/yourfile.zip. Let us know if you need any help!
+
=== Additional Notes ===
* 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 rec.ck for writing chuck's output directly to a file.
+
I opted to allow the performer to change the note durations instantly but otherwise keep the rhythm regular. If you'd prefer ChucKBass to play some specific rhythms or maintain three or four beat phrasing or a certain pattern you could create arrays of note values, add a for loop in the bassline function, and switch between rhythms by pressing keys on the keyboard. Also, I use the peak bin number as a midi note, but you could change how the peak determines the bass note.
** See directions above on putting it on your network drive and linking to it
+
 
 +
 
 +
~
 +
This project represents my own work in accordance with University regulations.
 +
~

Latest revision as of 13:30, 12 May 2009

ChucKBass

I'm ChucKBass.

Description

I created ChucKBass to play bass along with a performer. After taking the fast Fourier transform of the audio input, a feature (the peak of the spectrum) is extracted and determines the pitch that ChucKBass plays. ChucKBass plays with a regular rhythm, but the note duration can be changed (you can think of them as whole notes, half notes, quarter notes, eighth notes). I decided to keep all the pitches within a pleasant and audible two octave range. For a little extra color and texture I added an upper voice that arpeggiates chords determined by the bass note and randomly stacked minor and major thirds.

How To Play

Once the program is running, you press [ + ] to fade in the bass and [ - ] to fade out. The default note duration for each bass note is 2 seconds, but you can make the bass play once per second by pressing [2], twice per second [3], four times per second [4], and you can go back to the default with [1]. The bass notes are determined by the sounds you make (and whatever other sounds your mic picks up in the room). You fade in the upper voice in with [ } ], and fade out with [ { ]. You can hear the arpeggios a little after two thirds into my demonstration linked below.

In Action

You can hear me playing saxophone with ChucKBass here

Code

You can find the code here. I encourage you to play around with ChucKBass while playing your own instrument.

Additional Notes

I opted to allow the performer to change the note durations instantly but otherwise keep the rhythm regular. If you'd prefer ChucKBass to play some specific rhythms or maintain three or four beat phrasing or a certain pattern you could create arrays of note values, add a for loop in the bassline function, and switch between rhythms by pressing keys on the keyboard. Also, I use the peak bin number as a midi note, but you could change how the peak determines the bass note.


~ This project represents my own work in accordance with University regulations. ~