Program Description

  • This program generates random drums using the default General MIDI Drum Kit. In General MIDI, channel 10 is reserved for drum kits. This is why the attribute of noteout object is set to 10. The number messages (36, 38, 40, 37, 39, 49, 51, and 55) refer to pitch numbers in the GM Drum Kit (see GM Percussion Key Map below). The select (sel) object implements the random instrument selection. The sel object has possible 12 outlets: 8 are currently assigned to drum sounds, and 4 are to rests. Which sel outlet is chosen is determined by the output of the random object (0-11). The creative challenge is to choose a drum sounds, rests, and tempo selections that make the beat “congeal” into a unified groove.

New Object

  • patcher (p) – Create a subpatcher within a patcher

Subprogram Description

  • A human performance on a MIDI controller will produce subtle variations in key velocities. We can simulate this type of variation by creating a subpatcher that “humanizes” the incoming static key velocity (by selecting a random number and offset) to vary the key above and below the static value.

Object Reference

Further Reading

  • The MIDI Association, General MIDI (GM) Specification {}
  • The GM 1 Sound Set 

Updated: 9/17/22