From 33d3d2084403fd34b79c835d2f2fe04f6cd8f738 Mon Sep 17 00:00:00 2001
From: 游雁 <zhifu.gzf@alibaba-inc.com>
Date: 星期三, 13 九月 2023 09:33:54 +0800
Subject: [PATCH] Merge branch 'main' of github.com:alibaba-damo-academy/FunASR add

---
 funasr/runtime/onnxruntime/src/fsmn-vad-online.cpp |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/funasr/runtime/onnxruntime/src/fsmn-vad-online.cpp b/funasr/runtime/onnxruntime/src/fsmn-vad-online.cpp
index e16a1fc..b9cda4b 100644
--- a/funasr/runtime/onnxruntime/src/fsmn-vad-online.cpp
+++ b/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,18 @@
 
 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);
+    if(vad_probs.size() == 0){
+      return vad_segments;
+    }
 
-    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;

--
Gitblit v1.9.1