Difference between revisions of "220a-fall-2007/hw6"
From CCRMA Wiki
m (220a-fall2007/hw6 moved to 220a-fall-2007/hw6) |
|||
(17 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Homework #6: "Generative Clouds" = | = Homework #6: "Generative Clouds" = | ||
− | <div style="text-align: left;">[[Image: | + | In this assignment, you are to create a '''generative musical system''' in ChucK, defining its parameters and creating a piece of music using the system (either automatically, or via real-time high-level input). |
+ | |||
+ | |||
+ | <div style="text-align: left;">[[Image:OmegaNebula.jpg]]</div> | ||
+ | |||
=== Tools at your disposal === | === Tools at your disposal === | ||
Line 7: | Line 11: | ||
* ChucK | * ChucK | ||
* Audacity/Ardour (for intermediate + final recording/assembly) | * Audacity/Ardour (for intermediate + final recording/assembly) | ||
− | * optional: keyboard, mouse, joystick, and other sensors as input device | + | * optional: keyboard, mouse, joystick, and/or other sensors as input device |
Line 13: | Line 17: | ||
What to do: | What to do: | ||
+ | * create one or more ChucK programs that generates music "automatically" (i.e., with minimal or no human intervention) or "semi-automatically" (i.e., with limited "high-level" human interaction) | ||
+ | * here are some example ideas (you can use, combine, extend these, or go with something else altogether) | ||
+ | ** modeling playing style of a particular instrument, or a group of instruments ("real" and/or imagined) | ||
+ | ** model a particular compositional style (e.g., "classic" Musique Concrete, a certain approach to minimalism) | ||
+ | ** 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! | ||
+ | * figure out what parameters you want to expose/export from your system, these parameters might serve as "seeds" or starting points, or guidelines/rules for your music generator to follow | ||
+ | * 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 a composition using your system, paying attention to overall form, density, and texture throughout (think "sonic clouds"...) | ||
+ | |||
+ | |||
+ | === Resources === | ||
+ | |||
+ | * Graham Coleman's most excellent [http://www.iua.upf.es/~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/examples/ ChucK examples] | ||
+ | * In particular, look at the examples under "STK". These might serve as ideas or starting points. | ||
+ | ** [http://ccrma.stanford.edu/~ge/stuff/ck/mand-o-matic2.ck mand-o-matic2] : caffeinated virtual mandolin player (note: by itself, this example probably isn't very interesting (for example, it doesn't come from or go anywhere). However, by figuring out the parameters, and varying those over time somehow, and/or by arranging it with other "band members", one can use this as a 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. | ||
+ | ** [http://chuck.cs.princeton.edu/doc/examples/stk/stif-o-karp.ck karp-o-matic] : virtual stif karp player. | ||
+ | ** [http://chuck.cs.princeton.edu/doc/examples/stk/wurley.ck wurley] : virtual wurlitzer player. | ||
+ | |||
+ | |||
=== Deliverables === | === Deliverables === | ||
Line 28: | Line 56: | ||
− | + | Have fun with it! |
Latest revision as of 21:32, 4 January 2008
Contents
Homework #6: "Generative Clouds"
In this assignment, you are to create a generative musical system in ChucK, defining its parameters and creating a piece of music using the system (either automatically, or via real-time high-level input).
Tools at your disposal
- ChucK
- Audacity/Ardour (for intermediate + final recording/assembly)
- optional: keyboard, mouse, joystick, and/or other sensors as input device
Specification
What to do:
- create one or more ChucK programs that generates music "automatically" (i.e., with minimal or no human intervention) or "semi-automatically" (i.e., with limited "high-level" human interaction)
- here are some example ideas (you can use, combine, extend these, or go with something else altogether)
- modeling playing style of a particular instrument, or a group of instruments ("real" and/or imagined)
- model a particular compositional style (e.g., "classic" Musique Concrete, a certain approach to minimalism)
- 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!
- figure out what parameters you want to expose/export from your system, these parameters might serve as "seeds" or starting points, or guidelines/rules for your music generator to follow
- 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 a composition using your system, paying attention to overall form, density, and texture throughout (think "sonic clouds"...)
Resources
- Graham Coleman's most excellent tutorial on ChucK for Music
- ChucK unit generator reference (check out the section on STK instruments, as potential starting points for ready-to-go instruments)
- ChucK examples
- In particular, look at the examples under "STK". These might serve as ideas or starting points.
- mand-o-matic2 : caffeinated virtual mandolin player (note: by itself, this example probably isn't very interesting (for example, it doesn't come from or go anywhere). However, by figuring out the parameters, and varying those over time somehow, and/or by arranging it with other "band members", one can use this as a building block.)
- shake-o-matic : virtual shaker player, again a potential building block.
- karp-o-matic : virtual stif karp player.
- wurley : virtual wurlitzer player.
Deliverables
As usual, turn in all files by putting them in your Library/Web/220a/ directory.
- 1) hw6.wav should go into the 220a directory
- 2) create a hw6/ directory, and put all the stuff below in there:
- 3) all related source/sound files (.wav/.ck)
- 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
Have fun with it!