TR-1000 on firmware 1.22: Layered Gens mode vs All Tracks mode, at 100 BPM on its own internal clock.
In Layered Gens mode, the Rim Shot trigger output kept a steadier interval between hits than in All Tracks mode. The largest interval error between any two hits fell from 2.7 ms to 2.0 ms. The share of intervals that came out exactly right rose from 16.7 % to 39.2 %.
The MIDI clock generation went the other way. Its largest clock interval error grew from 0.6 ms to 1.0 ms.
The offset between the Rim Shot trigger output and the MIDI clock it sends out also grew, from up to 4.9 ms to up to 6.7 ms. Slaves would be further out of step with the TR-1000’s own trigger output.
In both modes, every timing error on the trigger output comes in whole multiples of about 0.67 ms. In All Tracks mode about 5 in 6 intervals were off by 0.67 ms or more; in Layered Gens mode about 3 in 5.
The details:-
Roland TR-1000 — FW 1.22 — MIDI Clock Out
Layered Gens Mode, Internal Sync, 100 BPM, 24 PPQ
2 x 5-pin MIDI Out, 318.9 s continuous capture, 12,710 clock intervals per port
Jitter Max: 1001 µs
Push-Pull Max: 1999 µs
Tempo Dev Max: 4.1555 BPM
Port Skew Max: 449 µs (Out 1 vs Out 2)
A perfect 24 PPQ clock at 100 BPM sends one pulse every 25,000 µs. The TR-1000 ranged from 24,001 to 26,001 µs.
1 in 8 clock intervals was off by 250 µs or more. 18 intervals were off by a full 1 ms.
The two MIDI Outs normally sit 8 µs apart. 29 times in the capture they split by about 450 µs.
Not all good - yet.
People hit a problem, search online and find a YouTube clip reporting a fix. The clip spreads and adds to the confusion, even though it’s one person’s workaround, checked on one output, on one firmware.
If Roland published timing data specs for each output, mode and firmware, this would all go away.