lyblsgo
2023-05-10 0f0dccd75803fd4f2c1fca533e10779adf8c460c
modify fsmn-vad
4个文件已修改
19 ■■■■■ 已修改文件
funasr/runtime/onnxruntime/include/vad-model.h 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
funasr/runtime/onnxruntime/src/fsmn-vad.cpp 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
funasr/runtime/onnxruntime/src/fsmn-vad.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
funasr/runtime/onnxruntime/src/vad-model.cpp 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
funasr/runtime/onnxruntime/include/vad-model.h
@@ -16,7 +16,7 @@
    virtual void LoadConfigFromYaml(const char* filename)=0;
    virtual void FbankKaldi(float sample_rate, std::vector<std::vector<float>> &vad_feats,
                    const std::vector<float> &waves)=0;
    virtual std::vector<std::vector<float>> &LfrCmvn(std::vector<std::vector<float>> &vad_feats)=0;
    virtual void LfrCmvn(std::vector<std::vector<float>> &vad_feats)=0;
    virtual void Forward(
            const std::vector<std::vector<float>> &chunk_feats,
            std::vector<std::vector<float>> *out_prob)=0;
@@ -24,6 +24,6 @@
    virtual void InitCache()=0;
};
VadModel *CreateVadModel(std::map<std::string, std::string>& model_path, int thread_num);
VadModel *CreateVadModel(std::map<std::string, std::string>& model_path, int thread_num, int mode);
} // namespace funasr
#endif
funasr/runtime/onnxruntime/src/fsmn-vad.cpp
@@ -225,7 +225,7 @@
    }
}
std::vector<std::vector<float>> &FsmnVad::LfrCmvn(std::vector<std::vector<float>> &vad_feats) {
void FsmnVad::LfrCmvn(std::vector<std::vector<float>> &vad_feats) {
    std::vector<std::vector<float>> out_feats;
    int T = vad_feats.size();
@@ -264,7 +264,6 @@
        }
    }
    vad_feats = out_feats;
    return vad_feats;
}
std::vector<std::vector<int>>
@@ -272,7 +271,7 @@
    std::vector<std::vector<float>> vad_feats;
    std::vector<std::vector<float>> vad_probs;
    FbankKaldi(vad_sample_rate_, vad_feats, waves);
    vad_feats = LfrCmvn(vad_feats);
    LfrCmvn(vad_feats);
    Forward(vad_feats, &vad_probs);
    E2EVadModel vad_scorer = E2EVadModel();
funasr/runtime/onnxruntime/src/fsmn-vad.h
@@ -36,7 +36,7 @@
    void FbankKaldi(float sample_rate, std::vector<std::vector<float>> &vad_feats,
                    const std::vector<float> &waves);
    std::vector<std::vector<float>> &LfrCmvn(std::vector<std::vector<float>> &vad_feats);
    void LfrCmvn(std::vector<std::vector<float>> &vad_feats);
    void Forward(
            const std::vector<std::vector<float>> &chunk_feats,
funasr/runtime/onnxruntime/src/vad-model.cpp
@@ -1,10 +1,14 @@
#include "precomp.h"
namespace funasr {
VadModel *CreateVadModel(std::map<std::string, std::string>& model_path, int thread_num)
VadModel *CreateVadModel(std::map<std::string, std::string>& model_path, int thread_num, int mode)
{
    VadModel *mm;
    mm = new FsmnVad();
    if(mode == FSMN_VAD_OFFLINE){
        mm = new FsmnVad();
    }else{
        LOG(ERROR)<<"Online fsmn vad not imp!";
    }
    string vad_model_path;
    string vad_cmvn_path;