#include <sent/stddefs.h>
#include <sent/mfcc.h>
関数 | |
DeltaBuf * | WMP_deltabuf_new (int veclen, int windowlen) |
Allocate a new delta cycle buffer. | |
void | WMP_deltabuf_free (DeltaBuf *db) |
Destroy the delta cycle buffer. | |
void | WMP_deltabuf_prepare (DeltaBuf *db) |
Reset and clear the delta cycle buffer. | |
static void | WMP_deltabuf_calc (DeltaBuf *db, int cur) |
Calculate delta coefficients of the specified point in the cycle buffer. | |
boolean | WMP_deltabuf_proceed (DeltaBuf *db, float *new_mfcc) |
Store the given MFCC vector into the delta cycle buffer, and compute the latest delta coefficients. | |
boolean | WMP_deltabuf_flush (DeltaBuf *db) |
Flush the delta cycle buffer the delta coefficients left in the cycle buffer. | |
CMNWork * | CMN_realtime_new (int dimension, float weight) |
Initialize MAP-CMN at startup. | |
void | CMN_realtime_free (CMNWork *c) |
Free work area for real-time CMN. | |
void | CMN_realtime_prepare (CMNWork *c) |
Prepare for MAP-CMN at start of each input | |
void | CMN_realtime (CMNWork *c, float *mfcc) |
Perform MAP-CMN for incoming MFCC vectors | |
void | CMN_realtime_update (CMNWork *c) |
Update initial cepstral mean from previous utterances for next input. | |
static boolean | myread (void *buf, size_t unitbyte, int unitnum, FILE *fp) |
Read binary with byte swap (assume file is Big Endian) | |
static boolean | mywrite (void *buf, size_t unitbyte, size_t unitnum, int fd) |
Write binary with byte swap (assume data is Big Endian) | |
boolean | CMN_load_from_file (CMNWork *c, char *filename) |
Load CMN parameter from file. | |
boolean | CMN_save_to_file (CMNWork *c, char *filename) |
Save the current CMN vector to a file. | |
void | energy_max_init (ENERGYWork *energy) |
Initialize work area for energy normalization on live input. | |
void | energy_max_prepare (ENERGYWork *energy, Value *para) |
Prepare values for energy normalization on live input. | |
LOGPROB | energy_max_normalize (ENERGYWork *energy, LOGPROB f, Value *para) |
Peform energy normalization using maximum of last input. |
ここでは wav2mfcc.c の関数をフレーム同期に処理するために変換した 関数が納められています.認識処理を音声入力と平行して行う場合,こちらの 関数が用いられます.
wav2mfcc-pipe.c で定義されています。
DeltaBuf* WMP_deltabuf_new | ( | int | veclen, | |
int | windowlen | |||
) |
Allocate a new delta cycle buffer.
veclen | [in] length of a vector | |
windowlen | [in] window width for computing delta |
wav2mfcc-pipe.c の 59 行で定義されています。
参照元 RealTimeInit().
void WMP_deltabuf_free | ( | DeltaBuf * | db | ) |
Destroy the delta cycle buffer.
db | [i/o] delta cycle buffer |
wav2mfcc-pipe.c の 86 行で定義されています。
参照元 j_mfcccalc_free().
void WMP_deltabuf_prepare | ( | DeltaBuf * | db | ) |
Reset and clear the delta cycle buffer.
db | [i/o] delta cycle buffer |
wav2mfcc-pipe.c の 104 行で定義されています。
参照元 reset_mfcc().
static void WMP_deltabuf_calc | ( | DeltaBuf * | db, | |
int | cur | |||
) | [static] |
Calculate delta coefficients of the specified point in the cycle buffer.
db | [i/o] delta cycle buffer | |
cur | [in] target point to calculate the delta coefficients |
wav2mfcc-pipe.c の 120 行で定義されています。
boolean WMP_deltabuf_proceed | ( | DeltaBuf * | db, | |
float * | new_mfcc | |||
) |
Store the given MFCC vector into the delta cycle buffer, and compute the latest delta coefficients.
db | [i/o] delta cycle buffer | |
new_mfcc | [in] MFCC vector |
wav2mfcc-pipe.c の 163 行で定義されています。
参照元 RealTimeMFCC(), と RealTimeParam().
boolean WMP_deltabuf_flush | ( | DeltaBuf * | db | ) |
Flush the delta cycle buffer the delta coefficients left in the cycle buffer.
db | [i/o] delta cycle buffer |
wav2mfcc-pipe.c の 205 行で定義されています。
参照元 RealTimeParam().
CMNWork* CMN_realtime_new | ( | int | dimension, | |
float | weight | |||
) |
Initialize MAP-CMN at startup.
dimension | [in] vector dimension | |
weight | [in] initial cepstral mean weight |
wav2mfcc-pipe.c の 246 行で定義されています。
参照元 RealTimeInit().
void CMN_realtime_free | ( | CMNWork * | c | ) |
Free work area for real-time CMN.
c | [i/o] CMN calculation work area |
wav2mfcc-pipe.c の 279 行で定義されています。
参照元 j_mfcccalc_free().
void CMN_realtime_prepare | ( | CMNWork * | c | ) |
Prepare for MAP-CMN at start of each input
c | [i/o] CMN calculation work area |
wav2mfcc-pipe.c の 298 行で定義されています。
void CMN_realtime | ( | CMNWork * | c, | |
float * | mfcc | |||
) |
Perform MAP-CMN for incoming MFCC vectors
c | [i/o] CMN calculation work area | |
mfcc | [in] MFCC vector |
wav2mfcc-pipe.c の 314 行で定義されています。
参照元 RealTimeMFCC(), と RealTimeParam().
void CMN_realtime_update | ( | CMNWork * | c | ) |
Update initial cepstral mean from previous utterances for next input.
c | [i/o] CMN calculation work area |
wav2mfcc-pipe.c の 343 行で定義されています。
参照元 RealTimeCMNUpdate().
static boolean myread | ( | void * | buf, | |
size_t | unitbyte, | |||
int | unitnum, | |||
FILE * | fp | |||
) | [static] |
Read binary with byte swap (assume file is Big Endian)
buf | [out] data buffer | |
unitbyte | [in] size of unit in bytes | |
unitnum | [in] number of units to be read | |
fp | [in] file pointer |
wav2mfcc-pipe.c の 397 行で定義されています。
static boolean mywrite | ( | void * | buf, | |
size_t | unitbyte, | |||
size_t | unitnum, | |||
int | fd | |||
) | [static] |
Write binary with byte swap (assume data is Big Endian)
buf | [in] data buffer | |
unitbyte | [in] size of unit in bytes | |
unitnum | [in] number of units to write | |
fd | [in] file descriptor |
wav2mfcc-pipe.c の 419 行で定義されています。
boolean CMN_load_from_file | ( | CMNWork * | c, | |
char * | filename | |||
) |
Load CMN parameter from file.
If the number of MFCC dimension in the file does not match the specified one, an error will occur.
c | [i/o] CMN calculation work area | |
filename | [in] file name |
wav2mfcc-pipe.c の 443 行で定義されています。
参照元 RealTimeInit().
boolean CMN_save_to_file | ( | CMNWork * | c, | |
char * | filename | |||
) |
Save the current CMN vector to a file.
c | [i/o] CMN calculation work area | |
filename | [in] filename to save the data. |
wav2mfcc-pipe.c の 491 行で定義されています。
参照元 RealTimeCMNUpdate().
void energy_max_init | ( | ENERGYWork * | energy | ) |
Initialize work area for energy normalization on live input.
This should be called once on startup.
energy | [in] energy normalization work area |
wav2mfcc-pipe.c の 533 行で定義されています。
参照元 RealTimeInit().
void energy_max_prepare | ( | ENERGYWork * | energy, | |
Value * | para | |||
) |
Prepare values for energy normalization on live input.
This should be called before each input segment.
energy | [in] energy normalization work area | |
para | [in] MFCC computation configuration parameter |
wav2mfcc-pipe.c の 546 行で定義されています。
参照元 reset_mfcc().
LOGPROB energy_max_normalize | ( | ENERGYWork * | energy, | |
LOGPROB | f, | |||
Value * | para | |||
) |
Peform energy normalization using maximum of last input.
energy | [in] energy normalization work area | |
f | [in] raw energy | |
para | [in] MFCC computation configuration parameter |
wav2mfcc-pipe.c の 563 行で定義されています。
参照元 RealTimeMFCC().