Yabin Li
2023-09-01 ae8b4dfa338111f8b8a70ccfc4ef5615a82cbd09
funasr/runtime/onnxruntime/src/audio.cpp
@@ -980,6 +980,23 @@
    }
}
int Audio::Fetch(float *&dout, int &len, int &flag, float &start_time)
{
    if (frame_queue.size() > 0) {
        AudioFrame *frame = frame_queue.front();
        frame_queue.pop();
        start_time = (float)(frame->GetStart())/MODEL_SAMPLE_RATE;
        dout = speech_data + frame->GetStart();
        len = frame->GetLen();
        delete frame;
        flag = S_END;
        return 1;
    } else {
        return 0;
    }
}
void Audio::Padding()
{
    float num_samples = speech_len;
@@ -1146,8 +1163,8 @@
            }else if(speech_end_i != -1){ // [-1,100]
                if(speech_start == -1 or speech_offline_start == -1){
                    LOG(ERROR) <<"Vad start is null while vad end is available." ;
                    exit(-1);
                    LOG(ERROR) <<"Vad start is null while vad end is available. Set vad start 0" ;
                    speech_start = 0;
                }
                int start = speech_start*seg_sample;