MIDI Reference

OOOO Digital Tape Loops accepts MIDI note input and plays each matching loop polyphonically, like a tape-based keyboard. MIDI notes change loop playback speed and pitch together. Fixed MIDI CC assignments control useful performance, filter, send, note-start, and envelope parameters; the plugin does not produce MIDI output.

Supported messages

Note-on, note-off, sustain pedal, all-notes-off, and the mapped control-change messages are handled. Events are applied at their exact sample position inside the audio block.

Message Type Function Description
NOTE ON Start or retrigger a note head Every loop whose MIDI CH setting matches the message channel receives the note. Velocity values 1–127 all use the loop's note envelope; velocity does not currently change gain.
NOTE OFF Release a note head Starts the matching note head's Note Release stage on every matching loop, or defers it while the channel's sustain pedal is down.
NOTE ON, VELOCITY 0 Release a note head Treated as note-off, including sustain-pedal behavior.
CONTROL CHANGE Adjust loop performance controls Mapped CC messages update every loop whose MIDI CH setting matches the message channel.
OTHER MIDI Ignored Unmapped CC, pitch bend, aftertouch, program change, MIDI clock, and other messages are not handled.

Per-loop channel routing

Selection does not decide which loop receives MIDI. Each loop independently filters incoming notes with MIDI CH, so one note can play several loops at once.

MIDI CH Behavior New-loop default
NONEIgnore note input on every channel.Second and later loops
ANYAccept note input from channels 1–16.First loop
CH 1–CH 16Accept notes only from the selected channel.

Pitch and polyphony

Middle C (MIDI note 60) plays at the loop's current rate. Each semitone changes that rate by the usual equal-tempered pitch ratio.

MIDI note Rate multiplier Result
48 (C3)0.5×One octave below the loop's current speed and pitch.
60 (C4)The loop's current speed and pitch.
72 (C5)One octave above the loop's current speed and pitch.

Performance controls

These conventional controller assignments affect every channel-matched loop. Volume and pan use short existing loop slews to avoid abrupt changes. Playback Volume has no MIDI CC assignment.

Loop control MIDI CC Value mapping Behavior
VolumeCC 70 = mute, 100 = 0dB, 127 = +12dBSets the loop's final master level for both transport playback and MIDI note heads. Values 1–100 follow a linear gain curve; values above 100 add gain up to +12dB.
PanCC 100 = left, 64 = center, 127 = rightSets the loop's stereo position.
Post LPF QCC 710–100%Sets post-low-pass-filter resonance.
Post LPFCC 7420Hz–18kHzSets post-low-pass-filter cutoff on a logarithmic frequency curve.
ReverbCC 910–100%Sets the loop's reverb send.
Sustain pedalCC 640–63 up, 64–127 downDefers note-off messages while held. Releasing the pedal starts the configured release stage for deferred notes.
All notes offCC 123Any valueClears held and sustained MIDI-note state and starts release for every note tracked on that channel by the channel-matched loops.

Note behavior

Each loop has one note-head slot for every MIDI note from 0–127. Different notes are polyphonic; repeated note-ons for the same pitch reuse that pitch's existing head.

Loop parameter MIDI CC Default Behavior
Note Mode: MellotronEnabledA newly activated pitch starts at the most recently tracked note-head position. Before any note head has played, it starts at the transport position.
Note Mode: One-shotA newly activated pitch starts at the active loop's start boundary, then follows the current forward or reverse rate. Despite the name, the head wraps and continues until note-off and release.
Note Start %CC 160%Adds a random offset between 0% and the selected percentage of the active loop length when a new note head starts.
Note AttackCC 732.0sTime to rise from the current envelope level to full level.
Note DecayCC 750.05sTime to move from full level to sustain.
Note SustainCC 70100%Level held while the note remains on.
Note ReleaseCC 722.0sTime to fade from the current level after note-off.

Implementation notes

Effective note rate = loop rate × 2(note − 60) / 12, clamped to −4×…+4×. Reverse loop rates remain reverse.

Note heads are independent of the loop's transport head. They can sound while transport playback is stopped, and they are mixed with the transport when it is running.

Note heads bypass Playback Volume, so setting it to -inf dB mutes only the transport. Notes remain subject to their envelopes and the shared tape, filters, master Volume/CC 7, pan, effects, and sends; muting master Volume silences both paths.

Note-envelope CC values scale linearly from 0–127. Note Start % and Note Sustain map to 0–100%; attack, decay, and release map to 0–20 seconds. Filter cutoff uses a logarithmic frequency curve.

DAW host automation remains separate from MIDI input. Fixed CC assignments update the matching loops directly; other exposed plugin parameters remain available to host automation.

More from oooo