Description:
Provide precise MIDI latency compensation for both
incoming
and
outgoing
MIDI with
positive (delay)
and
negative (advance)
offsets. Offer scopes at
Global
,
Device/Port
,
Channel
,
Track/Instrument
, and
Mapping
levels, with units in
ms
and
musical ticks/beats
.
Problem:
External gear, AUv3s, and networks introduce variable MIDI and audio latency/jitter. Without per-path compensation, notes, CCs, and clocks can feel late or early relative to audio, causing flams with drums, sloppy tightness, and misaligned automation. Current workarounds (manual clip nudge, quantize) don’t help
live
output or real-time controller mappings.
Proposed Solution:
  • Scopes & Units:
- Global → Device/Port → Channel → Track/Instrument → individual Mapping.
- Offsets in
milliseconds
or
ticks/beats
(tempo-aware).
  • Directions:
-
Input Offset (record/learn):
Shift captured MIDI timestamps (pre-quantize) to de-jitter playing feel.
-
Output Offset (live send):
Schedule outgoing Note/CC/PC/Clock
earlier (negative)
or
later (positive)
relative to the engine timeline.
  • Message Coverage:
    Notes, CC, Program Change, Aftertouch, Pitch Bend, MIDI Clock/Start/Stop, MPE (per-channel).
  • Scheduling & Safety:
    Sample/buffer-aware timing; guard rails when negative offset exceeds look-ahead (auto-clamp, warn). Works with plugin delay compensation and project quantization.
  • Calibration Wizard:
-
Loopback
mode: send test bursts → measure round-trip → propose offsets per port.
-
Audio probe
mode: send MIDI to a device that emits audio transients; detect via input to estimate device path latency.
- Store
per-rig profiles
(studio/live).
  • Per-Mapping Overrides:
    Action-level “Apply MIDI Offset” toggle/amount for critical macros (e.g., tight mutes, scene calls).
  • Monitoring & UI:
- Inspector shows
resolved offset
per path (ms & beats), recent jitter (ms p95), and active profile.
- Status badges on tracks/ports when non-zero offsets are applied.
  • Automation & API:
    Actions to
    Set/Cycle MIDI Offset
    at any scope; variables
    midiOffsetMs
    ,
    midiOffsetBeats
    ,
    jitterMs
    for labels/logic/OSC. Presets:
    Tight Drums
    ,
    External Synth
    ,
    Wireless Controller
    .
Benefits:
  • Tighter groove with external drum machines and synths.
  • Reliable alignment of MIDI automation with audio events and clip boundaries.
  • Portable, profile-based setups for different rigs/venues.
  • Less manual nudging; better live feel and reduced flams.
Examples:
  • Set
    −7 ms
    output offset on
    Port: TR-8S
    so its kicks land exactly with internal audio.
  • Apply
    +3 ms
    input offset to a Bluetooth controller to stabilize recorded timing before quantize.
  • Give the
    Bass Instrument Track
    a
    −1/64 note
    offset (tempo-scaled) to feel ahead without changing audio latency.
  • For show control, per-mapping offset
    −12 ms
    on a “Mute Bus” CC ensures mutes hit precisely on scene boundaries despite device lag.
This summary was automatically generated by GPT-5 Thinking on 2025-09-07.