metricon
========

metricon implements a state-space beat / downbeat / meter decoder. The dynamic
Bayesian network / HMM and its Viterbi inference are derived from the published
equations of the papers cited below.

Algorithm references (CC BY 4.0 — cited with thanks):

  - F. Krebs, S. Böck, G. Widmer. "An Efficient State-Space Model for Joint
    Tempo and Meter Tracking." ISMIR 2015.        (state space + tempo transitions)
  - S. Böck, F. Krebs, G. Widmer. "A Multi-Model Approach to Beat Tracking
    Considering Heterogeneous Music Styles." ISMIR 2014.   (beat observation model)
  - F. Krebs, S. Böck, G. Widmer. "Rhythmic Pattern Modeling for Beat and
    Downbeat Tracking in Musical Audio." ISMIR 2013.       (multi-pattern / meter)

See docs/algorithm.md for the derivation of the implemented equations.

Test fixtures
-------------
Files under tests/fixtures/*.logits.npz are framewise model outputs produced by
the "Beat This!" model (Foscarin, Schlüter, Widmer, ISMIR 2024; MIT-licensed).
They are inputs for regression tests only and are not part of the installed
package.
