MidiPace

by Audeonic

  Surgically precise MIDI clock stabiliser/distributor for CoreMIDI
(iOS and macOS)
 

Overview

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 load.



Device requirements: iOS Device (iOS 8 or greater) or Mac (macOS 10.10 or greater)


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 supporting apps.

Download

MidiPace is available via Apple's iOS and Mac App Stores.



Instructions

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:

  1. 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)
  2. The amount of bpm deviation needed to be recognised as valid tempo change vs clock jitter. See the table below for these values,
  3. 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 sensitivity settings:

SensitivityDeviationBPM Rounding
0.25+/- 0.01 bpmnearest 0.01 bpm
0.5+/- 0.025 bpmnearest 0.05 bpm
1+/- 0.05 bpmnearest 0.1 bpm
2+/- 0.25 bpmnearest 0.5 bpm
4+/- 0.5 bpmnearest 1.0 bpm
8+/- 2.5 bpmnearest 5.0 bpm
16+/- 5.0 bpmnearest 10.0 bpm

Support Resources

  • 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.
  • On twitter -
  • Or you can use good old fashioned email to contact the development team at apps@audeonic.com directly.


    © 1999-2022 Audeonic