Difference between revisions of "220b-winter-2012/hw3"

From CCRMA Wiki
Jump to: navigation, search
(Resources)
 
(2 intermediate revisions by one other user not shown)
Line 6: Line 6:
 
In this assignment, you are to create a '''live generative musical system''' in ChucK, defining its parameters and creating a piece of music using the system (via real-time high-level input).
 
In this assignment, you are to create a '''live generative musical system''' in ChucK, defining its parameters and creating a piece of music using the system (via real-time high-level input).
  
Due date: 2011.2.16 11:59:59pm (or thereabout), Thursday.
+
Due date: 2012.2.20 11:59:59pm (or thereabout), Monday.
  
 
('''NOTE: no late submissions will be accepted for this assignment''')
 
('''NOTE: no late submissions will be accepted for this assignment''')
Line 44: Line 44:
  
 
* for mapping your keyboard/mouse to your generative clouds [http://smelt.cs.princeton.edu/ S.M.E.L.T.]
 
* for mapping your keyboard/mouse to your generative clouds [http://smelt.cs.princeton.edu/ S.M.E.L.T.]
* Graham Coleman's most excellent [http://www.iua.upf.es/~gcoleman/chuck/tutorial/tutorial.html tutorial on ChucK for Music]
+
* Graham Coleman's most excellent [http://www.dtic.upf.edu/~gcoleman/chuck/tutorial/tutorial.html tutorial on ChucK for Music]
 
* [http://chuck.cs.princeton.edu/doc/program/ugen.html ChucK unit generator reference] (check out the section on STK instruments, as potential starting points for ready-to-go instruments)
 
* [http://chuck.cs.princeton.edu/doc/program/ugen.html ChucK unit generator reference] (check out the section on STK instruments, as potential starting points for ready-to-go instruments)
 
* [http://chuck.cs.princeton.edu/doc/examples/ ChucK examples]
 
* [http://chuck.cs.princeton.edu/doc/examples/ ChucK examples]
 
* [http://chuck.cs.princeton.edu/doc/examples/stk/shake-o-matic.ck shake-o-matic] : virtual shaker player, again a potential building block.
 
* [http://chuck.cs.princeton.edu/doc/examples/stk/shake-o-matic.ck shake-o-matic] : virtual shaker player, again a potential building block.
 
 
  
 
=== Deliverables ===
 
=== Deliverables ===

Latest revision as of 13:38, 14 February 2012

Homework #3: "Generative Drum Machine + Soundscape"

OmegaNebula.jpg


In this assignment, you are to create a live generative musical system in ChucK, defining its parameters and creating a piece of music using the system (via real-time high-level input).

Due date: 2012.2.20 11:59:59pm (or thereabout), Monday.

(NOTE: no late submissions will be accepted for this assignment)


Tools at your disposal

  • ChucK
  • code
  • keyboard, mouse


Specification

What to do:

  • create a software system in ChucK that generates music "automatically" or "semi-automatically" (i.e., with limited "high-level" human interaction)
    • a core component of this should be a generative drum machine
    • also think about a overall generative soundscape the envelopes the drum machine
  • use some of the synthesis elements we talked about (e.g., SinOsc, TriOsc, SqrOsc, Noise, Impulse, Step, ResonZ, OnePole, OneZero, BiQuad, LPF, HPF, ADSR, STK instruments, Comb filters etc.)
  • use some of the technique we talked about (e.g., shreds, events, chance, lookup tables, Markov chains, etc.)
  • expose some high level parameters (e.g., density, excitement, mood, texture) and control them using input
    • for example: mouse, keyboard,
    • (optional): use audio analysis as a control for the synthesis (e.g., using ChucK Unit Analyzers)
  • here are some example ideas (you can use, combine, extend these, or go with something else altogether)
    • modeling playing style of something percussive, or a group of instruments ("real" and/or imagined)
    • model a particular musical style
    • leverage or musically sonify a mathematical model or a computer algorithm
    • a system that somehow evolves over time, giving a set of starting parameters
    • invent something new/crazy!
  • it might be helpful to design/partition your system into modules that you can exert independent control over, or that take care of different types of tasks/sounds in the system
  • create/perform a composition using your system, paying attention to overall form, density, and texture throughout (think "sonic clouds"...)


Resources

Not all of these are directly relevant, but may serve as basic building blocks...

Deliverables

As usual, turn in all files by putting them in your Library/Web/220b/hw3/ directory and email the link to Ge and Spencer.

  • 1) create a hw3/ directory, and put all the stuff below in there:
  • 2) index.html should go into the hw3/ directory
  • 3) all related source/sound files (.wav/.ck) NOTE: You must turn in a .wav file showcasing a performance on your system.
  • 4) a short README text (readme.txt) file that:
    • specifies instructions on running your programs
    • describes your process/adventure, and perhaps the ideas (technical/aesthetic) behind the composition
    • gives credit, if needed, for the sounds you are using
    • describe any difficulties you encountered in the process
  • 5) email Ge And Spencer

Have fun with it!