TracktionEngine
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
engine::TempoDetect Class Reference

Uses the SoundTouch BPMDetect class to guess the tempo of some audio. More...

#include <tracktion_TempoDetect.h>

Public Member Functions

 TempoDetect (int numChannels_, double sampleRate)
 
float processReader (juce::AudioFormatReader &reader)
 Processes an entire AudioFormatReader returning the tempo for it.
 
float processAndDetect (const float **const inputSamples, int numSamples)
 Processes a block of audio returning the tempo for it.
 
float getBpm () const
 Returns the last BPM detected.
 
bool isBpmSensible () const
 
void processSection (juce::AudioBuffer< float > &buffer, int numSamplesToProcess)
 Processes a non-interleaved buffer section.
 
float finishAndDetect ()
 Completes the detection process and returns the BPM.
 
void processSection (const float *const *inputSamples, int numSamples)
 

Static Public Member Functions

static juce::Range< float > getSensibleRange ()
 

Detailed Description

Uses the SoundTouch BPMDetect class to guess the tempo of some audio.

Constructor & Destructor Documentation

◆ TempoDetect()

engine::TempoDetect::TempoDetect ( int  numChannels_,
double  sampleRate 
)

Member Function Documentation

◆ processReader()

float engine::TempoDetect::processReader ( juce::AudioFormatReader &  reader)

Processes an entire AudioFormatReader returning the tempo for it.

Returns
the tempo in BPM for the block.

◆ processAndDetect()

float engine::TempoDetect::processAndDetect ( const float **const  inputSamples,
int  numSamples 
)

Processes a block of audio returning the tempo for it.

Returns
the tempo in BPM for the block.

◆ getBpm()

float engine::TempoDetect::getBpm ( ) const

Returns the last BPM detected.

◆ isBpmSensible()

bool engine::TempoDetect::isBpmSensible ( ) const

◆ getSensibleRange()

static juce::Range< float > engine::TempoDetect::getSensibleRange ( )
static

◆ processSection() [1/2]

void engine::TempoDetect::processSection ( juce::AudioBuffer< float > &  buffer,
int  numSamplesToProcess 
)

Processes a non-interleaved buffer section.


◆ finishAndDetect()

float engine::TempoDetect::finishAndDetect ( )

Completes the detection process and returns the BPM.

◆ processSection() [2/2]

void engine::TempoDetect::processSection ( const float *const *  inputSamples,
int  numSamples 
)

The documentation for this class was generated from the following file: