MidiClock implements a high precision MIDI Clock and Note events timing tester. It measures event timing accuracy, presenting it as an average BPM, and jitter, which is presented as the relative standard deviation (percentage of standard deviation over the median).
MidiClock measures standard 24 PPQN MIDI Clock events and, optionally, MIDI Notes, expecting them to arrive at 1/4, 1/8, 1/16 or 1/32 measures. The internal timer resolution is 0.05us and the maximum measurable time between input events is 215 seconds. The timing samples buffer size has 96 entries, this holds 4 beats of MIDI Clock events, or a full 4/4 measure.
MidiClock runs on MidiGAL hardware, however you can also run it on MidiBUD and, with some limitations due to the lack of the switch, on any Mutable Instruments MIDIpal compatible hardware.
Firmware (.syx and .hex): MidiClock_101 (use midiclock_pal.syx if your device has MIDIpal bootloader)
MidiClock user interface consists of pages which are selected by encoder rotation. Main page presents clock information while other pages present a single parameter value and allow it to be changed.
Clicking the encoder activates parameter change mode. In this mode parameter value is displayed in square brackets. Rotating the encoder changes the parameter value. Clicking the encoder again accepts the updated parameter value.
Main page is active when the device powers up. The first row displays average BPM while the second row displays relative standard deviation.
Click the encoder to toggle display between current relative standard deviation and maximum relative standard deviation detected since the measurement was started or reset.
Press switch to reset collected event data and clear accumulated maximum relative standard deviation.
Clock source page
Specifies the clock source: MIDI Clock or MIDI Note events and their duration. Click and rotate the encoder to select the clock source. Click the encoder again to accept the selected clock source.
Available MIDI Note event durations are 1/4, 1/8, 1/16 and 1/32.
MIDI channel page
Specifies input MIDI channel. Click and rotate the encoder to select the input channel. Click the encoder again to accept the selected input channel.
Messages received on the selected and other MIDI channels will be passed to MIDI OUT without changes, allowing you to insert MidiClock into your MIDI chain without disrupting it.
Powering the device up with the switch pressed initializes the device erasing all settings in all program slot to default values.
Powering the device up with the encoder knob pressed enters the firmware upgrade mode: device expects firmware sysex file to be sent to MIDI IN.