aubio  0.4.9
Typedefs | Functions
mfcc.h File Reference

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
 

Functions

aubio_mfcc_tnew_aubio_mfcc (uint_t buf_size, uint_t n_filters, uint_t n_coeffs, uint_t samplerate)
 create mfcc object More...
 
void del_aubio_mfcc (aubio_mfcc_t *mf)
 delete mfcc object More...
 
void aubio_mfcc_do (aubio_mfcc_t *mf, const cvec_t *in, fvec_t *out)
 mfcc object processing More...
 
uint_t aubio_mfcc_set_power (aubio_mfcc_t *mf, smpl_t power)
 set power parameter More...
 
smpl_t aubio_mfcc_get_power (aubio_mfcc_t *mf)
 get power parameter More...
 
uint_t aubio_mfcc_set_scale (aubio_mfcc_t *mf, smpl_t scale)
 set scaling parameter More...
 
smpl_t aubio_mfcc_get_scale (aubio_mfcc_t *mf)
 get scaling parameter More...
 
uint_t aubio_mfcc_set_mel_coeffs (aubio_mfcc_t *mf, smpl_t fmin, smpl_t fmax)
 Mel filterbank initialization. More...
 
uint_t aubio_mfcc_set_mel_coeffs_htk (aubio_mfcc_t *mf, smpl_t fmin, smpl_t fmax)
 Mel filterbank initialization. More...
 
uint_t aubio_mfcc_set_mel_coeffs_slaney (aubio_mfcc_t *mf)
 Mel filterbank initialization (Auditory Toolbox's parameters) More...
 

Detailed Description

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.

Function Documentation

◆ aubio_mfcc_do()

void aubio_mfcc_do ( aubio_mfcc_t mf,
const cvec_t in,
fvec_t out 
)

mfcc object processing

Parameters
mfmfcc object as returned by new_aubio_mfcc
ininput spectrum (buf_size long)
outoutput mel coefficients buffer (n_coeffs long)
Examples:
spectral/test-mfcc.c.

◆ aubio_mfcc_get_power()

smpl_t aubio_mfcc_get_power ( aubio_mfcc_t mf)

get power parameter

Parameters
mfmfcc object, as returned by new_aubio_mfcc()
Returns
current power parameter. Defaults to 1.

See aubio_filterbank_get_power().

◆ aubio_mfcc_get_scale()

smpl_t aubio_mfcc_get_scale ( aubio_mfcc_t mf)

get scaling parameter

Parameters
mfmfcc object, as returned by new_aubio_mfcc()
Returns
current scaling parameter. Defaults to 1.

◆ aubio_mfcc_set_mel_coeffs()

uint_t aubio_mfcc_set_mel_coeffs ( aubio_mfcc_t mf,
smpl_t  fmin,
smpl_t  fmax 
)

Mel filterbank initialization.

Parameters
mfmfcc object
fminstart frequency, in Hz
fmaxend frequency, in Hz

The filterbank will be initialized with bands linearly spaced in the mel scale, from fmin to fmax.

See also

aubio_filterbank_set_mel_coeffs()

◆ aubio_mfcc_set_mel_coeffs_htk()

uint_t aubio_mfcc_set_mel_coeffs_htk ( aubio_mfcc_t mf,
smpl_t  fmin,
smpl_t  fmax 
)

Mel filterbank initialization.

Parameters
mfmfcc object
fminstart frequency, in Hz
fmaxend 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.

See also

aubio_filterbank_set_mel_coeffs_htk()

◆ aubio_mfcc_set_mel_coeffs_slaney()

uint_t aubio_mfcc_set_mel_coeffs_slaney ( aubio_mfcc_t mf)

Mel filterbank initialization (Auditory Toolbox's parameters)

Parameters
mfmfcc 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.

See also

aubio_filterbank_set_mel_coeffs_slaney()

◆ aubio_mfcc_set_power()

uint_t aubio_mfcc_set_power ( aubio_mfcc_t mf,
smpl_t  power 
)

set power parameter

Parameters
mfmfcc object, as returned by new_aubio_mfcc()
powerRaise norm of the input spectrum norm to this power before computing filterbank. Defaults to 1.

See aubio_filterbank_set_power().

◆ aubio_mfcc_set_scale()

uint_t aubio_mfcc_set_scale ( aubio_mfcc_t mf,
smpl_t  scale 
)

set scaling parameter

Parameters
mfmfcc object, as returned by new_aubio_mfcc()
scaleScaling value to apply.

Scales the output of the filterbank after taking its logarithm and before computing the DCT. Defaults to 1.

◆ del_aubio_mfcc()

void del_aubio_mfcc ( aubio_mfcc_t mf)

delete mfcc object

Parameters
mfmfcc object as returned by new_aubio_mfcc
Examples:
spectral/test-mfcc.c.

◆ 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

Parameters
buf_sizesize of analysis buffer (and length the FFT transform)
samplerateaudio sampling rate
n_coeffsnumber of desired coefficients
n_filtersnumber of desired filters
Examples:
spectral/test-mfcc.c.