TempoTapDegara¶
standard mode | Rhythm category
Inputs¶
onsetDetections
(vector_real) - the input frame-wise vector of onset detection values
Outputs¶
ticks
(vector_real) - the list of resulting ticks [s]
Parameters¶
maxTempo
(integer ∈ [60, 250], default = 208) :fastest tempo allowed to be detected [bpm]
minTempo
(integer ∈ [40, 180], default = 40) :slowest tempo allowed to be detected [bpm]
resample
(string ∈ {none, x2, x3, x4}, default = none) :use upsampling of the onset detection function (may increase accuracy)
sampleRateODF
(real ∈ (0, ∞), default = 86.1328) :the sampling rate of the onset detection function [Hz]
Description¶
This algorithm estimates beat positions given an onset detection function. The detection function is partitioned into 6-second frames with a 1.5-second increment, and the autocorrelation is computed for each frame, and is weighted by a tempo preference curve [2]. Periodicity estimations are done frame-wisely, searching for the best match with the Viterbi algorith [3]. The estimated periods are then passed to the probabilistic beat tracking algorithm [1], which computes beat positions.
Note that the input values of the onset detection functions must be non-negative otherwise an exception is thrown. Parameter “maxTempo” should be 20bpm larger than “minTempo”, otherwise an exception is thrown.
- References:
[1] Degara, N., Rua, E. A., Pena, A., Torres-Guijarro, S., Davies, M. E., & Plumbley, M. D. (2012). Reliability-informed beat tracking of musical signals. Audio, Speech, and Language Processing, IEEE Transactions on, 20(1), 290-301. [2] Davies, M. E., & Plumbley, M. D. (2007). Context-dependent beat tracking of musical audio. Audio, Speech, and Language Processing, IEEE Transactions on, 15(3), 1009-1020. [3] Stark, A. M., Davies, M. E., & Plumbley, M. D. (2009, September). Real-time beatsynchronous analysis of musical audio. In 12th International Conference on Digital Audio Effects (DAFx-09), Como, Italy.
Source code¶
See also¶
TempoTapDegara (streaming) Viterbi (standard) Viterbi (streaming)