moser-booth.com

MS-341 MIDI, Audio, and Video Programming in Max/MSP
Polyrhythmic Beat Machine with Arpeggiator
This patch uses [itable] objects to generate four MIDI sequences: two drum beats, a bassline, and chord clusters. The MIDI is meant to be sent to Reason, though this can easily be adjusted via a drop-down menu. They can each have a different number of beats and durations, allowing for some fairly complex rhythms. The tables can be read straight through in sequence or by various random algorithms. Along with the global preset, each track also has an individual preset, and the bassline can, in addition, quickly call up scales. For the chord clusters I designed an arpeggiator. Finally, the patch has its own MIDI monitor, complete with MIDI learn functionality.
BeatSlicer~ bpatcher
This is a Beat Slicer I designed that takes advantage of the [waveform~] interface and the [bonk~] external. The user can load in a soundfile and press the "Analyze" button, and BeatSlicer~ will use [bonk~] to detect transients and automatically make slices. These slices can then be edited and saved to a file. The user can click on the waveform display to make selections, scroll, and zoom in and out. In addition, the scrollbars resize themselves as you zoom in to be proportional to the display and overall waveform length for increased usability. Lastly, note messages sent to BeatSlicer~ can trigger the individual slices.
Collage-o-tron
The Collage-o-tron was the name given to the final project, as it is meant to be an all encompassing patch derived from variations of previous assignments. All of the sounds are contained within this patch (i.e. no softsynths or VST effects) with the exception of a sort of Fender Rhodes FM patch written in Csound; however, it is run via the [csound~] external and modulated by Max/MSP. The pitches from the Rhodes patch come from generated chords, and each note is given its own duration to create polyrhythms. The aformentioned BeatSlicer~ is utilized here, and is driven by a [pictslider] object, representing the trackpad. By moving the knob horizontally the user can select slices, while vertical movements adjust beat durations. These can also be randomized. There are also two drum loops on one track running in a SamplePlayer~ bpatcher that are synced to the tempo and can be crossfaded. Both drum tracks are sent through effects that can be triggered on and off from the QWERTY keyboard. The FM bass runs sequences that are algorithmically modified based on beat count, and the pad uses an arpeggiator to play the chords. The chords themselves are generated by a simple Markov chain. The drone is a subtractive synth with evolving parameters running through a series of comb filters. The effects, including delay, reverb, and comb filters, are themselves contained in bpatchers with custom GUIs. All of this is routed through a MIDI controlled mixer, complete with presets that are quantized to downbeats when triggered.