Sending Raw MIDI Data in Max (and Pure Data)

Sending out raw MIDI data in Max/MSP with [midiout] for system messages and other live control.

Here, I use the [midiout] object in Max to send individual “note on” and “note off” messages, using our knowledge of the MIDI protocol. We can then expand that to algorithmic MIDI control of sequences in the Arturia DrumBrute Impact, including adjusting the clock and the song position pointer for funky, chaotic beats.

0:00 Intro
0:30 [midiout]
0:59 Basic concept – Note On
3:16 Note Off
4:32 Pitch Bend Change
5:32 Exploring Algorithmic Control
6:47 Controling Sequencers (DrumBrute Impact)
7:09 MIDI Clock Message
9:01 Algorithmic Clock Control
10:03 Start, Stop, and Continue MIDI Messages
11:29 Playing with the Song Position Pointer
13:30 Bringing back the Drunk [metro]
15:00 Closing / Next Steps

Click here for more Max/MSP videos:

The MIDI Protocol: System Messages

An overview of MIDI System messages and how they can support MIDI programming and synchronization in your studio.


I ran away from an explanation of system messages in my previous video on MIDI Messages, instead focusing entirely on channel messages. In this video, though, I’m back to talk about System Exclusive Messages, System Common Messages, and System Realtime Messages, and how you can implement them for additional musical control.

0:00 Introduction
0:22 Quick Review of bits and bytes
0:57 Channel vs. System Messages
1:59 Categories of System Messages
2:36 System Exclusive (SysEx) Messages
4:50 System Common Messages
5:08 Song Select, Song Position Pointer
6:38 MIDI Time Code
7:31 Time Code Quarter Frame Message
9:10 Tune Request Message
9:58 System Real Time Messages
10:41 Active Sensing
11:25 Reset Message
11:56 MIDI Clock, Start, Continue, & Stop
12:39 MIDI Sync Demo in Max
13:06 MIDI Sync Demo in Logic Pro X
13:26 Wrap-up

MIDI Protocol 1: Bits, Bytes, and Binary


MIDI Protocol 2: MIDI Messages