雾聪
2023-08-09 db5205054211f269ad76e57a8c118164c360a972
fix extract features
2个文件已修改
25 ■■■■ 已修改文件
funasr/runtime/onnxruntime/src/fsmn-vad-online.cpp 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
funasr/runtime/onnxruntime/src/paraformer-online.cpp 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
funasr/runtime/onnxruntime/src/fsmn-vad-online.cpp
@@ -74,7 +74,11 @@
        waves = reserve_waveforms_;
      }
      vad_feats = lfr_splice_cache_;
      OnlineLfrCmvn(vad_feats, input_finished);
      if(vad_feats.size() == 0){
        LOG(ERROR) << "vad_feats's size is 0";
      }else{
        OnlineLfrCmvn(vad_feats, input_finished);
      }
    }
  }
  if(input_finished){
@@ -128,12 +132,15 @@
std::vector<std::vector<int>>
FsmnVadOnline::Infer(std::vector<float> &waves, bool input_finished) {
    std::vector<std::vector<int>> vad_segments;
    std::vector<std::vector<float>> vad_feats;
    std::vector<std::vector<float>> vad_probs;
    ExtractFeats(vad_sample_rate_, vad_feats, waves, input_finished);
    if(vad_feats.size() == 0){
      return vad_segments;
    }
    fsmnvad_handle_->Forward(vad_feats, &vad_probs, &in_cache_, input_finished);
    std::vector<std::vector<int>> vad_segments;
    vad_segments = vad_scorer(vad_probs, waves, input_finished, true, vad_silence_duration_, vad_max_len_,
                              vad_speech_noise_thres_, vad_sample_rate_);
    return vad_segments;
funasr/runtime/onnxruntime/src/paraformer-online.cpp
@@ -125,11 +125,15 @@
        }
    } else {
        if (input_finished) {
        if (!reserve_waveforms_.empty()) {
            waves = reserve_waveforms_;
        }
        wav_feats = lfr_splice_cache_;
        OnlineLfrCmvn(wav_feats, input_finished);
            if (!reserve_waveforms_.empty()) {
                waves = reserve_waveforms_;
            }
            wav_feats = lfr_splice_cache_;
            if(wav_feats.size() == 0){
                LOG(ERROR) << "wav_feats's size is 0";
            }else{
                OnlineLfrCmvn(wav_feats, input_finished);
            }
        }
    }
    if(input_finished){