Difference between revisions of "PLOrk spring2009"

From CSWiki
Jump to: navigation, search
(Final Projects)
(Final Projects)
Line 378: Line 378:
===Final Projects===
===Final Projects===
Raymond Weitekamp
Raymond Weitekamp
[http://www.vimeo.com/4666340 link Video]
[http://www.vimeo.com/4666340 Video]
[http://www.princeton.edu/~rweiteka/MUS316FinalRAW.zip link Code, Writeup]
[http://www.princeton.edu/~rweiteka/MUS316FinalRAW.zip Code, Writeup]
== Working Rehearsal Schedule ==
== Working Rehearsal Schedule ==

Revision as of 03:31, 18 May 2009

General Information

Welcome to COS/MUS 314/316 for Spring 2009. We are PLOrk and we're not gonna take it! No! Not again!! Nopes! Nopesey nopes!!

Check out the syllabus for 314. Check out the syllabus for 316.

Laptop Configuration

All PLOrk members must configure their laptops (Macbooks) as described here

The current version of the PLOrk Repository, broken down into subfolders that can be downloaded individually, can be found here



Precepts WILL be held the first week of class!!

  • 314: Precepts on Mondays and Wednesdays from 7:30-8:20pm, Woolworth 106
  • 316: Precepts on Mondays and Wednesdays from 8:30-9:20pm, Woolworth 106
  • 314 and 316: Class from 1:30-4:20pm, McAlpin.

Important Dates

  • Classes begin: February 2
  • Spring break: Week of March 16
  • FFPLOrkMUP: March 24 (midterm project performances)
  • Special rehearsals with Matmos:
    • February 21, 2-5pm (tentative hours; afternoon fer sure)
    • March 28, 2-5pm (again,tentative hours)
  • Another date to showcase class projects, perhaps at one of the residential colleges, or Chancellor Green, or...???? date TBD
  • Spring Richardson Concert
    • May 15; load-in, rehearse (including Matmos, So Percussion, Riley Lee), most of the day
    • May 16; additional rehearsals, again most of the day, performance at 8pm. bring your friends, parents, uncles, exe's!!

Additional Dates

these dates do not involve everyone, but will likely involve some of you

  • April 10-11; performances with Matmos and So Percussion at The Kitchen in NYC
    • special rehearsals TBA, likely in the days/weekend before
  • April 15-17; performance at the MacArthur Foundation in Chicago


COS/MUS 314 Info

Rebecca's office hours

Tuesday, 1:30-2:30 PM Friday, 4-5 PM

My office is room 217 in the Computer Science building, which is attached to the Friend center. The easiest way to find it is to take the CS building elevator to the 2nd floor, turn right out of the elevator, and go all the way to the end of the hallway.

If my officemates are in my office and someone comes to meet with me for office hours, I'll often move to the CS tea room (which is basically a much bigger communal room with lots of tables and chairs, as well as some tea). In this case, I'll put a sign on my door for you to go to the tea room. To get there, go down the long hallway to your left once you come out of the elevator. The tea room is at the end of the hall.

You're always welcome to email me to set up a time to meet outside of office hours, but I don't recommend stopping by my office unannounced and expecting me to be there, since I do work from home a lot.

Tentative precept schedule

  • 2/2: Becoming PLOrk-worthy, Intro to the Universe and more
    • Introductions, Syllabus, Schedule
    • Algorithms
    • Assignment 1
  • 2/4: Intro to programming, ChucK
    • Assignment 1 due
    • Making sound in ChucK
    • What happens when a ChucK program executes?
    • Controlling time
    • Basic ChucK: identifiers, objects, comments, keywords, statements, operators, data types, printing
    • Unit Generators
    • Sound waves and digital audio
    • UGen demos
    • Example code from today
    • Assignment 2 assigned
  • 2/9
    • Questions on Assignment 1?
    • Assignment 2 due
    • Questions on Assignment 2?
    • Objects and their methods: STK instruments and the ChucK online documentation
    • STK Instrument Example Code from today
    • comments and style
    • More expressions: boolean relational and logical operators
      • ==, >=, <=, <, >, &&, ||, !, !=
    • increment and decrement operators
    • if/else
    • while loops
  • 2/11
    • Unit generators review: declaring, calling getter & setter methods
    • Digital audio basics: sound, sampling, analog/digital conversion
    • Declaring and using objects; primitive types
  • 2/16
    • Handouts:
    • arrays
    • for loops
    • Harmonics
    • Intro to additive synthesis
    • Examples from class: download here
    • Related topics that we didn't cover:
      • nested loops
      • scope
      • SndBuf for playing audio files
      • random number generation
  • 2/18
    • Assignment 3 due!
    • Continuing discussion of harmonics
    • Time/frequency representation of sound
    • Using Audacity and sndpeek for spectral analysis
    • Intro to vibrato and envelopes
      • ADSR envelopes; the ADSR UGen
      • Exponential envelopes
      • Envelopes as a function multiplied with a waveform
    • Examples from class
  • 2/23
  • 2/25
    • Concurrency: Sporking shreds, dying parents, guarantee of sample-level synchronization between shreds
    • Envelopes & blackholes; envelopes for smoothing pitch & other parameters
    • Intro to using events for more complex synchronization strategies
    • See the chuck examples from class
  • 3/2
    • Assignment 4 due
    • Assignment 5 assigned
    • Events for synchronization of shreds
    • HID events and smelt
  • 3/4
  • 3/9
  • 3/11
    • Discussion of controller mapping strategies (Perry)
    • Supervised learning overview (Rebecca)
      • Learning mappings from input (sensor) to output (sound parameter) spaces by example: e.g. regression, neural networks, classification (for discrete output space)
      • More with Wekinator
        • Check out code for exploring flute parameters with wekinator (add this as your synth class in wekinator.ck)
  • 3/16: BREAK!
  • 3/18: BREAK!
  • 3/23
  • 3/24: Midterm due (FFMUP night)
  • 3/25
    • @=> assignment (assignment by reference); backend memory behavior
    • inheritance and polymorphism
    • writing subclasses in ChucK
    • all examples here
  • 3/30
    • Filters as spectral domain transformations
    • Magnitude response of filters
    • ChucK filter objects: LPF, HPF, BPF, ResonZ, BiQuad
    • Discussion of phase, intro to aliasing
  • 4/1
    • Filters as a time domain operation
    • Block diagram representations of filters
    • Comb filters
    • More on aliasing
  • 4/6
  • 4/8
    • PRC precepts
    • More FFT, Intro to Features
  • 4/13
    • Precept canceled for Chicago rehearsal
  • 4/15
    • Precept canceled for Chicago rehearsal
  • 4/20
    • FFT and feature extraction in ChucK
    • Using features & Unit Analyzers
    • See FFT handout
  • 4/22
  • 4/27
    • intro to Max/MSP
    • using Processing for guis and so on
    • example files for using processing, max and chuck with OSC here.
  • 4/29: Last precept!!


Please submit Assignments in Blackboard unless the instructions say otherwise. We'll often use Blackboard to give you feedback on your assignments, as well.

  1. Types, values, and variables:
    Read the parts on variables and primitive types
  2. Operators and operations:
    Make sure you understand =>, arithmetic, modulo (%), logic, and increment/decrement (++ and --) operators. We'll be discussing @=> next week.
  3. Unit generator basics:
    Make sure you understand declaring, connecting via =>, and calling functions using the two methods I talked about in class:
    440 => s.freq;
  4. Control structures:
    Some of this should look familiar from Perry last week (if/else and while). Make sure you understand these, and take a glance at for-loops, which we'll talk about on Monday.
1. In the code below, what should I replace "AAA" with in order to play a 440Hz sine for 1 second, followed by an 880Hz sine for 1 second?
SinOsc s => dac;
440 => s.freq;
AAA::samp => now;
880 => s.freq;
AAA::samp => now;

2. Run the following code in the miniAudicle. Make sure you understand what is being printed out (to the Console Monitor window). Hint: read http://chuck.cs.princeton.edu/doc/language/time.html#type if you're confused!

<<< now >>>;
.5::second => now;
<<< now >>>;
1::samp => now;
<<< now >>>;

3. What is the effect of the following code? (Make sure you understand the modulo % operator, mentioned in my last email)

10::samp => dur T;
T - (now % T) => now;
<<< now >>>;

If you're having trouble with this, try changing 10 to 1, 100, 1000, or 10000. Take note of the value of "now" that gets printed out...

Final Projects

Build some kind of "instrument" using ChucK, and perhaps Processing or Max/MSP or some other environment, as needed (these latter environments may be particularly useful for building GUIs). Work up some kind of "piece" or performance, either solo or with others (not necessarily in the class or playing laptop). Make an informal video recording of your performance, using a built-in webcam, or better if you prefer. Create a wiki page (see below) with links to your video and all of your code. Include instructions for how to get the instrument running, should we want to try it. Also include thoughts about your motivations for designing the instrument, and describe whatever relevant musical concerns you have or had.

Now, about the "instrument." As discussed in class, this can range from a conventional model, where some kind of physical input yields some kind of immediate sonic output, to a more "materials-based" instrument (like beepsh, or the network cycler), where the player manipulates musical material but is not physically directly activating sound, to some kind of hybrid of the two. It can also be a "carbon/silicon" hybrid, where the laptop is used to process or otherwise manipulate the sound of a conventional acoustic instrument; in this case, both instruments can be played by a single player, or by separate players.

Due Dean's Date, 5pm! No late submissions accepted!

Please create a link to your final project wiki here. To create your page, click "edit" on this section. If you're not signed in to the wiki, you'll have to create your wiki account or sign in (follow the prompts). Then copy and paste the following line (beginning with a '*') to add yourself to the bullet list, then change it so that it has your name instead of Rebecca in both places. Save the page, then click on the new link in the wiki. This will bring you to the new wiki page for your project. You can copy and paste code from Rebecca's sample page to get you started on editing. In order to maintain these pages beyond this year, please contact Rebecca about hosting your files on the CS server, so they don't go away when you graduate.

MUS 316 Info

Scott's office hours

Mon, 4:30-5:30 PM Weds, 4:30-5:30 PM Thurs, 10:00-11:00 AM

My office is room 221 in Woolworth, right around the corner from plorkland.

Tentative precept schedule

  • 2/4: The Electronic Music Studio
    • The Audio Chain
    • Sources: Transducers and Oscillators
    • Cables, Mixers, and Patchbays
    • Basic Orientation to Studio A and B
  • 2/9: Field Recording
    • Review Assignment 1
    • Microphones: condenser, dynamic, etc.
    • Preamps
    • Listening, field techniques
    • Assignment 2 assigned.
  • 2/11: LP
    • Hildegard Westerkamp: Gently Penetrating (earsay es02002)
    • Francisco Lopez: La Selva (V2_Archief V228)
  • 2/16: Creative Editing
    • Introduction to Pro Tools and Peak
    • Field recording techniques
    • Framing field recordings, organizing sources, etc.
  • 2/18: Creative Editing Continued & LP
    • Basic EQ, editing, and mixing in Pro Tools
    • Bouncing a mix
    • Andy Hayleck: Park (Recorded 013)
    • Assignment 3 assigned.
  • 2/23: More Editing, Microphones/Studio Recording (Guest Alex Kass)
  • 2/25: LP w/ Michael Early
  • 3/2: LP -
    • Listen to Field Recordings
    • More editing/FR techniques
    • Listening: The Books: Tokyo (from The Lemon of Pink)
  • 3/4: Signal Processing
    • Assignment 3 due - listen through
    • Signal processing in Pro Tools
    • Assignment 4 assigned.
  • 3/9: LP
  • 3/11: Sequencing
  • 3/16: BREAK!
  • 3/18: BREAK!
  • 3/23: Midterms due - LISTEN!
  • 3/25: ChucK, Max/MSP, Synthesis
  • 3/30: LP
    • Vladislav Delay: Viite (from Multila, Chain Reaction CRD-09 2000)
    • Thomas Brinkmann: 0100 (from Klick, max.E CD1 2001)
    • Mileece: formations (Lo recordings LCD030 2002)
  • 4/1: Synthesis & Interactive Systems
    • Additive & Subtractive Synthesis in Chuck
    • SndBuf & Interaction - soundfiles in Chuck, mapping to control inputs
    • gruntbox.ck
  • 4/8: NO CLASS
  • 4/13: LP - Improvising with assignment 5 instruments
  • 4/15: NO CLASS
  • 4/20: LP
    • Ryoji Ikeda: Headphonics (from +/-, Touch TO:30 1996)
    • The Soft Pink Truth: Make Up (from Do You Party, Sounds Like SLO7CD 2002)
    • Finnesz: Endless Summer (from Endless Summer, Mego 035, 2001)
  • 4/22: Collaborative Projects
  • 4/27: LP
    • My Bloody Valentine: Loomer (from Loveless, Creation Records 1991)
    • Mouthus: Untitled (from For The Great Slave Lakes, Three Lobed Records 29CD 2006)
    • OOIOO: Mountain Book (from Gold and Green, Thrill Jockey 160 2005)
  • 4/29: Last precept


Final Projects

Raymond Weitekamp Video Code, Writeup

Working Rehearsal Schedule

  • 2/5
    • Intro to PLOrk instruments, sign out, etc...
    • let's play some PLOrk classics
  • 2/12
  • 2/19: prep of pieces for 2/14 Matmos rehearsal
    • begin workshopping all tunes that involve Matmos
    • also experiment with different co-amplification strategies
  • 2/26
    • Jascha
    • Early
    • Hammond
    • Lieber
    • Sean/Cameron
      • network pulse trial
    • others?
  • 3/5: a lot on this day; some might get pushed to the following week
    • Ted Coffey visits; first try at his piece
    • Rebecca; flashlight piece, first run
    • Jascha; another go at it -- maybe record a short run
    • Sean/Cameron; quick network pulse test
    • Early
  • 3/12
    • Supreme Balloon, PLOrk only
    • Hammond
    • Jascha (record for So)
    • Early
    • Blinky
  • 3/19: BREAK WEEK
  • 3/26: So Percussion visits to workshop
    • Jascha
    • Britt/Friar
    • Hammond
    • Supreme Balloon
    • So pieces
      • Ceramics
      • Goodnight
      • Today's Date?
    • Lieber (not with So), if time
  • 4/2:
    • Lieber
    • Motley Crew
    • Mark C's network tests
    • Coffey
    • Goodnight
    • Blinky
  • 4/9: NO REHEARSAL: Perry/Dan/Skot/Michael and Kitchen Team loading into Kitchen
  • 4/10: Rehearsal for Kitchen group with So/Matmos; show in the eve
  • 4/11: Second show at the Kitchen
  • 4/16: (some folks in Chicago for performance. Skot leads rehearsal.)
  • 4/23: Riley Lee visits, to try some things; Ted Coffey visits.
    • Blinky
    • Bells and Whistles
    • Coffey
    • Hammond
    • Ceramics
    • Goodnight
  • 4/30: Coffey visits; perhaps Riley Lee as well
    • Hammond
    • Coffey
    • Ceramics
    • Lieber
    • Bells and Whistles
    • Goodnight
    • Blinky
  • 5/14: Rehearsal in McAlpin, 1:30–4:30
    • Ceramics
    • (Goodnight)
    • Early
    • Hammond
    • Blinky
    • Kindness
    • Ganzfeld test
    • Bells and Whistles
    • Beepsh/Boomdinger test
  • 5/15: Load-in, rehearse, Richardson; much of the day
    • 11am-1pm; So/Matmos load-in, setup
    • 1:45pm; PLOrk loads-in, sets up in and around So/Matmos
    • 2pm-6pm; all rehearse
    • 7pm-9pm; all rehearse
  • 5/16:
    • noon-6pm; all rehearse
    • 8pm; concert
    • Program:
      • Coffey
      • Blinky
      • Kindness
      • Ganzfeld
      • Bells and Whistles
        • --intermission--
      • Beepsh/Boomdinger
      • Ceramics
      • Hammond
      • Supreme Balloon
      • Goodnight