adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60: BTrack - A Real-Time Beat Tracker
adamstark@60:
adamstark@60: |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60: - Main Page
adamstark@60: - Classes
adamstark@60: - Files
adamstark@60: -
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
#include <BTrack.h>
adamstark@60:
adamstark@60: |
adamstark@60: static double | getBeatTimeInSeconds (long frameNumber, int hopSize, int fs) |
adamstark@60: |
adamstark@60: static double | getBeatTimeInSeconds (int frameNumber, int hopSize, int fs) |
adamstark@60: |
adamstark@60:
adamstark@60:
adamstark@60:
The main beat tracking class and the interface to the BTrack beat tracking algorithm. The algorithm can process either audio frames or onset detection function samples and also contains some static functions for calculating beat times in seconds
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60: BTrack::BTrack |
adamstark@60: ( |
adamstark@60: | ) |
adamstark@60: |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@65:
Constructor assuming hop size of 512 and frame size of 1024
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60: BTrack::BTrack |
adamstark@60: ( |
adamstark@60: int |
adamstark@60: hopSize_ | ) |
adamstark@60: |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@65:
Constructor assuming frame size will be double the hopSize
adamstark@60:
- Parameters
-
adamstark@60:
adamstark@60: hopSize | the hop size in audio samples |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60: BTrack::BTrack |
adamstark@60: ( |
adamstark@60: int |
adamstark@60: hopSize_, |
adamstark@60:
adamstark@60:
adamstark@60: |
adamstark@60: |
adamstark@60: int |
adamstark@60: frameSize_ |
adamstark@60:
adamstark@60:
adamstark@60: |
adamstark@60: ) |
adamstark@60: | |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@65:
Constructor taking both hopSize and frameSize
adamstark@60:
- Parameters
-
adamstark@60:
adamstark@60: hopSize | the hop size in audio samples |
adamstark@60: frameSize | the frame size in audio samples |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60: bool BTrack::beatDueInCurrentFrame |
adamstark@60: ( |
adamstark@60: | ) |
adamstark@60: |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
- Returns
- true if a beat should occur in the current audio frame
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60: void BTrack::doNotFixTempo |
adamstark@60: ( |
adamstark@60: | ) |
adamstark@60: |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@65:
Tell the algorithm to not fix the tempo anymore
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60: void BTrack::fixTempo |
adamstark@60: ( |
adamstark@60: double |
adamstark@60: tempo | ) |
adamstark@60: |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@65:
Fix tempo to roughly around some value, so that the algorithm will only try to track tempi around the given tempo
adamstark@60:
- Parameters
-
adamstark@60:
adamstark@60: tempo | the tempo in beats per minute (bpm) |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60: double BTrack::getBeatTimeInSeconds |
adamstark@60: ( |
adamstark@60: long |
adamstark@60: frameNumber, |
adamstark@60:
adamstark@60:
adamstark@60: |
adamstark@60: |
adamstark@60: int |
adamstark@60: hopSize, |
adamstark@60:
adamstark@60:
adamstark@60: |
adamstark@60: |
adamstark@60: int |
adamstark@60: fs |
adamstark@60:
adamstark@60:
adamstark@60: |
adamstark@60: ) |
adamstark@60: | |
adamstark@60:
adamstark@60:
adamstark@60: |
adamstark@60:
adamstark@60: static |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@65:
Calculates a beat time in seconds, given the frame number, hop size and sampling frequency. This version uses a long to represent the frame number
adamstark@60:
- Parameters
-
adamstark@60:
adamstark@60: frameNumber | the index of the current frame |
adamstark@60: hopSize | the hop size in audio samples |
adamstark@60: fs | the sampling frequency in Hz |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
- Returns
- a beat time in seconds
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60: double BTrack::getBeatTimeInSeconds |
adamstark@60: ( |
adamstark@60: int |
adamstark@60: frameNumber, |
adamstark@60:
adamstark@60:
adamstark@60: |
adamstark@60: |
adamstark@60: int |
adamstark@60: hopSize, |
adamstark@60:
adamstark@60:
adamstark@60: |
adamstark@60: |
adamstark@60: int |
adamstark@60: fs |
adamstark@60:
adamstark@60:
adamstark@60: |
adamstark@60: ) |
adamstark@60: | |
adamstark@60:
adamstark@60:
adamstark@60: |
adamstark@60:
adamstark@60: static |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@65:
Calculates a beat time in seconds, given the frame number, hop size and sampling frequency. This version uses an int to represent the frame number
adamstark@60:
- Parameters
-
adamstark@60:
adamstark@60: frameNumber | the index of the current frame |
adamstark@60: hopSize | the hop size in audio samples |
adamstark@60: fs | the sampling frequency in Hz |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
- Returns
- a beat time in seconds
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60: double BTrack::getCurrentTempoEstimate |
adamstark@60: ( |
adamstark@60: | ) |
adamstark@60: |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
- Returns
- the current tempo estimate being used by the beat tracker
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60: int BTrack::getHopSize |
adamstark@60: ( |
adamstark@60: | ) |
adamstark@60: |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
- Returns
- the current hop size being used by the beat tracker
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60: double BTrack::getLatestCumulativeScoreValue |
adamstark@60: ( |
adamstark@60: | ) |
adamstark@60: |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
- Returns
- the most recent value of the cumulative score function
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60: void BTrack::processAudioFrame |
adamstark@60: ( |
adamstark@60: double * |
adamstark@60: frame | ) |
adamstark@60: |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
Process a single audio frame
adamstark@60:
- Parameters
-
adamstark@60:
adamstark@60: frame | a pointer to an array containing an audio frame. The number of samples should match the frame size that the algorithm was initialised with. |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60: void BTrack::processOnsetDetectionFunctionSample |
adamstark@60: ( |
adamstark@60: double |
adamstark@60: sample | ) |
adamstark@60: |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
Add new onset detection function sample to buffer and apply beat tracking
adamstark@60:
- Parameters
-
adamstark@60:
adamstark@60: sample | an onset detection function sample |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60: void BTrack::setTempo |
adamstark@60: ( |
adamstark@60: double |
adamstark@60: tempo | ) |
adamstark@60: |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
Set the tempo of the beat tracker
adamstark@60:
- Parameters
-
adamstark@60:
adamstark@60: tempo | the tempo in beats per minute (bpm) |
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@65:
adamstark@65:
adamstark@65:
adamstark@65:
adamstark@65:
adamstark@65: void BTrack::updateHopAndFrameSize |
adamstark@65: ( |
adamstark@65: int |
adamstark@65: hopSize_, |
adamstark@65:
adamstark@65:
adamstark@65: |
adamstark@65: |
adamstark@65: int |
adamstark@65: frameSize_ |
adamstark@65:
adamstark@65:
adamstark@65: |
adamstark@65: ) |
adamstark@65: | |
adamstark@65:
adamstark@65:
adamstark@65:
adamstark@65:
Updates the hop and frame size used by the beat tracker
adamstark@65:
- Parameters
-
adamstark@65:
adamstark@65: hopSize | the hop size in audio samples |
adamstark@65: frameSize | the frame size in audio samples |
adamstark@65:
adamstark@65:
adamstark@65:
adamstark@65:
adamstark@65:
adamstark@65:
adamstark@60:
The documentation for this class was generated from the following files:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60:
adamstark@60: