MIDI Latency Offset (Positive & Negative)
under review
virus 1980
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 toSet/Cycle MIDI Offsetat any scope; variablesmidiOffsetMs,midiOffsetBeats,jitterMsfor 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 msoutput offset onPort: TR-8Sso its kicks land exactly with internal audio.
- Apply +3 msinput offset to a Bluetooth controller to stabilize recorded timing before quantize.
- Give the Bass Instrument Tracka−1/64 noteoffset (tempo-scaled) to feel ahead without changing audio latency.
- For show control, per-mapping offset −12 mson 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.
virus 1980
In the examples section, sending program changes earlier should be a top priority, since it is one of the most common issues on this subject.
ultracello
under review