From e929c38fb6fc22e21837efe715508dd89f7cd303 Mon Sep 17 00:00:00 2001 From: Steven Dan Date: Wed, 25 Mar 2026 19:10:20 +0800 Subject: [PATCH] ai noise button support --- .../src/extensions/audiohw.xc | 7 +++++-- .../src/extensions/dnr/dnr_dsp_buf.c | 15 +++++++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/sw_usb_audio/app_usb_aud_phaten_golden_6ch/src/extensions/audiohw.xc b/sw_usb_audio/app_usb_aud_phaten_golden_6ch/src/extensions/audiohw.xc index db246d0..a6fe8e0 100644 --- a/sw_usb_audio/app_usb_aud_phaten_golden_6ch/src/extensions/audiohw.xc +++ b/sw_usb_audio/app_usb_aud_phaten_golden_6ch/src/extensions/audiohw.xc @@ -267,6 +267,7 @@ unsigned g_windows_detect_done = 0; extern unsigned g_host_os; // 1 -> Windows, 2 -> Others extern unsigned g_mute_on_off_t0; extern unsigned g_uac_vol; +extern void dnr_set_mode(unsigned char mode); extern void device_reboot(void); @@ -843,19 +844,21 @@ void button_task(chanend c_hidSendData, chanend cc_mic_level, chanend c_uac_vol) } } push_button_aidenoise_onoff_state_old = button_aidenoise_onoff; +#if DNR_ENABLE == 1 if(mode_change) if(flag_aidenoise_onoff) { led_on(&led_ctx, LED_ANC); + dnr_set_mode(1); } else { led_off(&led_ctx, LED_ANC); + dnr_set_mode(0); } //led_update_all(&led_ctx); - - +#endif mode_change = 0; diff --git a/sw_usb_audio/app_usb_aud_phaten_golden_6ch/src/extensions/dnr/dnr_dsp_buf.c b/sw_usb_audio/app_usb_aud_phaten_golden_6ch/src/extensions/dnr/dnr_dsp_buf.c index ce3995b..96dd249 100644 --- a/sw_usb_audio/app_usb_aud_phaten_golden_6ch/src/extensions/dnr/dnr_dsp_buf.c +++ b/sw_usb_audio/app_usb_aud_phaten_golden_6ch/src/extensions/dnr/dnr_dsp_buf.c @@ -86,12 +86,19 @@ void Aizip_DNR_init(void) debug_printf("AI_DNR_init status %d\n", sta); } +float g_dnr_level = -200; + +void dnr_set_mode(unsigned char mode) +{ + if(mode == 0) + g_dnr_level = 0; + else + g_dnr_level = -200; +} + void start_dsp_processing(void) { - float level = -200; - - setNoisy_mix_factor(level); - + setNoisy_mix_factor(g_dnr_level); AI_DNR_Processing((int32_t *)&dsp_dnr_frame_buf[processing_buf_slot][0][0]); }