aubio 0.4.5
Typedefs | Functions

tempo/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.


Function Documentation

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.
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.
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.
uint_t aubio_tempo_get_delay ( aubio_tempo_t o)

get current delay

Parameters:
obeat tracking object
Returns:
current delay, in samples
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
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
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.
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.
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.
smpl_t aubio_tempo_get_last_tatum ( aubio_tempo_t o)

get position of last_tatum, in samples

Parameters:
obeat tracking object
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.

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.

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
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
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
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
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
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
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)
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.
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
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.
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.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines