23
BEAT TRACKING BY DYNAMIC PROGRAMMING 이이이

Beat tracking by dynamic programming

  • Upload
    leejw41

  • View
    1.094

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Beat tracking by dynamic programming

BEAT TRACKING BY DYNAMIC PROGRAMMING

이장우

Page 2: Beat tracking by dynamic programming

Beat Tracking

Deriving from a music audio signal a sequence of beat instants that might correspond to when a human listener would tap his foot

2 constraints Correspond to moments in the audio

where a beat is indicated Reflect a locally-constant inter-beat-in-

terval

Page 3: Beat tracking by dynamic programming

Beat Tracking by Dynamic Programming

The 2 constraints map neatly onto the two constraints optimized in dy-namic programming

The local match The transition cost

Page 4: Beat tracking by dynamic programming

the Beat Tracking System

1. Estimates a global tempo

2. Uses the tempo to construct a tran-sition cost function

3. Uses dynamic programming to find the best-scoring set of beat times

Page 5: Beat tracking by dynamic programming

Accuracy

55.2% on the MIREX-06 training data

The impact of the assumption of a fixed target tempo

Typically able to track tempo changes in a range of ±10% of the target tempo

Page 6: Beat tracking by dynamic programming

Objective Function to Get Onsets & rhythmic Pattern

Assume that we have a constant target tempo

{ti} = the sequence of N beat instants found by the tracker

O(t) = an “onset strength envelope” derived from the audio

α = a weighting to balance the importance of the two terms

F(t, p) = a function that measures the consistency between an inter-beat interval t and the ideal beat spacing p defined by the target tempo

Page 7: Beat tracking by dynamic programming

anyway… thanks to dynamic programming, we can effectively search the entire exponentially-sized set of all possible time sequence in a linear-time operation

With Matlab, it can be simple 2 loops(forward calculation and backtrace) of 10 lines

of code

Objective Function to Get Onsets & rhythmic Pattern

Page 8: Beat tracking by dynamic programming

Objective Function to Get Onsets & rhythmic Pattern

Page 9: Beat tracking by dynamic programming

The Beat Tracking System

1. the front-end processing to convert the input audio into the onset strength envelope

2. the global tempo estimation which provides the target inter-beat inter-val

Page 10: Beat tracking by dynamic programming

Onset Strength Envelope

1. Resample the input sound to 8kHz2. Calculate the STFT magnitude using

32ms windows and 4ms advance between frames

3. Convert to an approximate auditory representation by mapping to 40 Mel bands via a weighted summing of the spectrogram

4. The Mel spectrogram is converted dB, and the first-order difference along time is calculated in each band

Page 11: Beat tracking by dynamic programming

Onset Strength Envelope

5. Negative values are set to Zero (half-wave rectification)

6. The remaining, positive differences are summed across all frequency bands

7. This signal is passed through a high-pass filter with a cutoff around 0.4Hz to make it locally zero-mean, and smoothed by convolving with a Gaussian envelope about 20 ms wide.

Page 12: Beat tracking by dynamic programming

Onset Strength Envelope

Page 13: Beat tracking by dynamic programming

Global Tempo Estimate

The dynamic programming formula-tion was base on prior knowledge of a target tempo

Now, time to how the tempo is es-timated

Difficult to choose a single best peak among many correlation peaks of comparable magnitude

Humans have a bias towards 120BPM so we will use this bias, then interpret the scaled peaks.

Page 14: Beat tracking by dynamic programming

Tempo Period Strength

W(T) = Gaussian weighting function on a log-time axis

To = the center of the tempo period bias

T = to control the width of the weighting curve

The primary tempo period estimate is the for which TPS(T) is largest

Page 15: Beat tracking by dynamic programming

Tempo Period Strength

To set T & , we used the MIREX-06 Beat Tracking training data con-taining the actual tapping instants.

The subject tapping data could be clustered into two groups, corre-sponding to slower and faster lev-els of the metrical hierarchy of the music, which were separated by a ratio of 2 or 3

Page 16: Beat tracking by dynamic programming

Tempo Calculation

To set T & , we used the MIREX-06 Beat Tracking training data con-taining the actual tapping instants.

The subject tapping data could be clustered into two groups, corre-sponding to slower and faster lev-els of the metrical hierarchy of the music

Page 17: Beat tracking by dynamic programming

Tempo Calculation

Whichever sequence contains the larger value determines whether the tempo is considered duple or triple, respectively, and the location of the largest value is treated as the faster target tempo, with 1/2 or 1/3 of that tempo, respectively, as the adjacent metrical level.

Page 18: Beat tracking by dynamic programming

Tempo Estimation Results

The tempo estimation system was evaluated within the MIREX-06 Tempo Extraction contest

The original tempo extraction algo-rithm of Global maximum of TPS scored 35.7% and 74.4% with the “accuracy1” and “accuracy2”.

The modified tempo extraction algo-rithm of the maximum of TPS2 or TPS3 scored 45.8% and 80.6%

Page 19: Beat tracking by dynamic programming

Beat Tracking Results

N = the number of ground-truth records used in scoring

LG,i = the number of beats in ground truth sequence i

LA,i = the number of beats found by the algo-rithm relating to that sequence

G,i = the overall tempo of the ground-truth sequence

tG,I, = the time of the k th beat in the i th ground-truth sequence

tA,i,j = the time of the j th beat in the algo-rithm’s corresponding beat-time sequence

Page 20: Beat tracking by dynamic programming

Beat Tracking Results

Variation of beat tracker score against the 20 MIREX-06 Beat Tracking training examples as a function of , the objective function balance factor.

The best score over the entire test set is an accuracy of 58.8% for = 680

Page 21: Beat tracking by dynamic programming

Limitation

Non-constant Tempos Slowly-varying tempos Abrupt changes

Finding the End “filling in” applies equally well to any

silent (or non-rhythmic) periods at the start or end of a recording

Page 22: Beat tracking by dynamic programming

Conclusion

Despite its limitations, the simplicity and efficiency of the dynamic pro-gramming approach to beat tracking makes it an attractive default choice for general music applications

Page 23: Beat tracking by dynamic programming

질문은 받지 않습니다 .