mlib_SignalMelCepstral_S16mediaLibILibrarmlib_SignalMelCepstral_S16_Adp(3MLIB)NAMEmlib_SignalMelCepstral_S16_Adp - perform cepstral analysis in mel fre‐
quency 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 analy‐
sis 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 fre‐
quency 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 fre‐
quency 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 for‐
mat.
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 │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOmlib_SignalMelCepstralInit_S16(3MLIB), mlib_SignalMelCep‐
stral_S16(3MLIB), mlib_SignalMelCepstralFree_S16(3MLIB), attributes(5)SunOS 5.10 2 Mar 2mlib_SignalMelCepstral_S16_Adp(3MLIB)