aubio 0.4.9
Loading...
Searching...
No Matches
tempo.h File Reference

Tempo detection object. More...

Go to the source code of this file.

Typedefs

typedef struct _aubio_tempo_t aubio_tempo_t
 tempo detection structure
 

Functions

aubio_tempo_tnew_aubio_tempo (const char_t *method, uint_t buf_size, uint_t hop_size, uint_t samplerate)
 create tempo detection object
 
void aubio_tempo_do (aubio_tempo_t *o, const fvec_t *input, fvec_t *tempo)
 execute tempo detection
 
uint_t aubio_tempo_get_last (aubio_tempo_t *o)
 get the time of the latest beat detected, in samples
 
smpl_t aubio_tempo_get_last_s (aubio_tempo_t *o)
 get the time of the latest beat detected, in seconds
 
smpl_t aubio_tempo_get_last_ms (aubio_tempo_t *o)
 get the time of the latest beat detected, in milliseconds
 
uint_t aubio_tempo_set_silence (aubio_tempo_t *o, smpl_t silence)
 set tempo detection silence threshold
 
smpl_t aubio_tempo_get_silence (aubio_tempo_t *o)
 get tempo detection silence threshold
 
uint_t aubio_tempo_set_threshold (aubio_tempo_t *o, smpl_t threshold)
 set tempo detection peak picking threshold
 
smpl_t aubio_tempo_get_threshold (aubio_tempo_t *o)
 get tempo peak picking threshold
 
smpl_t aubio_tempo_get_period (aubio_tempo_t *bt)
 get current beat period in samples
 
smpl_t aubio_tempo_get_period_s (aubio_tempo_t *bt)
 get current beat period in seconds
 
smpl_t aubio_tempo_get_bpm (aubio_tempo_t *o)
 get current tempo
 
smpl_t aubio_tempo_get_confidence (aubio_tempo_t *o)
 get current tempo confidence
 
uint_t aubio_tempo_set_tatum_signature (aubio_tempo_t *o, uint_t signature)
 set number of tatum per beat
 
uint_t aubio_tempo_was_tatum (aubio_tempo_t *o)
 check whether a tatum was detected in the current frame
 
smpl_t aubio_tempo_get_last_tatum (aubio_tempo_t *o)
 get position of last_tatum, in samples
 
uint_t aubio_tempo_get_delay (aubio_tempo_t *o)
 get current delay
 
smpl_t aubio_tempo_get_delay_s (aubio_tempo_t *o)
 get current delay in seconds
 
smpl_t aubio_tempo_get_delay_ms (aubio_tempo_t *o)
 get current delay in ms
 
uint_t aubio_tempo_set_delay (aubio_tempo_t *o, sint_t delay)
 set current delay
 
uint_t aubio_tempo_set_delay_s (aubio_tempo_t *o, smpl_t delay)
 set current delay in seconds
 
uint_t aubio_tempo_set_delay_ms (aubio_tempo_t *o, smpl_t delay)
 set current delay
 
void del_aubio_tempo (aubio_tempo_t *o)
 delete tempo detection object
 

Detailed Description

Tempo detection object.

This object stores all the memory required for tempo detection algorithm and returns the estimated beat locations.

Definition in file tempo.h.

Typedef Documentation

◆ aubio_tempo_t

typedef struct _aubio_tempo_t aubio_tempo_t

tempo detection structure

Definition at line 41 of file tempo.h.

Function Documentation

◆ aubio_tempo_do()

void aubio_tempo_do ( aubio_tempo_t * o,
const fvec_t * input,
fvec_t * tempo )

execute tempo detection

Parameters
obeat tracking object
inputnew samples
tempooutput beats
Examples
examples/aubiotrack.c, and tempo/test-tempo.c.

◆ aubio_tempo_get_bpm()

smpl_t aubio_tempo_get_bpm ( aubio_tempo_t * o)

get current tempo

Parameters
obeat tracking object
Returns
the currently observed tempo, or 0 if no consistent value is found
Examples
tempo/test-tempo.c.

◆ aubio_tempo_get_confidence()

smpl_t aubio_tempo_get_confidence ( aubio_tempo_t * o)

get current tempo confidence

Parameters
obeat tracking object
Returns
confidence with which the tempo has been observed, the higher the more confidence, 0 if no consistent value is found.
Examples
tempo/test-tempo.c.

◆ aubio_tempo_get_delay()

uint_t aubio_tempo_get_delay ( aubio_tempo_t * o)

get current delay

Parameters
obeat tracking object
Returns
current delay, in samples

◆ aubio_tempo_get_delay_ms()

smpl_t aubio_tempo_get_delay_ms ( aubio_tempo_t * o)

get current delay in ms

Parameters
obeat tracking object
Returns
current delay, in milliseconds

◆ aubio_tempo_get_delay_s()

smpl_t aubio_tempo_get_delay_s ( aubio_tempo_t * o)

get current delay in seconds

Parameters
obeat tracking object
Returns
current delay, in seconds

◆ aubio_tempo_get_last()

uint_t aubio_tempo_get_last ( aubio_tempo_t * o)

get the time of the latest beat detected, in samples

Parameters
otempo detection object as returned by new_aubio_tempo
Examples
examples/aubiotrack.c, and tempo/test-tempo.c.

◆ aubio_tempo_get_last_ms()

smpl_t aubio_tempo_get_last_ms ( aubio_tempo_t * o)

get the time of the latest beat detected, in milliseconds

Parameters
otempo detection object as returned by new_aubio_tempo
Examples
tempo/test-tempo.c.

◆ aubio_tempo_get_last_s()

smpl_t aubio_tempo_get_last_s ( aubio_tempo_t * o)

get the time of the latest beat detected, in seconds

Parameters
otempo detection object as returned by new_aubio_tempo
Examples
tempo/test-tempo.c.

◆ aubio_tempo_get_last_tatum()

smpl_t aubio_tempo_get_last_tatum ( aubio_tempo_t * o)

get position of last_tatum, in samples

Parameters
obeat tracking object

◆ aubio_tempo_get_period()

smpl_t aubio_tempo_get_period ( aubio_tempo_t * bt)

get current beat period in samples

Parameters
btbeat tracking object

Returns the currently observed period, in samples, or 0 if no consistent value is found.

◆ aubio_tempo_get_period_s()

smpl_t aubio_tempo_get_period_s ( aubio_tempo_t * bt)

get current beat period in seconds

Parameters
btbeat tracking object

Returns the currently observed period, in seconds, or 0 if no consistent value is found.

◆ aubio_tempo_get_silence()

smpl_t aubio_tempo_get_silence ( aubio_tempo_t * o)

get tempo detection silence threshold

Parameters
otempo detection object as returned by new_aubio_tempo()
Returns
current silence threshold

◆ aubio_tempo_get_threshold()

smpl_t aubio_tempo_get_threshold ( aubio_tempo_t * o)

get tempo peak picking threshold

Parameters
otempo detection object as returned by new_aubio_tempo()
Returns
current tempo detection threshold

◆ aubio_tempo_set_delay()

uint_t aubio_tempo_set_delay ( aubio_tempo_t * o,
sint_t delay )

set current delay

Parameters
obeat tracking object
delaydelay to set tempo to, in samples
Returns
0 if successful, non-zero otherwise

◆ aubio_tempo_set_delay_ms()

uint_t aubio_tempo_set_delay_ms ( aubio_tempo_t * o,
smpl_t delay )

set current delay

Parameters
obeat tracking object
delaydelay to set tempo to, in samples
Returns
0 if successful, non-zero otherwise

◆ aubio_tempo_set_delay_s()

uint_t aubio_tempo_set_delay_s ( aubio_tempo_t * o,
smpl_t delay )

set current delay in seconds

Parameters
obeat tracking object
delaydelay to set tempo to, in seconds
Returns
0 if successful, non-zero otherwise

◆ aubio_tempo_set_silence()

uint_t aubio_tempo_set_silence ( aubio_tempo_t * o,
smpl_t silence )

set tempo detection silence threshold

Parameters
obeat tracking object
silencenew silence threshold, in dB
Returns
0 if successful, non-zero otherwise

◆ aubio_tempo_set_tatum_signature()

uint_t aubio_tempo_set_tatum_signature ( aubio_tempo_t * o,
uint_t signature )

set number of tatum per beat

Parameters
obeat tracking object
signaturenumber of tatum per beat (between 1 and 64)

◆ aubio_tempo_set_threshold()

uint_t aubio_tempo_set_threshold ( aubio_tempo_t * o,
smpl_t threshold )

set tempo detection peak picking threshold

Parameters
obeat tracking object
thresholdnew threshold
Returns
0 if successful, non-zero otherwise
Examples
examples/aubiotrack.c.

◆ aubio_tempo_was_tatum()

uint_t aubio_tempo_was_tatum ( aubio_tempo_t * o)

check whether a tatum was detected in the current frame

Parameters
obeat tracking object
Returns
2 if a beat was detected, 1 if a tatum was detected, 0 otherwise
Examples
tempo/test-tempo.c.

◆ del_aubio_tempo()

void del_aubio_tempo ( aubio_tempo_t * o)

delete tempo detection object

Parameters
obeat tracking object
Examples
examples/aubiotrack.c, and tempo/test-tempo.c.

◆ new_aubio_tempo()

aubio_tempo_t * new_aubio_tempo ( const char_t * method,
uint_t buf_size,
uint_t hop_size,
uint_t samplerate )

create tempo detection object

Parameters
methodbeat tracking method, unused for now (use "default")
buf_sizelength of FFT
hop_sizenumber of frames between two consecutive runs
sampleratesampling rate of the signal to analyze
Returns
newly created aubio_tempo_t if successful, NULL otherwise
Examples
examples/aubiotrack.c, and tempo/test-tempo.c.