Upgrade esp-sr to 2.0.2, improve performance

This commit is contained in:
Terrence
2025-03-22 06:09:12 +08:00
parent 023dd7fb27
commit 1619217bd9
12 changed files with 100 additions and 123 deletions

View File

@@ -484,13 +484,9 @@ void Application::Start() {
});
});
});
#endif
#if CONFIG_USE_WAKE_WORD_DETECT
wake_word_detect_.Initialize(codec->input_channels(), codec->input_reference());
wake_word_detect_.OnVadStateChange([this](bool speaking) {
Schedule([this, speaking]() {
if (device_state_ == kDeviceStateListening) {
audio_processor_.OnVadStateChange([this](bool speaking) {
if (device_state_ == kDeviceStateListening) {
Schedule([this, speaking]() {
if (speaking) {
voice_detected_ = true;
} else {
@@ -498,10 +494,13 @@ void Application::Start() {
}
auto led = Board::GetInstance().GetLed();
led->OnStateChanged();
}
});
});
}
});
#endif
#if CONFIG_USE_WAKE_WORD_DETECT
wake_word_detect_.Initialize(codec->input_channels(), codec->input_reference());
wake_word_detect_.OnWakeWordDetected([this](const std::string& wake_word) {
Schedule([this, &wake_word]() {
if (device_state_ == kDeviceStateIdle) {
@@ -528,9 +527,6 @@ void Application::Start() {
} else if (device_state_ == kDeviceStateActivating) {
SetDeviceState(kDeviceStateIdle);
}
// Resume detection
wake_word_detect_.StartDetection();
});
});
wake_word_detect_.StartDetection();
@@ -738,6 +734,9 @@ void Application::SetDeviceState(DeviceState state) {
display->SetEmotion("neutral");
#if CONFIG_USE_AUDIO_PROCESSOR
audio_processor_.Stop();
#endif
#if CONFIG_USE_WAKE_WORD_DETECT
wake_word_detect_.StartDetection();
#endif
break;
case kDeviceStateConnecting:
@@ -752,6 +751,9 @@ void Application::SetDeviceState(DeviceState state) {
opus_encoder_->ResetState();
#if CONFIG_USE_AUDIO_PROCESSOR
audio_processor_.Start();
#endif
#if CONFIG_USE_WAKE_WORD_DETECT
wake_word_detect_.StopDetection();
#endif
UpdateIotStates();
if (previous_state == kDeviceStateSpeaking) {
@@ -765,6 +767,9 @@ void Application::SetDeviceState(DeviceState state) {
codec->EnableOutput(true);
#if CONFIG_USE_AUDIO_PROCESSOR
audio_processor_.Stop();
#endif
#if CONFIG_USE_WAKE_WORD_DETECT
wake_word_detect_.StartDetection();
#endif
break;
default: