aubio 0.4.9
Loading...
Searching...
No Matches
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
 
void del_aubio_mfcc (aubio_mfcc_t *mf)
 delete mfcc object
 
void aubio_mfcc_do (aubio_mfcc_t *mf, const cvec_t *in, fvec_t *out)
 mfcc object processing
 
uint_t aubio_mfcc_set_power (aubio_mfcc_t *mf, smpl_t power)
 set power parameter
 
smpl_t aubio_mfcc_get_power (aubio_mfcc_t *mf)
 get power parameter
 
uint_t aubio_mfcc_set_scale (aubio_mfcc_t *mf, smpl_t scale)
 set scaling parameter
 
smpl_t aubio_mfcc_get_scale (aubio_mfcc_t *mf)
 get scaling parameter
 
uint_t aubio_mfcc_set_mel_coeffs (aubio_mfcc_t *mf, smpl_t fmin, smpl_t fmax)
 Mel filterbank initialization.
 
uint_t aubio_mfcc_set_mel_coeffs_htk (aubio_mfcc_t *mf, smpl_t fmin, smpl_t fmax)
 Mel filterbank initialization.
 
uint_t aubio_mfcc_set_mel_coeffs_slaney (aubio_mfcc_t *mf)
 Mel filterbank initialization (Auditory Toolbox's parameters)
 

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.

Typedef Documentation

◆ aubio_mfcc_t

typedef struct _aubio_mfcc_t aubio_mfcc_t

mfcc object

Definition at line 47 of 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.