From 94de39dde2e616a01683c518023d0fab72b4e103 Mon Sep 17 00:00:00 2001
From: 游雁 <zhifu.gzf@alibaba-inc.com>
Date: 星期一, 19 二月 2024 22:21:50 +0800
Subject: [PATCH] aishell example

---
 runtime/onnxruntime/src/paraformer-online.cpp |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/runtime/onnxruntime/src/paraformer-online.cpp b/runtime/onnxruntime/src/paraformer-online.cpp
index ed7a35a..55a4fd1 100644
--- a/runtime/onnxruntime/src/paraformer-online.cpp
+++ b/runtime/onnxruntime/src/paraformer-online.cpp
@@ -61,7 +61,11 @@
     for(int i=0; i<fsmn_lorder*fsmn_dims; i++){
         fsmn_init_cache_.emplace_back(0);
     }
-    chunk_len = chunk_size[1]*frame_shift*lfr_n*MODEL_SAMPLE_RATE/1000;
+    chunk_len = chunk_size[1]*frame_shift*lfr_n*para_handle_->asr_sample_rate/1000;
+
+    frame_sample_length_ = para_handle_->asr_sample_rate / 1000 * frame_length;
+    frame_shift_sample_length_ = para_handle_->asr_sample_rate / 1000 * frame_shift;
+
 }
 
 void ParaformerOnline::FbankKaldi(float sample_rate, std::vector<std::vector<float>> &wav_feats,
@@ -164,6 +168,7 @@
                     p.insert(p.end(), wav_feats[wav_feats.size() - 1].begin(), wav_feats[wav_feats.size() - 1].end());
                 }
                 out_feats.emplace_back(p);
+                p.clear();
             } else {
                 lfr_splice_frame_idxs = i;
                 break;
@@ -469,7 +474,7 @@
     return result;
 }
 
-string ParaformerOnline::Forward(float* din, int len, bool input_finished, const std::vector<std::vector<float>> &hw_emb)
+string ParaformerOnline::Forward(float* din, int len, bool input_finished, const std::vector<std::vector<float>> &hw_emb, void* wfst_decoder)
 {
     std::vector<std::vector<float>> wav_feats;
     std::vector<float> waves(din, din+len);
@@ -488,7 +493,7 @@
         if(is_first_chunk){
             is_first_chunk = false;
         }
-        ExtractFeats(MODEL_SAMPLE_RATE, wav_feats, waves, input_finished);
+        ExtractFeats(para_handle_->asr_sample_rate, wav_feats, waves, input_finished);
         if(wav_feats.size() == 0){
             return result;
         }

--
Gitblit v1.9.1