PLOrk spring2009
Contents
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
Schedule
Classes
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)
- Listen/watch here: http://plork.cs.princeton.edu/listen/midterm2009/
- 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
Resources
- PLOrk Reader; lots and lots of reading relevant to PLOrk and this seminar in general. please add as you see fit, and ask us for the password for protected papers if you can't guess it.
- Be sure you're on the PLOrk314-316 mailing list.
- See the extensive list of resources at the Fall 2007 Wiki for starters.
- download chuck and the miniAudicle
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
- Assignment 4 assigned
- Functions
- ChucK concurrency using spork~
- The ChucK pull model: dac and blackhole
- Envelope review
- 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
- Broadcast and signal methods
- See example code from class
- Broadcast and signal methods
- HID events and smelt
- 3/4
- OSC events
- Demo of OSC + processing for webcam control
- Example code from class
- 3/9
- Assignment 5 due
- Writing your own classes
- Machine.add
- See class examples
- Intro to Wekinator
- Midterm project assigned
- 3/11
- Discussion of controller mapping strategies (Perry)
- Check out Tilt-o-flute.ck
- Supervised learning overview (Rebecca)
- Discussion of controller mapping strategies (Perry)
- 3/16: BREAK!
- 3/18: BREAK!
- 3/23
- Skot does some SupBalloon prep
- Dan does LiSa
- 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
- Feature extraction using UAnae
- Classification
- See chuck examples
- 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!!
Assignments
Please submit Assignments in Blackboard unless the instructions say otherwise. We'll often use Blackboard to give you feedback on your assignments, as well.
- Assignment 1: ChucK Initiation Rites. Due 2/6.
- configuring your laptop is part of this assignment.
- Assignment 2: Twinkle, Twinkle. Due 2/9.
- also get the twinkle skeleton.
- Assignment 3a: Review chuck basics (for beginning programmers). Due 2/16. Don't submit anything.
- Types, values, and variables:
http://chuck.cs.princeton.edu/doc/language/type.html
Read the parts on variables and primitive types - Operators and operations:
http://chuck.cs.princeton.edu/doc/language/oper.html
Make sure you understand =>, arithmetic, modulo (%), logic, and increment/decrement (++ and --) operators. We'll be discussing @=> next week. - Unit generator basics:
http://chuck.cs.princeton.edu/doc/language/ugen.html
Make sure you understand declaring, connecting via =>, and calling functions using the two methods I talked about in class:
s.freq(440);
and
440 => s.freq; - Control structures:
http://chuck.cs.princeton.edu/doc/language/ctrl.html
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.
- Assignment 3b: Digital audio review (from my email)
- Sound, sinusoids, frequency & pitch, digital/analog and analog/digital conversion, including sampling
- Look through http://music.arts.uci.edu/dobrian/digitalaudio.htm
- Practice questions:
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...
- Assignment 3: Drum Machine 1. Due 2/18, submit on Blackboard.
- get the drum machine skeleton.
- Assignment 4: Drum Machine 2. Due 3/2, submit on Blackboard.
- Assignment 5: Events and interaction. Due 3/9, submit on Blackboard.
- Midterm due 3/24, 9pm (performance & written components; submit written work on Blackboard)
- Download Ganzfeld handout here
- Results: Listen/watch the performance here
- Assignment 6: Classes and Filters. Due 4/6, submit on Blackboard.
- Assignment 7: Spectral madness!. Due 4/29, submit on Blackboard.
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.
- See Alice's final project
- See Rebecca's final project example
- See Adrian's final project
- See Julianne's final project
- See Mark's final project
- See Alex's final project
- See Tim's final project
- See Nik's final project
- See Brittany's final project
- See Steven's final project
- See Justin's final project
- See Ross's final project
- See Theo's final project
- See Thomas's final project example
- See Kevin's final project
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/2: Introduction/Orientation/Listening
- Introductions, Syllabus, Schedule
- Introduction to "Supreme Balloon" by Matmos
- Assignment 1 assigned. See Mendel Library Online Reserves
- 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
- Assignment 5 assigned.
- 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/6: MIDI MIDI MIDI
- 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
- 4/29: Last precept
Assignments
- Assignment 1: Listening & Response [Due Feb 9]
- Assignment 2: Field Recording [Due Feb 18]
- Read Hildegard Westerkamp: Linking Soundscape Composition and Acoustic Ecology.Organised Sound. Volume 7, Number 1, 2002.
- Read Francisco Lopez: “Environmental Sound Matter. From liner notes of La Selva.
- Assignment 3: Editing Sonic Fragments [Due March 4]
- Assignment 4: Studio Composition (midterm) [Due March 23]
- Assignment 5: Plork Instrument [Due April 8]
- Assignment 5: Final Project [Due May 15]
Final Projects
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
- 2/21: SPECIAL WEEKEND REHEARSAL WITH MATMOS; sat afternoon
- 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
- 3/28: SPECIAL WEEKEND REHEARSAL WITH MATMOS; sat afternoon
- 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