Due Monday, 2/1/2010
As a warm-up exercise for your first project (an interactive MIDI performance patcher), program patchers based on the following directions:
1) An arpeggiator that
- starts with the playing of a key on a MIDI keyboard,
- uses the MIDI key pressed as the bass note of the arpeggiator,
- plays the MIDI key pressed
- and stops the arpeggiator when the MIDI key is released (and stops playing the note associated with the MIDI key).
2) A gesture generator that
- is triggered by a note on from a MIDI keyboard and uses that note number as the starting note of the gesture,
- uses a single durational value specified in musical time (musical note value)
- and includes the following three variations (either as separate patchers, or as selectable options in a single patcher):
- gesture generator shuts off at end (a finite gesture)
- repeats the last note until the original MIDI key is released
- repeats the last note with variable durations, chosen from a limited set (2 to 4) of values, related by multiples of the durational value used for the gesture.
3) Randomly plays notes that have been stored from MIDI keyboard input, with durations chosen from a limited (3 to 5) set of values.
You should be able to make liberal use of the class demo patchers in iLocker. None of them will do exactly what I have asked for, but some of them do a lot of what is needed.
Nothing specific has been asked for in terms of key velocity. Once your patchers work as required, consider adding components to provide musicality through changing key velocity.
Guard against over complication in your patchers, and consider saving versions of your work with incremental naming (arp1, arp2, etc.). This protects you from overwriting a version that works in a limited way with a version that not only doesn’t work at all, but is too complicated for you to debug your mistakes.