| | |
| | | |
| | | /** |
| | | * Copyright FunASR (https://github.com/alibaba-damo-academy/FunASR). All Rights Reserved. |
| | | * MIT License (https://opensource.org/licenses/MIT) |
| | | */ |
| | | #pragma once |
| | | #include <vector> |
| | | #include "precomp.h" |
| | | |
| | | using namespace std; |
| | | |
| | | namespace funasr { |
| | | class OnlineFeature { |
| | | |
| | | public: |
| | |
| | | |
| | | void ExtractFeats(vector<vector<float>> &vad_feats, vector<float> waves, bool input_finished); |
| | | |
| | | |
| | | private: |
| | | void OnlineFbank(vector<vector<float>> &vad_feats, vector<float> &waves); |
| | | |
| | | int OnlineLfrCmvn(vector<vector<float>> &vad_feats); |
| | | |
| | | |
| | | 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 |
| | |
| | | bool input_finished_ = false; |
| | | |
| | | }; |
| | | |
| | | } // namespace funasr |