FA-81757 / MIDI event timing / Member archive
Time Signature meta event decoding: denominator byte used as the denominator · case 02
4/4 decodes as 4/2 and 6/8 as 6/3, because the stored power of two is not expanded.
Case contract
Input [bytes, ppq]. bytes must be FF 58 04 nn dd cc bb with nn > 0, dd <= 6 and bb > 0. The denominator is 2**dd; the metronome click is cc MIDI clocks (24 per quarter) converted to ticks as ppq*cc//24; the bar length in ticks is ppq*4*nn//denominator. Return [nn, denominator, click_ticks, bar_ticks] or None.
Why this case matters
MIDI sequencers, file readers and synth drivers depend on exact event ordering and tick/time arithmetic.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| oracle 0 | [4, 2, 480, 3840] | [4, 4, 480, 1920] | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗