Minotor wiki · restored page
Rhythm theory
Minotor is designed to produce synchronised animations. To do this we use MIDI clock information, which can be sent by a sequencer or by mixing software.
If you need more information about the MIDI protocol, have a look at midi.org.
MIDI clock contains only tempo information (BPM). This means we don't really know when the kicks and snares are played, but in most cases we can deduce them. MIDI clock sends 24 ticks per quarter note.
Most music styles have one beat per quarter note. This means that, on a basic rhythm, we can consider that the kick takes place at tick 0; we then receive 23 more ticks before the next kick.
Minotor uses that logic. For example, to produce a flash on each kick of the song, we generate the flash every 24 ticks. We can then adjust the frequency to fit our needs — double it, for example.
To know where tick 0 is, Minotor uses the MIDI Start message: we consider that Start corresponds to the first beat. You can also use the “beat reset” button to adjust manually where the kick is, without stopping and restarting the sequencer.
0xF8, sent 24 times per quarter note; Start 0xFA; Continue 0xFB; Stop 0xFC. None of them carries a position, which is why the beat-reset button exists: if Minotor joins after the sequencer has started, or misses the Start byte, it has no way to know which tick is the downbeat.
The numbers are tighter than they look. At 120 BPM a quarter note lasts 500 ms, so a tick arrives every 20.8 ms; at 174 BPM (drum and bass) every 14.4 ms. Any rendering or USB latency longer than a tick puts the picture visibly behind the kick, which is one reason Minotor stayed at low resolutions.
| Tempo | One beat | One tick (1/24 beat) |
|---|---|---|
| 90 BPM | 666.7 ms | 27.8 ms |
| 120 BPM | 500.0 ms | 20.8 ms |
| 128 BPM | 468.8 ms | 19.5 ms |
| 140 BPM | 428.6 ms | 17.9 ms |
| 174 BPM | 344.8 ms | 14.4 ms |
Original page: wiki.minotor.org/doku.php/rythm_theory. Written by the Minotor team and licensed CC BY-SA 3.0. Changes: spelling corrected (including the page title), one “FIXME: video example” placeholder removed, editor's note and table added. This page is available under the same licence. Updated 2026-09.
