Max
Saving and recalling presets in pattrstorage
This patch demonstrates the use of pattr objects to store several attributes of a note-generating algorithm, and pattrstorage to store and recall preset values for all of those pattrs. In order to use the presets already designed for this patch, you will first need to download the file called notestreams.json and place it somewhere in the Max file search path.
Repeated notes at 6 related tempi, with different probabilities
This example (taken from Tutorial 37 in the original Max tutorials) demonstrates one way the passpct program, from the example "Pass a certain percentage of bangs", could be used. In order for this patch to work properly, you'll need to download that patch, passpct.maxpat, and store it in the Max file search path.
Behringer BCF2000 router
To work properly, this patch requires the abstraction BCF2000.maxpat and the related graphic file "BCF2000.jpg".
Behringer BCF2000 emulator
This patch provides a virtual emulator of the popular Behringer BCF2000 hardware MIDI controller.
Even if you don't have a BCF2000, this patch allows you to replicate it onscreen. The patch allows you to control other MIDI devices just as if you did have the hardware controller. Use the umenu to select the port to which you want to transmit, then use the emulator patch to send MIDI control messages.
Sinusoidal events
To generate a series of numbers in Max that outline a sinusoidal shape, you can use the sin() function in the expr object. As the argument in the sin() function goes from 0 to 2π (6.283185), the output will be the sine of that value, going from 0 up to 1, down to -1, and back up to 0. So, by feeding a series of numbers into expr, you can generate numbers that follow that sinusoidal pattern.
Creating a MIDI trill effect
This example shows how to create a MIDI “trill” effect, with a randomized rhythm, triggered when a particular incoming MIDI value is detected or when a specified audio amplitude threshold has been reached.
Using table to transpose a MIDI note
Pitch transposition of MIDI notes is easy; you simply add (or subtract) some number of semitones to the pitch value. However, whenever you transpose a MIDI note-on message you have to make sure to transpose the corresponding note-off message by the same amount. Otherwise, the note will not get turned off and you'll get a "stuck" note that never ends.
Lookup table demo using table
This example shows a way to use the table object as a “lookup table” to play either a major or minor scale via the noteout object.
Manage MIDI processing using Gate
This example shows how to use the gate object to route midi note data to different patcher objects that could be used for a variety of processing options.