Julius 4.2
|
MFCC 特徴量の計算 [詳細]
関数 | |
static void | make_costbl_hamming (MFCCWork *w, int framesize) |
Generate table for hamming window. | |
static void | make_fft_table (MFCCWork *w, int n) |
Build tables for FFT. | |
static void | make_costbl_makemfcc (MFCCWork *w, int fbank_num, int mfcc_dim) |
Generate table for DCT operation to make mfcc from fbank. | |
static void | make_sintbl_wcep (MFCCWork *w, int lifter, int mfcc_dim) |
Generate table for weighing cepstrum. | |
float | Mel (int k, float fres) |
Return mel-frequency. | |
static boolean | VTLN_recreate_fbank_cf (float *cf, Value *para, float mlo, float mhi, int maxChan) |
Create fbank center frequency for VTLN. | |
boolean | InitFBank (MFCCWork *w, Value *para) |
Build filterbank information and generate tables for MFCC comptutation. | |
void | FreeFBank (FBankInfo *fb) |
Free FBankInfo. | |
void | ZMeanFrame (float *wave, int framesize) |
Remove DC offset per frame. | |
float | CalcLogRawE (float *wave, int framesize) |
Calculate Log Raw Energy. | |
void | PreEmphasise (float *wave, int framesize, float preEmph) |
Apply pre-emphasis filter. | |
void | Hamming (float *wave, int framesize, MFCCWork *w) |
Apply hamming window. | |
void | FFT (float *xRe, float *xIm, int p, MFCCWork *w) |
Apply FFT. | |
void | MakeFBank (float *wave, MFCCWork *w, Value *para) |
Convert wave -> (spectral subtraction) -> mel-frequency filterbank. | |
float | CalcC0 (MFCCWork *w, Value *para) |
Calculate 0'th cepstral coefficient. | |
void | MakeMFCC (float *mfcc, Value *para, MFCCWork *w) |
Apply DCT to filterbank to make MFCC. | |
void | WeightCepstrum (float *mfcc, Value *para, MFCCWork *w) |
Re-scale cepstral coefficients. | |
MFCCWork * | WMP_work_new (Value *para) |
Setup work area for parameters, values, buffers, tables to compute MFCC vectors, with a given parameter configurations. | |
void | WMP_calc (MFCCWork *w, float *mfcc, Value *para) |
Calculate MFCC and log energy for one frame. | |
void | WMP_free (MFCCWork *w) |
Free all work area for MFCC computation. |
MFCC 特徴量の計算
ここでは,窓をかけて取り出された音声波形データから MFCC 特徴量を 算出するコア関数が納められています.
mfcc-core.c で定義されています。
static void make_costbl_hamming | ( | MFCCWork * | w, |
int | framesize | ||
) | [static] |
Generate table for hamming window.
w | [i/o] MFCC calculation work area |
framesize | [in] window size |
mfcc-core.c の 42 行で定義されています。
参照元 WMP_work_new().
static void make_fft_table | ( | MFCCWork * | w, |
int | n | ||
) | [static] |
Build tables for FFT.
w | [i/o] MFCC calculation work area |
n | [in] 2^n = FFT point |
mfcc-core.c の 67 行で定義されています。
参照元 WMP_work_new().
static void make_costbl_makemfcc | ( | MFCCWork * | w, |
int | fbank_num, | ||
int | mfcc_dim | ||
) | [static] |
Generate table for DCT operation to make mfcc from fbank.
w | [i/o] MFCC calculation work area |
fbank_num | [in] number of filer banks |
mfcc_dim | [in] number of dimensions in MFCC |
mfcc-core.c の 94 行で定義されています。
参照元 WMP_work_new().
static void make_sintbl_wcep | ( | MFCCWork * | w, |
int | lifter, | ||
int | mfcc_dim | ||
) | [static] |
Generate table for weighing cepstrum.
w | [i/o] MFCC calculation work area |
lifter | [in] cepstral liftering coefficient |
mfcc_dim | [in] number of dimensions in MFCC |
mfcc-core.c の 127 行で定義されています。
参照元 WMP_work_new().
float Mel | ( | int | k, |
float | fres | ||
) |
Return mel-frequency.
k | [in] channel number of filter bank |
fres | [in] constant value computed by "1.0E7 / (para.smp_period * fb.fftN * 700.0)" |
mfcc-core.c の 161 行で定義されています。
参照元 InitFBank().
static boolean VTLN_recreate_fbank_cf | ( | float * | cf, |
Value * | para, | ||
float | mlo, | ||
float | mhi, | ||
int | maxChan | ||
) | [static] |
Create fbank center frequency for VTLN.
cf | [i/o] center frequency of channels in Mel, will be changed considering VTLN |
para | [in] analysis parameter |
mlo | [in] fbank lower bound in Mel |
mhi | [in] fbank upper bound in Mel |
maxChan | [in] maximum number of channels |
mfcc-core.c の 177 行で定義されています。
参照元 InitFBank().
Build filterbank information and generate tables for MFCC comptutation.
w | [i/o] MFCC calculation work area |
para | [in] configuration parameters |
mfcc-core.c の 229 行で定義されています。
参照元 WMP_work_new().
void FreeFBank | ( | FBankInfo * | fb | ) |
void ZMeanFrame | ( | float * | wave, |
int | framesize | ||
) |
Remove DC offset per frame.
wave | [i/o] waveform data in the current frame |
framesize | [in] frame size |
mfcc-core.c の 328 行で定義されています。
参照元 new_SS_calculate(), と WMP_calc().
float CalcLogRawE | ( | float * | wave, |
int | framesize | ||
) |
Calculate Log Raw Energy.
wave | [in] waveform data in the current frame |
framesize | [in] frame size |
mfcc-core.c の 347 行で定義されています。
参照元 WMP_calc().
void PreEmphasise | ( | float * | wave, |
int | framesize, | ||
float | preEmph | ||
) |
Apply pre-emphasis filter.
wave | [i/o] waveform data in the current frame |
framesize | [i/o] frame size in samples |
preEmph | [in] pre-emphasis coef. |
mfcc-core.c の 367 行で定義されています。
参照元 new_SS_calculate(), と WMP_calc().
void Hamming | ( | float * | wave, |
int | framesize, | ||
MFCCWork * | w | ||
) |
Apply hamming window.
wave | [i/o] waveform data in the current frame |
framesize | [in] frame size |
w | [i/o] MFCC calculation work area |
mfcc-core.c の 383 行で定義されています。
参照元 new_SS_calculate(), と WMP_calc().
void FFT | ( | float * | xRe, |
float * | xIm, | ||
int | p, | ||
MFCCWork * | w | ||
) |
Apply FFT.
xRe | [i/o] real part of waveform |
xIm | [i/o] imaginal part of waveform |
p | [in] 2^p = FFT point |
w | [i/o] MFCC calculation work area |
mfcc-core.c の 405 行で定義されています。
参照元 MakeFBank(), と new_SS_calculate().
Convert wave -> (spectral subtraction) -> mel-frequency filterbank.
wave | [in] waveform data in the current frame |
w | [i/o] MFCC calculation work area |
para | [in] configuration parameters |
mfcc-core.c の 458 行で定義されています。
参照元 WMP_calc().
Calculate 0'th cepstral coefficient.
w | [i/o] MFCC calculation work area |
para | [in] configuration parameters |
mfcc-core.c の 529 行で定義されています。
参照元 WMP_calc().
Apply DCT to filterbank to make MFCC.
mfcc | [out] output MFCC vector |
para | [in] configuration parameters |
w | [i/o] MFCC calculation work area |
mfcc-core.c の 547 行で定義されています。
参照元 WMP_calc().
Re-scale cepstral coefficients.
mfcc | [i/o] a MFCC vector |
para | [in] configuration parameters |
w | [i/o] MFCC calculation work area |
mfcc-core.c の 582 行で定義されています。
参照元 WMP_calc().
Setup work area for parameters, values, buffers, tables to compute MFCC vectors, with a given parameter configurations.
para | [in] configuration parameters |
mfcc-core.c の 620 行で定義されています。
参照元 j_final_fusion(), と j_mfcccalc_new().
Calculate MFCC and log energy for one frame.
Perform spectral subtraction if ssbuf is specified.
w | [i/o] MFCC calculation work area |
mfcc | [out] buffer to hold the resulting MFCC vector |
para | [in] configuration parameters |
mfcc-core.c の 658 行で定義されています。
参照元 RealTimeMFCC(), と Wav2MFCC().
void WMP_free | ( | MFCCWork * | w | ) |
Free all work area for MFCC computation.
w | [i/o] MFCC calculation work area |
mfcc-core.c の 700 行で定義されています。
参照元 j_mfcccalc_free().