shixian.shi
2023-05-04 1988fe85f6d4e2d2f809e705e13d69d0b57bd0fc
funasr/runtime/onnxruntime/src/online-feature.h
@@ -1,3 +1,7 @@
/**
 * Copyright FunASR (https://github.com/alibaba-damo-academy/FunASR). All Rights Reserved.
 * MIT License  (https://opensource.org/licenses/MIT)
*/
#include <vector>
#include "precomp.h"
@@ -10,24 +14,21 @@
  OnlineFeature(int sample_rate, knf::FbankOptions fbank_opts, int lfr_m_, int lfr_n_,
                std::vector<std::vector<float>> cmvns_);
  void extractFeats(vector<vector<float>> &vad_feats, vector<float> waves, bool input_finished);
  void ExtractFeats(vector<vector<float>> &vad_feats, vector<float> waves, bool input_finished);
private:
  void onlineFbank(vector<vector<float>> &vad_feats, vector<float> &waves);
  void OnlineFbank(vector<vector<float>> &vad_feats, vector<float> &waves);
  int OnlineLfrCmvn(vector<vector<float>> &vad_feats);
  static int compute_frame_num(int sample_length, int frame_sample_length, int frame_shift_sample_length) {
  static int ComputeFrameNum(int sample_length, int frame_sample_length, int frame_shift_sample_length) {
    int frame_num = static_cast<int>((sample_length - frame_sample_length) / frame_shift_sample_length + 1);
    if (frame_num >= 1 && sample_length >= frame_sample_length)
      return frame_num;
    else
      return 0;
  }
  void reset_cache() {
  void ResetCache() {
    reserve_waveforms_.clear();
    input_cache_.clear();
    lfr_splice_cache_.clear();