Homework #2: Generative Drum Machine + Soundscape
- Milestone 2020.2.12 in class, Monday.
- Due date: 2020.2.18 11:59:59pm, Tuesday.
- Presentation: 2020.2.19 in-class Monday.
Create an interactive software system, and compose a short piece by incorporating the following two elements:
- a generative drum machine (think about input parameters to control/influence the drum machine; as well as ways to control these parameters)
- interactive control (integrating devices such as game controller, wii remote, microphone, keyboard, mouse, etc.)
- generative soundscape (integrating algorithms to generate/modify the structures of sounds)
- note: interaction should be used to control patterns and structures of music, not pitch or timbre directly.
- create a software system in ChucK that generates music "automatically" or "semi-automatically" (i.e., with limited "high-level" human interaction)
- consider using 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, SndBuf etc.)
- consider using some of the technique we talked about (e.g., shreds, events, chance, lookup tables etc.)
- potentially 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
- incorporate an auditory illusion, or perhaps the saliency of the voice
- 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"...)
Not all of these are directly relevant, but may serve as basic building blocks...
- for mapping your keyboard/mouse to your sound S.M.E.L.T.
- 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
- shake-o-matic : virtual shaker player, again a simple potential building block.
As usual, turn in all files by putting them in your Library/Web/220b/hw2/ directory, upload to Canvas, and email the link to Ge and Vidya
- 1) all related source/sound files (.wav/.ck) NOTE: You must turn in a composite audio file (WAV or AIFF) of the final musical statement.
- 2) 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
- 3) upload files to Canvas
Have fun with it!