From db5205054211f269ad76e57a8c118164c360a972 Mon Sep 17 00:00:00 2001
From: 雾聪 <wucong.lyb@alibaba-inc.com>
Date: 星期三, 09 八月 2023 15:45:39 +0800
Subject: [PATCH] fix extract features
---
funasr/runtime/onnxruntime/src/paraformer-online.cpp | 14 +++++++++-----
funasr/runtime/onnxruntime/src/fsmn-vad-online.cpp | 11 +++++++++--
2 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/funasr/runtime/onnxruntime/src/fsmn-vad-online.cpp b/funasr/runtime/onnxruntime/src/fsmn-vad-online.cpp
index e16a1fc..58bda62 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,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;
diff --git a/funasr/runtime/onnxruntime/src/paraformer-online.cpp b/funasr/runtime/onnxruntime/src/paraformer-online.cpp
index 1787f02..267d30a 100644
--- a/funasr/runtime/onnxruntime/src/paraformer-online.cpp
+++ b/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){
--
Gitblit v1.9.1