Skip to content

Tempo Extraction using the Discrete Wavelet Transform

License

Notifications You must be signed in to change notification settings

zerospace/BPMDetector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BPMDetector

Implementation of a tempo detection algorithm in Swift.

The algorithm was originally proposed by Tsang Kei Man in his 2006 paper titled Tempo Extraction using the Discrete Wavelet Transform.

The Algorithm

  1. A discrete wavelet transform is applied to the audio data for four iterations to obtain the DWT coefficients, cD1 to cD4.
  2. Peak detection is performed for cD1 to cD4 concurrently.
  3. After getting the peaks of these coefficients, the beat intervals are calculated from these peaks.
  4. Four sets of beat interval information are combined to create a histogram.
  5. The histogram is smoothed with a Gaussian function to improve accuracy.
  6. After these stages, the tempo of the audio data can be obtained.

TODO:

  • Improve peak detection using the derivative method
  • Identify the beat locations

About

Tempo Extraction using the Discrete Wavelet Transform

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages