mirror of
https://github.com/modelscope/FunASR
synced 2025-09-15 14:48:36 +08:00
fix fsmn-vad
This commit is contained in:
parent
de6979c31d
commit
beceb14fec
@ -279,12 +279,15 @@ std::vector<std::vector<int>>
|
||||
FsmnVad::Infer(std::vector<float> &waves, bool input_finished) {
|
||||
std::vector<std::vector<float>> vad_feats;
|
||||
std::vector<std::vector<float>> vad_probs;
|
||||
std::vector<std::vector<int>> vad_segments;
|
||||
FbankKaldi(vad_sample_rate_, vad_feats, waves);
|
||||
if(vad_feats.size() == 0){
|
||||
return vad_segments;
|
||||
}
|
||||
LfrCmvn(vad_feats);
|
||||
Forward(vad_feats, &vad_probs, &in_cache_, input_finished);
|
||||
|
||||
E2EVadModel vad_scorer = E2EVadModel();
|
||||
std::vector<std::vector<int>> vad_segments;
|
||||
vad_segments = vad_scorer(vad_probs, waves, true, false, vad_silence_duration_, vad_max_len_,
|
||||
vad_speech_noise_thres_, vad_sample_rate_);
|
||||
return vad_segments;
|
||||
|
||||
@ -224,12 +224,18 @@ extern "C" {
|
||||
return nullptr;
|
||||
|
||||
funasr::Audio audio(1);
|
||||
if(wav_format == "pcm" || wav_format == "PCM"){
|
||||
if (!audio.LoadPcmwav(sz_buf, n_len, &sampling_rate))
|
||||
return nullptr;
|
||||
}else{
|
||||
if (!audio.FfmpegLoad(sz_buf, n_len))
|
||||
return nullptr;
|
||||
try{
|
||||
if(wav_format == "pcm" || wav_format == "PCM"){
|
||||
if (!audio.LoadPcmwav(sz_buf, n_len, &sampling_rate))
|
||||
return nullptr;
|
||||
}else{
|
||||
if (!audio.FfmpegLoad(sz_buf, n_len))
|
||||
return nullptr;
|
||||
}
|
||||
}catch (std::exception const &e)
|
||||
{
|
||||
LOG(ERROR)<<e.what();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
funasr::FUNASR_RECOG_RESULT* p_result = new funasr::FUNASR_RECOG_RESULT;
|
||||
@ -288,17 +294,24 @@ extern "C" {
|
||||
return nullptr;
|
||||
|
||||
funasr::Audio audio(1);
|
||||
if(funasr::is_target_file(sz_filename, "wav")){
|
||||
int32_t sampling_rate_ = -1;
|
||||
if(!audio.LoadWav(sz_filename, &sampling_rate_))
|
||||
return nullptr;
|
||||
}else if(funasr::is_target_file(sz_filename, "pcm")){
|
||||
if (!audio.LoadPcmwav(sz_filename, &sampling_rate))
|
||||
return nullptr;
|
||||
}else{
|
||||
if (!audio.FfmpegLoad(sz_filename))
|
||||
return nullptr;
|
||||
try{
|
||||
if(funasr::is_target_file(sz_filename, "wav")){
|
||||
int32_t sampling_rate_ = -1;
|
||||
if(!audio.LoadWav(sz_filename, &sampling_rate_))
|
||||
return nullptr;
|
||||
}else if(funasr::is_target_file(sz_filename, "pcm")){
|
||||
if (!audio.LoadPcmwav(sz_filename, &sampling_rate))
|
||||
return nullptr;
|
||||
}else{
|
||||
if (!audio.FfmpegLoad(sz_filename))
|
||||
return nullptr;
|
||||
}
|
||||
}catch (std::exception const &e)
|
||||
{
|
||||
LOG(ERROR)<<e.what();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
funasr::FUNASR_RECOG_RESULT* p_result = new funasr::FUNASR_RECOG_RESULT;
|
||||
p_result->snippet_time = audio.GetTimeLen();
|
||||
if(p_result->snippet_time == 0){
|
||||
|
||||
Loading…
Reference in New Issue
Block a user