| | |
| | | */ |
| | | private: |
| | | Vocab* vocab = nullptr; |
| | | Vocab* lm_vocab = nullptr; |
| | | SegDict* seg_dict = nullptr; |
| | | PhoneSet* phone_set_ = nullptr; |
| | | //const float scale = 22.6274169979695; |
| | |
| | | void LoadConfigFromYaml(const char* filename); |
| | | void LoadOnlineConfigFromYaml(const char* filename); |
| | | void LoadCmvn(const char *filename); |
| | | vector<float> ApplyLfr(const vector<float> &in); |
| | | void ApplyCmvn(vector<float> *v); |
| | | void LfrCmvn(std::vector<std::vector<float>> &asr_feats); |
| | | |
| | | std::shared_ptr<Ort::Session> hw_m_session = nullptr; |
| | | Ort::Env hw_env_; |
| | |
| | | void InitSegDict(const std::string &seg_dict_model); |
| | | std::vector<std::vector<float>> CompileHotwordEmbedding(std::string &hotwords); |
| | | void Reset(); |
| | | vector<float> FbankKaldi(float sample_rate, const float* waves, int len); |
| | | void FbankKaldi(float sample_rate, const float* waves, int len, std::vector<std::vector<float>> &asr_feats); |
| | | string Forward(float* din, int len, bool input_finished=true, const std::vector<std::vector<float>> &hw_emb={{0.0}}, void* wfst_decoder=nullptr); |
| | | string GreedySearch( float* in, int n_len, int64_t token_nums, |
| | | bool is_stamp=false, std::vector<float> us_alphas={0}, std::vector<float> us_cif_peak={0}); |
| | | |
| | | string Rescoring(); |
| | | string GetLang(){return language;}; |
| | | |
| | | int GetAsrSampleRate() { return asr_sample_rate; }; |
| | | void StartUtterance(); |
| | | void EndUtterance(); |
| | | void InitLm(const std::string &lm_file, const std::string &lm_cfg_file); |
| | | void InitLm(const std::string &lm_file, const std::string &lm_cfg_file, const std::string &lex_file); |
| | | string BeamSearch(WfstDecoder* &wfst_decoder, float* in, int n_len, int64_t token_nums); |
| | | string FinalizeDecode(WfstDecoder* &wfst_decoder, |
| | | bool is_stamp=false, std::vector<float> us_alphas={0}, std::vector<float> us_cif_peak={0}); |
| | | Vocab* GetVocab(); |
| | | Vocab* GetLmVocab(); |
| | | PhoneSet* GetPhoneSet(); |
| | | |
| | | knf::FbankOptions fbank_opts_; |
| | |
| | | int fsmn_dims = 512; |
| | | float cif_threshold = 1.0; |
| | | float tail_alphas = 0.45; |
| | | |
| | | |
| | | int asr_sample_rate = MODEL_SAMPLE_RATE; |
| | | }; |
| | | |
| | | } // namespace funasr |