An ensemble framework for real-time audio beat tracking
- Author(s): Daniels, Michelle L.
- et al.
Beat tracking is a machine listening task which involves identifying both the time-varying tempo of an acoustic music signal and the location of beats. Ensemble learning methods, where the outputs of multiple classifiers or other models are combined to produce a single more robust output, have become increasingly popular in many machine learning problems but have not been extensively explored for beat tracking applications. Existing ensemble approaches for beat tracking have focused on non-real-time and non-causal beat tracking systems or have been agent- based approaches where agents must interact with the ensemble. However, real-time causal beat tracking is desirable for a number of interesting applications including foot-tapping robots and live musical machine improvisation or accompaniment. This dissertation introduces Beaker, a flexible framework for creating ensembles of arbitrary real-time causal beat trackers which do not require any knowledge of each other or of the ensemble. The Beaker framework uses clustering of ensemble member hypotheses to form discrete hypothesis classes, and reliability measures for each tracker are used to weight hypotheses to determine the ensemble's output. Simple TestTracker beat trackers are introduced as example ensemble members and used to demonstrate the performance of the Beaker ensemble framework. Diverse ensembles of TestTrackers can be created by varying parameters such as the input features and periodicity estimation approaches used by each tracker. Beaker ensembles using TestTrackers are shown to be competitive with a state-of-the-art real- time causal beat tracking system and can even outperform some non-causal beat tracking systems on certain evaluation metrics. Beaker's approach to combining the hypotheses of individual TestTrackers is shown to give superior results compared to recent developments in ensemble methods for non-causal beat tracking. The concept of ensemble diversity is discussed as it relates to Beaker ensembles, and a metric for predicting when the combination of two Beaker ensembles will give improved results over the individual ensembles is introduced. Finally, a real-time implementation and visualization of the Beaker ensemble framework in C++ is presented and areas for future work are discussed