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_t * | new_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

Examples
  spectral/test-mfcc.c.

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

  mf | mfcc object as returned by new_aubio_mfcc
  in | input spectrum (buf_size long)
  out | output 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

  mf | mfcc 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

  mf | mfcc 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

  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.

## 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

  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.

## 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

  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.

## 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

  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.

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

  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.

## del_aubio_mfcc()

void del_aubio_mfcc | ( | aubio_mfcc_t * | mf | ) |

delete mfcc object

Parameters

  mf | mfcc 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_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

Examples
  spectral/test-mfcc.c.