streaming mode | Rhythm category
- oss (vector_real) - onset strength signal (or other novelty curve)
- positions (vector_real) - peak positions of BPM candidates
- lag (real) - best tempo lag estimate
This algorithm implements the 'Evaluate Pulse Trains' step as described in .Given an input onset strength signal (OSS) and a number of candidate tempo lag positions, the OSS is correlated with ideal expected pulse trains (for each candidate tempo lag) shifted in time by different amounts. The candidate tempo lag which generates the pulse train that better correlates with the OSS is returned as the preferred tempo candidate. For more details check the referenced paper.
-  Percival, G., & Tzanetakis, G. (2014). Streamlined tempo estimation based on autocorrelation and cross-correlation with pulses. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 22(12), 1765–1776.