#ifndef VAD_MODEL_H #define VAD_MODEL_H #include #include #include namespace funasr { class VadModel { public: virtual ~VadModel(){}; virtual void InitVad(const std::string &vad_model, const std::string &vad_cmvn, const std::string &vad_config, int thread_num)=0; virtual std::vector> Infer(const std::vector &waves)=0; virtual void ReadModel(const char* vad_model)=0; virtual void LoadConfigFromYaml(const char* filename)=0; virtual void FbankKaldi(float sample_rate, std::vector> &vad_feats, const std::vector &waves)=0; virtual std::vector> &LfrCmvn(std::vector> &vad_feats)=0; virtual void Forward( const std::vector> &chunk_feats, std::vector> *out_prob)=0; virtual void LoadCmvn(const char *filename)=0; virtual void InitCache()=0; }; VadModel *CreateVadModel(std::map& model_path, int thread_num); } // namespace funasr #endif