Max Drum Beat Generator
This project uses the Axiom 25 keyboards in the music lab to create a live performance that allows you to switch between beats for the 5 drums, adjust the volume of individual drums, and change the overall tempo.
The top box allows the user to start/stop the beat, reset the counters, and adjust the tempo. It also includes a counter reset button if needed.
The bottom box allows the user to configure up to 8 MIDI Encoders. The top 4 and bottom right are used for the volume of each of the individual tracks. The bottom left (E5) adjusts the tempo and the following knob (E6) controls the maximum beats before repetition.
The section on the right turns on and off individual instruments, allows the user to change the pattern that instrument is playing, and see the pattern. The first 5 white keys on the keyboard allow the user to randomize each of the corresponding instruments, and the second set of 5 keys allows the user to toggle those instruments on or off.
This is the unlocked Max patch.
The section on the right of the patch takes MIDI control data in and uses it to control volumes. It has a sub patch that is used to set the MIDI control number for each channel. This lets the user select which encoder they want for each parameter as described above.
This section of the patch gets the input from the 15 white keys on the keyboard. The outputs are routed to other sections of the patch for use in randomizing or enabling/disabling instruments. The last two keys are tied back to others to make them "enable all" and "randomize all" keys.
This is the main controller for the patch, with the enable button, reset button, volume slider, and beat slider.
This section of the patch converts the tempo to BPM for the user to read. It also has the main metronome. On the right is a section that sets the number of beats in the loop.
When initially testing, I found that the base metronome speed could cause phasing between the main beat and the 8th/16th notes added in to it. To fix this I added a faster clock to send more bangs to the math objects.
This section uses if statements and addition blocks to generate a number that corresponds to the beat.
This section contains the generators. It takes the beat, volume info, a toggle for on/off, a bang to randomize, and 3 numbers for MIDI pitch, duration, and channel.
This is the randomC patcher used for the high hat. The randomA and randomB patchers are very similar, but have fewer choices for beats.
[A video will be uploaded shortly]