メインページ | モジュール | データ構造 | Directories | ファイル一覧 | データフィールド | グローバル | 関連ページ

wav2mfcc-buffer.c

音声波形から MFCC 特徴量へ変換する(発話単位) [詳細]

#include <sent/stddefs.h>
#include <sent/mfcc.h>

wav2mfcc-buffer.cのインクルード依存関係図

ソースコードを見る。

関数

void make_costbl_hamming (int framesize)
void make_fft_table (int n)
void make_costbl_makemfcc (int fbank_num, int mfcc_dim)
void make_sintbl_wcep (int lifter, int mfcc_dim)
int Wav2MFCC (SP16 *wave, float **mfcc, Value para, int nSamples, float *ssbuf, int ssbuflen)
float CalcLogRawE (float *wave, int framesize)
void ZMeanFrame (float *wave, int framesize)
void Hamming (float *wave, int framesize)
void PreEmphasise (float *wave, Value para)
void WeightCepstrum (float *mfcc, Value para)
float Mel (int k, float fres)
FBankInfo InitFBank (Value para)
void FreeFBank (FBankInfo fb)
void MakeFBank (float *wave, double *fbank, FBankInfo fb, Value para, float *ssbuf)
void MakeMFCC (double *fbank, float *mfcc, Value para)
float CalcC0 (double *fbank, Value para)
void NormaliseLogE (float **mfcc, int frame_num, Value para)
void Delta (float **c, int frame, Value para)
void Accel (float **c, int frame, Value para)
void FFT (float *xRe, float *xIm, int p)
void CMN (float **mfcc, int frame_num, int dim)

変数

static double * costbl_hamming
 Cos table for hamming window.
static int costbl_hamming_len = 0
 Length of above.
static double * costbl_fft
 Cos table for FFT.
static double * sintbl_fft
 Sin table for FFT.
static int tbllen = 0
 Length of above.
static double * costbl_makemfcc
 Cos table for DCT.
static int costbl_makemfcc_len = 0
 Length of above.
static double * sintbl_wcep
 Sin table for cepstrum weighting.
static int sintbl_wcep_len = 0
 Length of above.
static float sqrt2var
 Work area that holds value of sqrt(2.0) / fbank_num.


説明

音声波形から MFCC 特徴量へ変換する(発話単位)

作者:
Akinobu LEE
日付:
Thu Feb 17 17:43:35 2005
ここでは音声波形全体を単位として MFCC ベクトル系列へ変換する関数が定義 されています.フレーム単位で抽出を行う関数は wav2mfcc-pipe.c に 記述されています

ここで抽出できるのは MFCC[_0][_E][_D][_A][_Z] の形式です.

Revision
1.2

wav2mfcc-buffer.c で定義されています。


関数

void make_costbl_hamming int  framesize  ) 
 

Generate table for hamming window.

引数:
framesize [in] window size

wav2mfcc-buffer.c74 行で定義されています。

参照元 InitFBank(), と new_SS_calculate().

void make_fft_table int  n  ) 
 

Build tables for FFT.

引数:
n [in] 2^n = FFT point

wav2mfcc-buffer.c105 行で定義されています。

参照元 InitFBank(), と new_SS_calculate().

void make_costbl_makemfcc int  fbank_num,
int  mfcc_dim
 

Generate table for DCT operation to make mfcc from fbank.

引数:
fbank_num [in] number of filer banks
mfcc_dim [in] number of dimensions in MFCC

wav2mfcc-buffer.c138 行で定義されています。

参照元 InitFBank().

void make_sintbl_wcep int  lifter,
int  mfcc_dim
 

Generate table for weighing cepstrum.

引数:
lifter [in] cepstral liftering coefficient
mfcc_dim [in] number of dimensions in MFCC

wav2mfcc-buffer.c176 行で定義されています。

参照元 InitFBank().

int Wav2MFCC SP16 wave,
float **  mfcc,
Value  para,
int  nSamples,
float *  ssbuf,
int  ssbuflen
 

Convert wave data to MFCC. Also does spectral subtraction if ssbuf specified.

引数:
wave [in] waveform data
mfcc [out] buffer to store the resulting MFCC parameter vector [t][0..veclen-1], should be already allocated
para [in] configuration parameters
nSamples [in] length of waveform data
ssbuf [in] buffer that holds noise spectrum to be subtracted from input, or NULL if not use spectral subtraction
ssbuflen [in] length of above, ignored when ssbuf is NULL
戻り値:
the number of processed frames.

wav2mfcc-buffer.c217 行で定義されています。

参照元 new_wav2mfcc().

float CalcLogRawE float *  wave,
int  framesize
 

Calculate Log Raw Energy.

引数:
wave [in] waveform data in the current frame
framesize [in] frame size
戻り値:
the calculated log raw energy.

wav2mfcc-buffer.c316 行で定義されています。

参照元 Wav2MFCC(), と WMP_calc().

void ZMeanFrame float *  wave,
int  framesize
 

Remove DC offset per frame

引数:
wave [i/o] waveform data in the current frame
framesize [in] frame size

wav2mfcc-buffer.c337 行で定義されています。

参照元 Wav2MFCC(), と WMP_calc().

void Hamming float *  wave,
int  framesize
 

Apply hamming window.

引数:
wave [i/o] waveform data in the current frame
framesize [in] frame size

wav2mfcc-buffer.c354 行で定義されています。

参照元 new_SS_calculate(), Wav2MFCC(), と WMP_calc().

void PreEmphasise float *  wave,
Value  para
 

Apply pre-emphasis filter.

引数:
wave [i/o] waveform data in the current frame
para [in] configuration parameters

wav2mfcc-buffer.c374 行で定義されています。

参照元 new_SS_calculate(), Wav2MFCC(), と WMP_calc().

void WeightCepstrum float *  mfcc,
Value  para
 

Re-scale cepstral coefficients.

引数:
mfcc [i/o] a MFCC vector
para [in] configuration parameters

wav2mfcc-buffer.c389 行で定義されています。

参照元 Wav2MFCC(), と WMP_calc().

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)"
戻り値:
the mel frequency.

wav2mfcc-buffer.c423 行で定義されています。

参照元 InitFBank().

FBankInfo InitFBank Value  para  ) 
 

Build filterbank information and generate tables for MFCC comptutation.

引数:
para [in] configuration parameters
戻り値:
the generated filterbank information.

wav2mfcc-buffer.c435 行で定義されています。

参照元 Wav2MFCC(), と WMP_init().

void FreeFBank FBankInfo  fb  ) 
 

Free FBankInfo.

引数:
fb [in] filterbank information

wav2mfcc-buffer.c529 行で定義されています。

参照元 Wav2MFCC().

void MakeFBank float *  wave,
double *  fbank,
FBankInfo  fb,
Value  para,
float *  ssbuf
 

Convert wave -> (spectral subtraction) -> mel-frequency filterbank

引数:
wave [in] waveform data in the current frame
fbank [out] the resulting mel-frequency filterbank
fb [in] filterbank information
para [in] configuration parameters
ssbuf [in] noise spectrum, or NULL if not apply subtraction

wav2mfcc-buffer.c547 行で定義されています。

参照元 Wav2MFCC(), と WMP_calc().

void MakeMFCC double *  fbank,
float *  mfcc,
Value  para
 

Apply DCT to filterbank to make MFCC.

引数:
fbank [in] filterbank
mfcc [out] output MFCC vector
para [in] configuration parameters

wav2mfcc-buffer.c607 行で定義されています。

参照元 Wav2MFCC(), と WMP_calc().

float CalcC0 double *  fbank,
Value  para
 

Calculate 0'th cepstral coefficient.

引数:
fbank [in] filterbank
para [in] configuration parameters
戻り値:

wav2mfcc-buffer.c644 行で定義されています。

参照元 Wav2MFCC(), と WMP_calc().

void NormaliseLogE float **  mfcc,
int  frame_num,
Value  para
 

Normalise log energy

引数:
mfcc [i/o] array of MFCC vectors
frame_num [in] number of frames
para [in] configuration parameters

wav2mfcc-buffer.c663 行で定義されています。

参照元 Wav2MFCC().

void Delta float **  c,
int  frame,
Value  para
 

Calculate delta coefficients

引数:
c [i/o] MFCC vectors, in which the delta coeff. will be appended.
frame [in] number of frames
para [in] configuration parameters

wav2mfcc-buffer.c695 行で定義されています。

参照元 Wav2MFCC().

void Accel float **  c,
int  frame,
Value  para
 

Calculate acceleration coefficients.

引数:
c [i/o] MFCC vectors, in which the delta coeff. will be appended.
frame [in] number of frames
para [in] configuration parameters

wav2mfcc-buffer.c744 行で定義されています。

参照元 Wav2MFCC().

void FFT float *  xRe,
float *  xIm,
int  p
 

Apply FFT

引数:
xRe [i/o] real part of waveform
xIm [i/o] imaginal part of waveform
p [in] 2^p = FFT point

wav2mfcc-buffer.c782 行で定義されています。

参照元 MakeFBank(), と new_SS_calculate().

void CMN float **  mfcc,
int  frame_num,
int  dim
 

Cepstrum Mean Normalization (buffered) Cepstral mean will be computed within the given MFCC vectors.

引数:
mfcc [i/o] array of MFCC vectors
frame_num [in] number of frames
dim [in] total dimension of MFCC vectors

wav2mfcc-buffer.c835 行で定義されています。

参照元 Wav2MFCC().


Juliusに対してTue Mar 28 16:07:06 2006に生成されました。  doxygen 1.4.2