man pages section 3: Multimedia Library Functions
Updated: July 2014

## mlib_SignalMelCepstral_S16_Adp(3MLIB)

### Name

mlib_SignalMelCepstral_S16_Adp - perform cepstral analysis in mel frequency scale

### Synopsis

```cc [ flag... ] file... –lmlib [ library... ]
#include <mlib.h>

mlib_status mlib_SignalMelCepstral_S16_Adp(mlib_s16 *cepst,
mlib_s32 *cscale, const mlib_s16 *signal, void *state);```

### Description

The mlib_SignalMelCepstral_S16_Adp() function performs cepstral analysis in mel frequency scale. The scaling factor of the output data will be calculated based on the actual data.

The first two steps of mel scale cepstral analysis is the same as in general cepstral anaysis. After the logarithm of the spectrum magnitude is obtained, it is converted into mel frequency scale before the inverse Fourier transform.

```           +-----------+        +-----------+
|  Linear   |        |  Inverse  |
... ------>|    to     |------->|  Fourier  |----->
X'(k) | Mel Scale | X''(m) | Transform | c(n)
+-----------+        +-----------+```

where X'(k) is defined in linear frequency scale and X''(m) is defined in mel frequency scale.

The mel frequency scale is defined as following.

`freq_mel = melmul * LOG10(1 + freq_linear / meldiv)`

where freq_mel is the frequency in mel scale, freq_linear is the frequency in linear scale, melmul is the multiplying factor, muldiv is the dividing factor.

Optionally, a bank of band pass filters in linear frequency scale can be used below the bank of band pass filters in mel frequency scale, as shown below in linear frequency scale.

```0   f1  f2  f3    fp  fp+1 fp+2  fp+3  fp+q
|---|---|---| ... |---|----|-----| ... | ... -> freq```

where fp = melbgn, fp+q = melend, p = nlinear, q = nmel; the filters number 1 to p are defined in linear frequency scale which have equal bandwidth in linear frequency scale; the filters number p+1 to p+q are defined in mel frequency scale which have equal bandwidth in mel frequency scale and increasing bandwidth in linear frequency scale.

See Digital Signal Processing by Alan V. Oppenheim and Ronald W. Schafer, Prentice Hall, 1974.

See Fundamentals of Speech Recognition by Lawrence Rabiner and Biing-Hwang Juang, Prentice Hall, 1993.

### Parameters

The function takes the following arguments:

cepst

The cepstral coefficients.

cscale

The scaling factor of cepstral coefficients, where actual_data = output_data * 2**(-scaling_factor).

signal

The input signal vector, the signal samples are in Q15 format.

state

Pointer to the internal state structure.

### Return Values

The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.

### Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe