Appearance
MIDI Nodes
Nodes for receiving, generating, transforming, and routing MIDI data.
I/O
MIDI In
Receives MIDI from the DAW host (plugin mode) or from your connected MIDI controller (standalone mode). All MIDI messages on the track are passed through: notes, CC, pitch bend, clock, and more.

Output: MIDI stream
MIDI Out
Sends MIDI from your MNodes patch back to the DAW host. Use this to drive other instruments or send MIDI data to other tracks.

Input: MIDI stream
Keyboard & Monitor
MIDI Keyboard
An on-screen piano keyboard. Click the keys with your mouse or use your computer keyboard to play notes. Outputs standard MIDI messages.

Output: MIDI notes
MIDI Monitor
Displays all incoming MIDI messages in real-time. Shows note on/off, CC, pitch bend, and other messages. Essential for debugging when MIDI isn't behaving as expected.

Input: MIDI stream
Note Processing
MIDI Transpose
Shifts all incoming notes up or down by a number of semitones.

Input/Output: MIDI stream
MIDI Octave
Shifts all incoming notes up or down by whole octaves (12 semitones at a time).

MIDI Scale
Forces incoming notes to fit a musical scale. If a note is outside the scale, it gets moved to the nearest scale degree. Useful for making sure everything stays "in key" even when using random generators or quantized inputs.

| Parameter | Options | Default | Description |
|---|---|---|---|
| Root | C, C#, D, D#, E, F, F#, G, G#, A, A#, B | C | The root note of the scale |
| Scale | 58 scales | Major | The musical scale to quantize to |
Available scales include: Chromatic, Major, Minor, Blues, Dorian, Mixolydian, Phrygian, Lydian, Locrian, Harmonic Minor, Melodic Minor, Pentatonic Major, Pentatonic Minor, Diminished, Augmented, Wholetone, Hungarian Gypsy, Spanish-Gypsy, Arabian, Japanese, Chinese, Egyptian, Persian, and many more (58 total). Also supports a Custom scale that you can edit interactively.
MIDI Chord
Generates full chords from single notes. Each incoming note becomes the root of the selected chord type. For example, if you select "Major" and play C, you hear C-E-G.

| Parameter | Description |
|---|---|
| Chord | The chord type to generate (53 types available) |
Chord types include: Major, Minor, Major7, Minor7, Dominant7, Major9, Minor9, Augmented, Diminished, Sus2, Sus4, add9, add11, 6add9, and many more (53 total).
MIDI Note Trigger
Generates a MIDI note on demand. Each time it receives a trigger event (or when the value reaches 0.5 or higher), it sends a MIDI note with the configured pitch, velocity, and duration.

| Parameter | Range | Default | Description |
|---|---|---|---|
| Note | 0 - 127 | 60 (C4) | Which MIDI note to send |
| Velocity | 1 - 127 | 100 | How hard the note is played |
| Length | 1 - 10,000 ms | 250 ms | How long the note lasts before note-off is sent |
| Channel | 1 - 16 | 1 | MIDI channel |
Input: Trigger (Data or CV) Output: MIDI note
MIDI Split
Splits a MIDI stream into separate outputs by message type. Useful for routing different types of MIDI data to different parts of your patch.

Input: MIDI stream
Outputs:
| Output | Description |
|---|---|
| Note On | Only note-on messages |
| Note Off | Only note-off messages |
| CC | Control Change messages |
| Pitch Bend | Pitch bend messages |
| Aftertouch | Aftertouch (pressure) messages |
| Program | Program Change messages |
| Clock | MIDI clock, start, stop, continue, and song position |
Generators
MIDI Arpeggiator
Takes held notes and plays them one at a time in a repeating pattern. Hold a chord and the arpeggiator will cycle through the individual notes at the speed you set.

| Parameter | Range | Default | Description |
|---|---|---|---|
| Transport Source | Internal / Transport (DAW) | Internal | Where the arpeggiator gets its timing |
| BPM | 20 - 300 | 120 bpm | Tempo (when using Internal) |
| Cycle | Choice | — | Speed of the arpeggiation (1/4, 1/8, 1/16, etc.) |
| Swing | 50 - 99% | 50% | Swing feel. 50% = straight |
| Gate | 1 - 100% | 75% | How long each arpeggiated note lasts as a percentage of the step |
| Direction | Choice | Up | The pattern of the arpeggio |
| Octaves | -4 - +4 | 0 | Extends the arpeggio across additional octaves |
| Latch | On/Off | Off | When on, notes stay active even after you release the keys |
| Out Channel | Input / 1-16 | Input | Which MIDI channel to output on |
Direction modes: Up, Down, UpDown, DownUp, Played (order you pressed), Reverse Played, Random, Chord (all notes at once)
Outputs: MIDI Out, Current Step (which step is currently playing)
MIDI Riff Generator
A step-based MIDI pattern generator with up to 128 steps. Create melodic sequences by setting the note, velocity, and duration of each step. Includes a Generate button for instant random pattern creation.

| Parameter | Range | Default | Description |
|---|---|---|---|
| Transport Source | Internal / Host / External Position / External Phase | Internal | Timing source |
| BPM | 20 - 300 | 120 bpm | Tempo (Internal mode only) |
| Cycle | Choice | — | Step rate (1/4, 1/8, 1/16, etc.) with dotted and triplet variants |
| Steps | 1 - 128 | — | Number of steps in the pattern |
| Swing | % | — | Swing amount |
| Channel | 1 - 16 | — | MIDI output channel |
| Loop Start | — | — | First step of the loop |
| Loop Length | — | — | How many steps to loop |
| Generate | Event | — | Create a random pattern |
| Complexity | 0 - 100% | — | Controls density and variation of generated patterns |
| Clear | Event | — | Reset all steps |
| Shift Left/Right | Event | — | Shift the pattern by one step |
| Transpose Up/Down | Event | — | Transpose all notes by one semitone |
| Play / Stop | Event | — | Transport controls (Internal mode) |
The Riff Generator has three pages that you can switch between:
- Notes: Set the pitch of each step
- Velocity: Set the velocity (how hard) of each step
- Duration: Set how long each step's note lasts
Outputs: MIDI Out, Current Step (CV), Pattern Out (for connecting to Pattern To MIDI File)
Pattern To MIDI File
Exports a pattern from the MIDI Riff Generator as a standard MIDI file (.mid) that you can drag into your DAW.

How to use it
- Add a MIDI Riff Generator and create your pattern
- Add a Pattern To MIDI File node
- Connect the Riff Generator's Pattern Out to the Pattern To MIDI File's Pattern In
- Click Emit MIDI File (or send a trigger to it)
- Add a MIDI Drag Exporter widget
- Connect the Pattern To MIDI File's MIDI File Out to the MIDI Drag Exporter
- Drag the MIDI Drag Exporter widget into your DAW to drop the MIDI clip
Inputs: Pattern In (from Riff Generator), Emit MIDI File (trigger) Output: MIDI File Out (connect to MIDI Drag Exporter)
Voice Management
MIDI Voice Allocator
Distributes polyphonic MIDI voices across multiple CV outputs. Essential for building polyphonic synthesizers that play more than one note at a time.

Input: MIDI stream
