#ifndef NERV_kaldi_KALDI_IO_CWRAPPER #define NERV_kaldi_KALDI_IO_CWRAPPER #include "nerv/lib/matrix/mmatrix.h" #include "nerv/lib/common.h" #ifdef __cplusplus extern "C" { #endif typedef struct KaldiFeatureRepo KaldiFeatureRepo; KaldiFeatureRepo *kaldi_feature_repo_new(const char *); Matrix *kaldi_feature_repo_read_utterance(KaldiFeatureRepo *repo, lua_State *L, int debug, MContext *context); void kaldi_feature_repo_next(KaldiFeatureRepo *repo); int kaldi_feature_repo_is_end(KaldiFeatureRepo *repo); const char *kaldi_feature_repo_key(KaldiFeatureRepo *repo); void kaldi_feature_repo_destroy(KaldiFeatureRepo *repo); typedef struct KaldiLabelRepo KaldiLabelRepo; KaldiLabelRepo *kaldi_label_repo_new(const char *); Matrix *kaldi_label_repo_read_utterance(KaldiLabelRepo *repo, KaldiFeatureRepo *, int, lua_State *L, int debug, MContext *context); void kaldi_label_repo_destroy(KaldiLabelRepo *repo); typedef struct KaldiLookupFeatureRepo KaldiLookupFeatureRepo; KaldiLookupFeatureRepo *kaldi_lookup_feature_repo_new(const char *, const char *); Matrix *kaldi_lookup_feature_repo_read_utterance(KaldiLookupFeatureRepo *repo, KaldiFeatureRepo *frepo, int nframes, lua_State *L, int debug, MContext *context); void kaldi_lookup_feature_repo_destroy(KaldiLookupFeatureRepo *repo); #ifdef __cplusplus } #endif #endif