PLOrk spring2011
From CSWiki
Revision as of 23:35, 14 February 2011 by Daniglesia (talk | contribs) (→Tentative precept schedule)
Contents
General Information
Welcome to COS/MUS 314 for Spring 2011. You will be assimilated into PLOrk, resistance is futile.
In addition to YOU, the following are involved in teaching these courses:
- Daniel Iglesia, Visiting Lecturer/ Visiting Director of PLOrk
- Jeffrey Snyder, Technical Director, Princeton Computer Music Studios, Associate Director of PLOrk
- Michael Early, graduate student and TA, Assistant Director of PLOrk
Other Important People whose names will come up
- Perry Cook and Dan Trueman, professors and PLOrk founders
- Ge Wang, PLOrk founder, creator of ChucK, now leads rival Stanford LOrk
- Rebecca Fiebrink, CS professor and PLOrk expert
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!!
- Precepts on Wednesdays from 7:30-9:20pm, Woolworth 102
- Thursday rehearsal from 1:30-4:20pm, McAlpin and other rooms in Woolworth, when we break into smaller groups.
Important Dates
- Class begins: February 2
- Spring break: Week of March 14
- Week of March 21st: informal midterm project presentations, location TBD
- April 23rd: dress rehearsal and performance in Taplin Auditorium
- April 29th: dress rehearsal and performance at 92nd St. Y Tribeca, NYC
- Sometime Mid-May, probably during finals period: final project presentations (public event)
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.
COS/MUS 314 Info
office hours
- Dan I. (diglesia AT princeton )will be in Princeton on Wednesday and Thursdays. Office hours will be before/after class by request/appointment.
- Jeff: (josnyder AT princeton )
- Michael: (mearly AT princeton
Tentative precept schedule
(Much of this syllabus & assignments is inspired by Rebecca Fiebrink's 2010 syllabus)
- 2/2: Becoming PLOrk-worthy, Intro to the ChucK Universe
- Introductions, Syllabus, Schedule, email list, wiki, setting up PLOrk rep
- Brief history of electronic music / tech / PLOrk
- Brief intro to sound: waves, frequency, consonance & dissonance, paritials, noise (more in psychoacoustics lecture)
- Brief intro to digital audio: sampling and analog/digital conversion
- Intro to UNIX structure, commands, scripts
- Brief intro to miniAudicle & ChucK!
- Coding in ChucK 101
- See Rebecca's handout on ChucK basics
- patches, unit generators, and the dac
- primitive types (int, float) and numerical constants
- calling functions of UGens
- the Std.mtof special function
- controlling time in ChucK
- Example code from today
- HelloOsc.ck (monophonic)
- HelloOsc_sporked.ck (sporked)
- Assignment 1 assigned, due 2/8/10
- Rehearsal: coag.ck
- 2/9: Further ChucK and synthesis fundamentals
- Review concepts from 2/2
- Intro to historical sound synthesis techniques
- Implementation/visualization in other softwares/hardware
- making it dynamic with LFOs
- Boolean logic
- ==, >=, <=, <, >, &&, ||, !=, ! operators
- see this page
- ==, >=, <=, <, >, &&, ||, !=, ! operators
- if and else statements
- while loops, a little more with time
- See [Example code from today:
- 2/16 Objects and Events - real time control
- object oriented programming, functions/variables/subclassing
- events generated by devices: HID (mouse, keyboard, etc)
- MIDI events
- tying together in ChucK
- Example Code:
- TBD: Psychoacoustics and Intermediate ChucK: more synthesis, controlling with events.
- Intro to functions
- AM synthesis
- More on harmonic series, perception of pitch and timbre
- more on LFOs
- Examples from today
- Rebecca's Handouts
- at last: getting user control information in real time: intro to events
- keyboard/mouse events
- 2/23: object-oriented programming, concurrency, STK, more events
- SndBuf objects
- intro to Synthesis Toolkit (STK) UGens
- Writing your own functions
- Understanding and using user-defined classes
- More on sporking and events
- FM synthesis
- Example code from today
- See also
- On-the-fly coding examples: http://chuck.cs.princeton.edu/doc/examples/ (look for "otf")
- FM synthesis example: http://chuck.cs.princeton.edu/doc/examples/basic/fm.ck
- 3/2: Events and interaction
- NIMEs (new interfaces for musical expression)
- HID devices and SMELT
- Chuck's event model
- Intro to supervised learning
- Intro to the algorithms
- Supervised learning & the mapping problem
- The wekinator learning model
- Using the wekinator with feature extractors & synthesizers
- Using the Wekinator with HID devices and synthesis classes
- 3/9
- Transcoding, multimedia, data sets
- Max/MSP, SuperCollider, Processing intro
- 3/16: SPRING BREAK!
- 3/23: MIDTERM PERFORMANCES!
- 3/30: Frequency domain, plus lots of other useful things
- Time/frequency representation of sound
- FFT and STFT
- See FFT handout here
- Using audacity and SPEAR for spectral analysis
- Analysis-resynthesis practice
- scope, loops, and (no) garbage collection
- Chuck's unit analyzer infrastructure
- See Chuck UAna reference
- Perry's FFT/IFFT examples: http://www.cs.princeton.edu/~prc/314/FFT/ from 2009
- Time/frequency representation of sound
- 4/6 Machine listening and audio analysis
- Audio analysis techniques
- FFT continued
- Features, timbre, and perception - pitch, volume, etc.
- UAnae and other audio feature extraction tools (see http://chuck.cs.princeton.edu/doc/program/uana.html)
- Supervised learning algorithms
- Code examples from today (cross-synthesis)
- Also see Perry's FFT examples from 2009 at http://www.cs.princeton.edu/~prc/314/FFT/ (includes SinOsc pitch tracker)
- Audio analysis techniques
- 4/13: More interactive coding techniques
- MIDI, Events, LiSa introduction, coding strategies
- [ coding examples from class]
- also, LiSa examples
- and LiSa tutorial
- and LiSa basic documentation
- 4/20
- OSC and networking
- See basic OSC examples: sender and receiver
- Rebecca's OSC handout
- Examples from class: here
- OSC and networking
- 4/27: TBD
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.