Skip to content

Align Hardware with the Mix

Resonon sends MIDI early by exactly the time its audio takes to reach your speakers, plugin latency included, so hardware lands with the mix without any setup. What is left is each device’s own response time, which you trim per port. Clock & Alignment explains the model.

midi_latency_report();
MIDI output alignment auto
audio buffer 512 fr 10.67 ms
device + safety 2.10 ms
plugin compensation 1536 fr 32.00 ms <- PDC
------------------------------------------
auto offset 44.77 ms
port "cv" trim 0.00 clock -2.50 -> 44.77 / 42.27 ms [clock]

The last lines show what each port ends up with, for notes and for clock.

Add trim_ms to the port’s entry in ~/.resonon/preferences.toml and run reload_preferences(). Negative sends earlier, positive later:

[[midi.outputs]]
alias = "cv"
port = "Eowave Portail"
trim_ms = -2.5 # this synth speaks late; send to it earlier

A trim moves the port’s notes and its clock. It can be up to ±500 ms; a value further out is reported and ignored.

Some gear settles on clock differently than on notes. clock_trim_ms is added to clock and transport messages only, on top of trim_ms:

[[midi.outputs]]
alias = "cv"
port = "Eowave Portail"
trim_ms = 0
clock_trim_ms = -2.5

midi_port_trim("cv") and midi_port_clock_trim("cv") read back what is in force.

To turn the automatic offset off and keep only the trims:

set_midi_latency("manual");
set_midi_latency("auto"); // back to the default