aubio
0.4.9
|
Mel-Frequency Cepstrum Coefficients object. More...
Go to the source code of this file.
Typedefs | |
typedef struct _aubio_mfcc_t | aubio_mfcc_t |
mfcc object | |
Mel-Frequency Cepstrum Coefficients object.
This object computes MFCC coefficients on an input cvec_t.
The implementation follows the specifications established by Malcolm Slaney in its Auditory Toolbox, available online at the following address (see file mfcc.m):
https://engineering.purdue.edu/~malcolm/interval/1998-010/
Definition in file mfcc.h.
void aubio_mfcc_do | ( | aubio_mfcc_t * | mf, |
const cvec_t * | in, | ||
fvec_t * | out | ||
) |
mfcc object processing
mf | mfcc object as returned by new_aubio_mfcc |
in | input spectrum (buf_size long) |
out | output mel coefficients buffer (n_coeffs long) |
smpl_t aubio_mfcc_get_power | ( | aubio_mfcc_t * | mf | ) |
get power parameter
mf | mfcc object, as returned by new_aubio_mfcc() |
1
.smpl_t aubio_mfcc_get_scale | ( | aubio_mfcc_t * | mf | ) |
get scaling parameter
mf | mfcc object, as returned by new_aubio_mfcc() |
1
. uint_t aubio_mfcc_set_mel_coeffs | ( | aubio_mfcc_t * | mf, |
smpl_t | fmin, | ||
smpl_t | fmax | ||
) |
Mel filterbank initialization.
mf | mfcc object |
fmin | start frequency, in Hz |
fmax | end frequency, in Hz |
The filterbank will be initialized with bands linearly spaced in the mel scale, from fmin
to fmax
.
uint_t aubio_mfcc_set_mel_coeffs_htk | ( | aubio_mfcc_t * | mf, |
smpl_t | fmin, | ||
smpl_t | fmax | ||
) |
Mel filterbank initialization.
mf | mfcc object |
fmin | start frequency, in Hz |
fmax | end frequency, in Hz |
The bank of filters will be initalized to to cover linearly spaced bands in the Htk mel scale, from fmin
to fmax
.
uint_t aubio_mfcc_set_mel_coeffs_slaney | ( | aubio_mfcc_t * | mf | ) |
Mel filterbank initialization (Auditory Toolbox's parameters)
mf | mfcc object |
The filter coefficients are built to match exactly Malcolm Slaney's Auditory Toolbox implementation. The number of filters should be 40.
This is the default filterbank when mf
was created with n_filters = 40
.
uint_t aubio_mfcc_set_power | ( | aubio_mfcc_t * | mf, |
smpl_t | power | ||
) |
set power parameter
mf | mfcc object, as returned by new_aubio_mfcc() |
power | Raise norm of the input spectrum norm to this power before computing filterbank. Defaults to 1 . |
uint_t aubio_mfcc_set_scale | ( | aubio_mfcc_t * | mf, |
smpl_t | scale | ||
) |
set scaling parameter
mf | mfcc object, as returned by new_aubio_mfcc() |
scale | Scaling value to apply. |
Scales the output of the filterbank after taking its logarithm and before computing the DCT. Defaults to 1
.
void del_aubio_mfcc | ( | aubio_mfcc_t * | mf | ) |
delete mfcc object
mf | mfcc object as returned by new_aubio_mfcc |
aubio_mfcc_t* new_aubio_mfcc | ( | uint_t | buf_size, |
uint_t | n_filters, | ||
uint_t | n_coeffs, | ||
uint_t | samplerate | ||
) |
create mfcc object
buf_size | size of analysis buffer (and length the FFT transform) |
samplerate | audio sampling rate |
n_coeffs | number of desired coefficients |
n_filters | number of desired filters |