Skip to content

Commit 9d816fe

Browse files
author
LittleMouse
committed
[update] ensure that a frame is written
1 parent 9a14d45 commit 9d816fe

File tree

4 files changed

+12
-5
lines changed

4 files changed

+12
-5
lines changed

projects/llm_framework/main_asr/src/main.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ class llm_task {
5858
std::atomic_bool audio_flage_;
5959
std::atomic_bool awake_flage_;
6060
int awake_delay_ = 50;
61-
int delay_audio_frame_ = 11;
61+
int delay_audio_frame_ = 10;
6262
buffer_t *pcmdata;
6363

6464
std::function<void(void)> pause;
@@ -187,6 +187,7 @@ class llm_task {
187187
count++;
188188
return;
189189
}
190+
buffer_write_char(pcmdata, raw.data(), raw.length());
190191
buffer_position_set(pcmdata, 0);
191192

192193
std::vector<float> floatSamples;
@@ -523,6 +524,7 @@ class llm_asr : public StackFlow {
523524
});
524525
llm_task_obj->audio_flage_ = true;
525526
} else if (input.find("asr") != std::string::npos) {
527+
llm_task_obj->delay_audio_frame_ = 0;
526528
llm_channel->subscriber_work_id(
527529
"", std::bind(&llm_asr::task_user_data, this, std::weak_ptr<llm_task>(llm_task_obj),
528530
std::weak_ptr<llm_channel_obj>(llm_channel), std::placeholders::_1,

projects/llm_framework/main_kws/src/main.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ class llm_task {
5959
bool enwake_audio_;
6060
std::atomic_bool audio_flage_;
6161
task_callback_t out_callback_;
62-
int delay_audio_frame_ = 11;
62+
int delay_audio_frame_ = 10;
6363
buffer_t *pcmdata;
6464
std::string wake_wav_file_;
6565

@@ -233,6 +233,7 @@ class llm_task {
233233
count++;
234234
return;
235235
}
236+
buffer_write_char(pcmdata, raw.data(), raw.length());
236237
buffer_position_set(pcmdata, 0);
237238

238239
std::vector<float> floatSamples;
@@ -529,6 +530,7 @@ class llm_kws : public StackFlow {
529530
});
530531
llm_task_obj->audio_flage_ = true;
531532
} else if (input.find("kws") != std::string::npos) {
533+
llm_task_obj->delay_audio_frame_ = 0;
532534
llm_channel->subscriber_work_id(
533535
"", std::bind(&llm_kws::task_user_data, this, std::weak_ptr<llm_task>(llm_task_obj),
534536
std::weak_ptr<llm_channel_obj>(llm_channel), std::placeholders::_1,

projects/llm_framework/main_vad/src/main.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class llm_task {
6060
std::string superior_id_;
6161
task_callback_t out_callback_;
6262
int awake_delay_ = 50;
63-
int delay_audio_frame_ = 4;
63+
int delay_audio_frame_ = 3;
6464
buffer_t *pcmdata;
6565
std::string wake_wav_file_;
6666

@@ -158,6 +158,7 @@ class llm_task {
158158
count++;
159159
return;
160160
}
161+
buffer_write_char(pcmdata, raw.c_str(), raw.length());
161162
buffer_position_set(pcmdata, 0);
162163

163164
std::vector<float> floatSamples;
@@ -430,6 +431,7 @@ class llm_vad : public StackFlow {
430431
});
431432
llm_task_obj->audio_flage_ = true;
432433
} else if (input.find("vad") != std::string::npos) {
434+
llm_task_obj->delay_audio_frame_ = 0;
433435
llm_channel->subscriber_work_id(
434436
"", std::bind(&llm_vad::task_user_data, this, std::weak_ptr<llm_task>(llm_task_obj),
435437
std::weak_ptr<llm_channel_obj>(llm_channel), std::placeholders::_1,

projects/llm_framework/main_whisper/src/main.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ class llm_task {
9999
static int ax_init_flage_;
100100
task_callback_t out_callback_;
101101
int awake_delay_ = 50;
102-
int delay_audio_frame_ = 3001;
102+
int delay_audio_frame_ = 3000;
103103
buffer_t *pcmdata;
104104

105105
std::function<void(void)> pause;
@@ -343,6 +343,7 @@ class llm_task {
343343
count++;
344344
if (endpoint_flage_) return;
345345
}
346+
buffer_write_char(pcmdata, raw.data(), raw.length());
346347
endpoint_flage_ = true;
347348

348349
buffer_position_set(pcmdata, 0);
@@ -851,7 +852,7 @@ class llm_whisper : public StackFlow {
851852
});
852853
llm_task_obj->audio_flage_ = true;
853854
} else if (input.find("whisper") != std::string::npos) {
854-
if (input.find("stream.base64") != std::string::npos) llm_task_obj->delay_audio_frame_ = 0;
855+
llm_task_obj->delay_audio_frame_ = 0;
855856
llm_channel->subscriber_work_id(
856857
"", std::bind(&llm_whisper::task_user_data, this, std::weak_ptr<llm_task>(llm_task_obj),
857858
std::weak_ptr<llm_channel_obj>(llm_channel), std::placeholders::_1,

0 commit comments

Comments
 (0)