MUC4401: Composition of Electroacoustic Music MAX Assignment No. 3
The purpose of this assignment is to build two patchers.
(1) Create an algorithmic patcher. This patcher will utilize a mathmatic expression or set of expressions to generate a musical phrase from a dynamic input (could be different each time). Research the literature for expression to use in the generation of your material (fractal, geometric, and genetic areas are packed with usable equations). This patcher should include the following:
- include a method of storing MIDI data (sequence, buffer, table, etc.)
- allow the user to initiate the algorithmic process
- utilize a user scalable time element if appropriate
- allow the user to select with a menu the MIDI controller (keyboard, wind controller, dance controller, et al) via "midiinfo"
- allow the user to select with a menu the target MIDI module via "midiinfo"
Utilize the following MAX objects to accomplish this assignment (not all are necessary).
A paper on the use of fractals in real-time performance, by Dr. Gary Lee Nelson, can be downloaded from the following site.
(2) Create a "hyper-keyboard" MAX controller. This patcher allow the performer to select the functions of a sequencer from the MIDI controller (keyboard). This patcher will have the following functions:
- allow a user to send "record," "start," "stop," "read," and "write" sequencer functions from the MIDI controller (keyboard)
- let the performer control the playback tempo of a sequence from the modulation wheel of the MIDI controller (keyboard).
- trigger an algorithmic "sub-patcher" (see part one of this assignment)
- allow the user to select with a menu the MIDI controller (keyboard, wind controller, dance controller, et al) via "midiinfo"
- allow the user to select with a menu the target MIDI module via "midiinfo"
Utilize the following MAX objects to accomplish this assignment (not all are necessary).
Utilize the Clue Menu (found under the WINDOW menu) to identify the objects available in the palette. Remember that you can use print statements, number boxes, buttons, etc. to debug your patcher. These items will help you track the program flow though the patcher.
BONUS: Included "panic" button (all notes off) on the hyper-keyboard assignment above. See Borax, flush, and midiflush objects as keys to possible solutions.
|
EXAMPLE: Smale's Horse Shoe
click above to enlarge
- last update 3 September 2010 -