mirror of
https://github.com/modelscope/FunASR
synced 2025-09-15 14:48:36 +08:00
fix fbank input
This commit is contained in:
parent
8706e767af
commit
d29ed02c56
@ -11,15 +11,11 @@ class VadModel {
|
||||
public:
|
||||
virtual ~VadModel(){};
|
||||
virtual void InitVad(const std::string &vad_model, const std::string &vad_cmvn, const std::string &vad_config, int thread_num)=0;
|
||||
virtual std::vector<std::vector<int>> Infer(const std::vector<float> &waves)=0;
|
||||
virtual std::vector<std::vector<int>> Infer(std::vector<float> &waves, bool input_finished=true)=0;
|
||||
virtual void ReadModel(const char* vad_model)=0;
|
||||
virtual void LoadConfigFromYaml(const char* filename)=0;
|
||||
virtual void FbankKaldi(float sample_rate, std::vector<std::vector<float>> &vad_feats,
|
||||
const std::vector<float> &waves)=0;
|
||||
virtual void LfrCmvn(std::vector<std::vector<float>> &vad_feats)=0;
|
||||
virtual void Forward(
|
||||
const std::vector<std::vector<float>> &chunk_feats,
|
||||
std::vector<std::vector<float>> *out_prob)=0;
|
||||
std::vector<float> &waves)=0;
|
||||
virtual void LoadCmvn(const char *filename)=0;
|
||||
virtual void InitCache()=0;
|
||||
};
|
||||
|
||||
@ -21,7 +21,7 @@ public:
|
||||
~FsmnVad();
|
||||
void Test();
|
||||
void InitVad(const std::string &vad_model, const std::string &vad_cmvn, const std::string &vad_config, int thread_num);
|
||||
std::vector<std::vector<int>> Infer(const std::vector<float> &waves);
|
||||
std::vector<std::vector<int>> Infer(std::vector<float> &waves, bool input_finished=true);
|
||||
void Reset();
|
||||
|
||||
private:
|
||||
@ -34,7 +34,7 @@ private:
|
||||
std::vector<const char *> *in_names, std::vector<const char *> *out_names);
|
||||
|
||||
void FbankKaldi(float sample_rate, std::vector<std::vector<float>> &vad_feats,
|
||||
const std::vector<float> &waves);
|
||||
std::vector<float> &waves);
|
||||
|
||||
void LfrCmvn(std::vector<std::vector<float>> &vad_feats);
|
||||
|
||||
|
||||
@ -69,7 +69,11 @@ void Paraformer::Reset()
|
||||
|
||||
vector<float> Paraformer::FbankKaldi(float sample_rate, const float* waves, int len) {
|
||||
knf::OnlineFbank fbank_(fbank_opts);
|
||||
fbank_.AcceptWaveform(sample_rate, waves, len);
|
||||
std::vector<float> buf(len);
|
||||
for (int32_t i = 0; i != len; ++i) {
|
||||
buf[i] = waves[i] * 32768;
|
||||
}
|
||||
fbank_.AcceptWaveform(sample_rate, buf.data(), buf.size());
|
||||
//fbank_->InputFinished();
|
||||
int32_t frames = fbank_.NumFramesReady();
|
||||
int32_t feature_dim = fbank_opts.mel_opts.num_bins;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user