mirror of
https://github.com/m5stack/StackFlow.git
synced 2026-05-20 11:32:11 -07:00
[update] ensure that a frame is written
This commit is contained in:
@@ -58,7 +58,7 @@ public:
|
||||
std::atomic_bool audio_flage_;
|
||||
std::atomic_bool awake_flage_;
|
||||
int awake_delay_ = 50;
|
||||
int delay_audio_frame_ = 11;
|
||||
int delay_audio_frame_ = 10;
|
||||
buffer_t *pcmdata;
|
||||
|
||||
std::function<void(void)> pause;
|
||||
@@ -187,6 +187,7 @@ public:
|
||||
count++;
|
||||
return;
|
||||
}
|
||||
buffer_write_char(pcmdata, raw.data(), raw.length());
|
||||
buffer_position_set(pcmdata, 0);
|
||||
|
||||
std::vector<float> floatSamples;
|
||||
@@ -523,6 +524,7 @@ public:
|
||||
});
|
||||
llm_task_obj->audio_flage_ = true;
|
||||
} else if (input.find("asr") != std::string::npos) {
|
||||
llm_task_obj->delay_audio_frame_ = 0;
|
||||
llm_channel->subscriber_work_id(
|
||||
"", std::bind(&llm_asr::task_user_data, this, std::weak_ptr<llm_task>(llm_task_obj),
|
||||
std::weak_ptr<llm_channel_obj>(llm_channel), std::placeholders::_1,
|
||||
|
||||
@@ -59,7 +59,7 @@ public:
|
||||
bool enwake_audio_;
|
||||
std::atomic_bool audio_flage_;
|
||||
task_callback_t out_callback_;
|
||||
int delay_audio_frame_ = 11;
|
||||
int delay_audio_frame_ = 10;
|
||||
buffer_t *pcmdata;
|
||||
std::string wake_wav_file_;
|
||||
|
||||
@@ -233,6 +233,7 @@ public:
|
||||
count++;
|
||||
return;
|
||||
}
|
||||
buffer_write_char(pcmdata, raw.data(), raw.length());
|
||||
buffer_position_set(pcmdata, 0);
|
||||
|
||||
std::vector<float> floatSamples;
|
||||
@@ -529,6 +530,7 @@ public:
|
||||
});
|
||||
llm_task_obj->audio_flage_ = true;
|
||||
} else if (input.find("kws") != std::string::npos) {
|
||||
llm_task_obj->delay_audio_frame_ = 0;
|
||||
llm_channel->subscriber_work_id(
|
||||
"", std::bind(&llm_kws::task_user_data, this, std::weak_ptr<llm_task>(llm_task_obj),
|
||||
std::weak_ptr<llm_channel_obj>(llm_channel), std::placeholders::_1,
|
||||
|
||||
@@ -60,7 +60,7 @@ public:
|
||||
std::string superior_id_;
|
||||
task_callback_t out_callback_;
|
||||
int awake_delay_ = 50;
|
||||
int delay_audio_frame_ = 4;
|
||||
int delay_audio_frame_ = 3;
|
||||
buffer_t *pcmdata;
|
||||
std::string wake_wav_file_;
|
||||
|
||||
@@ -158,6 +158,7 @@ public:
|
||||
count++;
|
||||
return;
|
||||
}
|
||||
buffer_write_char(pcmdata, raw.c_str(), raw.length());
|
||||
buffer_position_set(pcmdata, 0);
|
||||
|
||||
std::vector<float> floatSamples;
|
||||
@@ -430,6 +431,7 @@ public:
|
||||
});
|
||||
llm_task_obj->audio_flage_ = true;
|
||||
} else if (input.find("vad") != std::string::npos) {
|
||||
llm_task_obj->delay_audio_frame_ = 0;
|
||||
llm_channel->subscriber_work_id(
|
||||
"", std::bind(&llm_vad::task_user_data, this, std::weak_ptr<llm_task>(llm_task_obj),
|
||||
std::weak_ptr<llm_channel_obj>(llm_channel), std::placeholders::_1,
|
||||
|
||||
@@ -99,7 +99,7 @@ public:
|
||||
static int ax_init_flage_;
|
||||
task_callback_t out_callback_;
|
||||
int awake_delay_ = 50;
|
||||
int delay_audio_frame_ = 3001;
|
||||
int delay_audio_frame_ = 3000;
|
||||
buffer_t *pcmdata;
|
||||
|
||||
std::function<void(void)> pause;
|
||||
@@ -343,6 +343,7 @@ public:
|
||||
count++;
|
||||
if (endpoint_flage_) return;
|
||||
}
|
||||
buffer_write_char(pcmdata, raw.data(), raw.length());
|
||||
endpoint_flage_ = true;
|
||||
|
||||
buffer_position_set(pcmdata, 0);
|
||||
@@ -851,7 +852,7 @@ public:
|
||||
});
|
||||
llm_task_obj->audio_flage_ = true;
|
||||
} else if (input.find("whisper") != std::string::npos) {
|
||||
if (input.find("stream.base64") != std::string::npos) llm_task_obj->delay_audio_frame_ = 0;
|
||||
llm_task_obj->delay_audio_frame_ = 0;
|
||||
llm_channel->subscriber_work_id(
|
||||
"", std::bind(&llm_whisper::task_user_data, this, std::weak_ptr<llm_task>(llm_task_obj),
|
||||
std::weak_ptr<llm_channel_obj>(llm_channel), std::placeholders::_1,
|
||||
|
||||
Reference in New Issue
Block a user