v0.1Latest

MIDI Delay

MIDI Delay

Delays and repeats incoming MIDI notes, echoing them in the MIDI domain rather than the audio domain. Timing can be set in milliseconds or synced to tempo, and repeats let a single note spawn a decaying series of retriggers. Use it for rhythmic MIDI echoes that downstream instruments render with their own sound.

MIDI Delay node screenshot

Inputs

MIDI In

  • ID: midi
  • Kind: midi
  • Rate: event
  • Coercion: Forbidden
  • Description: MIDI message input

Clock

  • ID: clock
  • Kind: clock
  • Rate: control
  • Coercion: Implicit
  • Description: Musical phase clock for tempo-synced MIDI delay time.

Outputs

MIDI Out

  • ID: midi
  • Kind: midi
  • Rate: event
  • Coercion: Forbidden
  • Description: MIDI message output

Parameters

Time Mode

  • ID: timeMode
  • Type: enum
  • Control: buttons
  • Range or Options: Milliseconds (ms), Sync (tempoSync)
  • Default: Milliseconds (ms)

Delay

  • ID: delayMs
  • Type: float
  • Control: slider
  • Range or Options: 0 to 2000 ms, step 1
  • Default: 250

Division

  • ID: division
  • Type: enum
  • Control: select
  • Range or Options: 1/64 (1/64), 1/32 (1/32), 1/16 (1/16), 1/8 (1/8), 1/4 (1/4), 1/2 (1/2), 1/1 (1/1)
  • Default: 1/8 (1/8)

Dotted

  • ID: dotted
  • Type: bool
  • Control: toggle
  • Default: false

Swing

  • ID: swing
  • Type: float
  • Control: slider
  • Range or Options: 0 to 1 phase01, step 0.01
  • Default: 0

Repeats

  • ID: repeatCount
  • Type: int
  • Control: slider
  • Range or Options: 1 to 16 count, step 1
  • Default: 2

Feedback

  • ID: feedback01
  • Type: float
  • Control: slider
  • Range or Options: 0 to 0.95 gain01, step 0.01
  • Default: 0.35

Notes

  • Canonical ID: midi.delay
  • Category: midi
  • Runtime Surface: midi
  • Runtime Targets: control-main-thread
  • JUCE Early Access: Supported
  • Early Access Note: Native-supported in the plugin for the current catalog/runtime support contract.