Surgically precise MIDI clock stabiliser/distributor for
CoreMIDI (iOS and macOS)
MidiPace removes jitter from MIDI clock signals with extremely high
accuracy with zero latency. Feed it a poor clock signal and it will generate a
perfectly stable version using our highly rated clock generation algorithms
for subsequent distribution.
Works with CoreMIDI physical and virtual ports
Distribute the corrected clock signal to any set of ports
The incoming bpm is automatically detected (no need to set in advance)
Variations to the incoming tempo are tracked and smoothly matched
Incredibly simple to operate (just 3 controls)
Expertly coded in native C resulting in a minuscule memory footprint and very high throughput with minimal CPU
Device requirements: iOS Device (iOS 8 or greater) or Mac (macOS 10.10 or
MidiPace - Clock Signal Stabiliser/Distributor
Please note: this application does not make sound and is
designed only to be used standalone with CoreMIDI physical interfaces or
MidiPace is available via Apple's iOS and Mac App Stores.
MidiPace has just 3 controls to get your clock fixed fast:
midi source - select the (single) MIDI input that is carrying a clock
signal that you wish to correct and/or distribute. Only virtual and physical
ports are shown.
midi destinations - use this menu to select as many MIDI
destinations as required. Only virtual and physical ports are shown.
sensitivity - this option determines how sensitive MidiPace is
when correcting the incoming clock. Full details of this option follow.
Also shown on the MidiPace panel are a number of (read-only) indicators:
CLOCK IN - this indicator shows whether MidiPace is currently
tracking an incoming clock signal (or not, in which case the indicator is
marked as 'no signal' or 'stopped').
CLOCK OUT - this indicator shows whether MidiPace is correcting
or distributing any tracked signal to its selected output ports. If no clock
is being sent, this is marked as 'idle'.
bpm (CLOCK IN) - this shows the current bpm of the incoming
signal as well as any standard deviation (also in bpm).
bpm (CLOCK OUT) - this shows the current corrected clock's bpm.
If there is no correction being carried out, this field will be marked with
sensitivity control - the details
The sensitivity control (measured in beats) controls 3 separate factors
when correcting the clock:
The amount of time (in beats) that MidiPace takes to determine the
incoming clock speed and make tempo adjustments. The higher this is set,
the less responsive MidiPace is. The lower this is set, the faster MidiPace
locks on and detects tempo variations. This can also be set to 'no
correction' - in this case, the incoming clock signal is distributed to the
selected destinations without alteration, although the incoming bpm is still
measured and displayed (along with its variance)
The amount of bpm deviation needed to be recognised as valid tempo
change vs clock jitter. See the table below for these values,
The rounding of the outgoing clock signal to a specific bpm resolution.
See the table below for these values.
For slow bpms and/or stable incoming clock signals, a low sensitivity
setting works best. For higher bpms or less stable clock signals, a higher
sensitivity setting should be used.
Note also, that the sensitivity setting has an effect on CPU usage; the
higher the setting, the lower the CPU load (and vice-versa)
The default sensitivity setting is '2' and this works well for the
majority of applications and is the optimal trade-off between CPU,
responsiveness and correction. Try this setting first.
If you are seeing the outgoing bpm fluctuating with a fixed
incoming clock, then you need to increase the sensitivity!
This table shows the bpm deviation and rounding for each of the
+/- 0.01 bpm
nearest 0.01 bpm
+/- 0.025 bpm
nearest 0.05 bpm
+/- 0.05 bpm
nearest 0.1 bpm
+/- 0.25 bpm
nearest 0.5 bpm
+/- 0.5 bpm
nearest 1.0 bpm
+/- 2.5 bpm
nearest 5.0 bpm
+/- 5.0 bpm
nearest 10.0 bpm
Join us over at the Audeonic Soapbox
Forum to post questions (or see if your question has already been
answered?) or take part in the friendly discourse.