Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
761337d
audio: kpb: add multi-client downstream WOV detector triggering
lrgirdwo Aug 8, 2026
40d77b3
audio: vad_gate: add Voice Activity Detection gate component
lrgirdwo Aug 8, 2026
6f7391d
audio: ams: add WOV detect and control message definitions
lrgirdwo Aug 8, 2026
65e9435
audio: wov_arbiter: add multi-slot WOV arbiter component
lrgirdwo Aug 8, 2026
57a606d
app: enable WOV arbiter and KPB on intel_adsp_cavs25
lrgirdwo Aug 8, 2026
8fbcb1a
audio: detect_test: add multi-slot WOV support with DP thread batching
lrgirdwo Aug 8, 2026
69d1514
topology: add dmic-wov-multi topology for multi-slot WOV
lrgirdwo Aug 8, 2026
5e33b5c
doc: wov_arbiter: add README for multi-slot WOV architecture
lrgirdwo Aug 8, 2026
7b5eca7
topology: dmic-generic: add multi-slot WOV build options
lrgirdwo Aug 8, 2026
9083920
topology: wov-arbiter: single shared KPB and wov_trigger_id kcontrol
lrgirdwo Aug 16, 2026
3b5a4c1
audio: detect_test: add per-slot wov_mute switch kcontrol
lrgirdwo Aug 19, 2026
b634851
topology: wov: add per-slot wov_mute switch kcontrol
lrgirdwo Aug 19, 2026
9dc8514
doc: wov_arbiter: document wov_mute per-slot switch kcontrol
lrgirdwo Aug 19, 2026
73d2338
audio: vad_gate: add WOVCRO/HPRO clock scaling on VAD state transitions
lrgirdwo Aug 19, 2026
5903188
topology: vad-gate: add bytes kcontrol for runtime threshold tuning
lrgirdwo Aug 20, 2026
443fcd8
topology: wov: set capture_compatible_d0i3 for D0I3/S0iX WOV support
lrgirdwo Aug 20, 2026
ece6322
topology: wov: switch WOV capture PCM to ALSA compress for burst pre-…
lrgirdwo Aug 20, 2026
b5bc149
doc: wov_arbiter: update README for compress PCM, VAD gate, and D0i3
lrgirdwo Aug 20, 2026
7112519
doc: wov_arbiter: document KPB history depth as Kconfig-only, not top…
lrgirdwo Aug 20, 2026
4b0bbb7
topology: kpb: add topology-configurable history buffer depth
lrgirdwo Aug 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions app/boards/intel_adsp_cavs25.conf
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ CONFIG_COMP_DRC=y
CONFIG_COMP_MFCC=y
CONFIG_COMP_MULTIBAND_DRC=y
CONFIG_COMP_VOLUME_WINDOWS_FADE=y
CONFIG_COMP_WOV_ARBITER=y
CONFIG_COMP_VAD_GATE=y
CONFIG_COMP_KPB=y
CONFIG_SAMPLES=y
CONFIG_SAMPLE_KEYPHRASE=y
CONFIG_FORMAT_CONVERT_HIFI3=n
CONFIG_PCM_CONVERTER_FORMAT_S16LE=y
CONFIG_PCM_CONVERTER_FORMAT_S24LE=y
Expand Down
6 changes: 6 additions & 0 deletions src/audio/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,15 @@ if(NOT CONFIG_COMP_MODULE_SHARED_LIBRARY_BUILD)
if(CONFIG_COMP_UP_DOWN_MIXER)
add_subdirectory(up_down_mixer)
endif()
if(CONFIG_COMP_VAD_GATE)
add_subdirectory(vad_gate)
endif()
if(CONFIG_COMP_VOLUME)
add_subdirectory(volume)
endif()
if(CONFIG_COMP_WOV_ARBITER)
add_subdirectory(wov_arbiter)
endif()
if(CONFIG_DTS_CODEC)
add_subdirectory(codec)
endif()
Expand Down
26 changes: 26 additions & 0 deletions src/audio/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -102,13 +102,38 @@ config COMP_STUBS
Select to force all 3P blocks to link against stubs rather than their libraries. This
should only be used in testing environments like fuzzers or CI.

config COMP_WOV_ARBITER
bool "WOV arbiter component"
depends on COMP_KPB
depends on IPC_MAJOR_4
help
Select to build the WOV (Wake-on-Voice) arbiter. The arbiter sits
between multiple KPB host-drain outputs and a single host PCM copier.
When a keyword is detected by one of the WOV detectors the arbiter
routes that KPB's drain stream to the host and instructs the remaining
detectors to pause.

config COMP_KPB
bool "KPB component"
default y
help
Select for KPB component
if COMP_KPB

config KPB_MAX_NO_OF_CLIENTS
int "Maximum number of KPB clients"
default 4
help
Maximum number of simultaneous KPB drain clients (host + WOV detectors).
Increase if more than 4 clients need concurrent KPB access.

config KPB_MAX_BUFF_TIME
int "KPB history buffer time (ms)"
default 6000 if XCHAL_HW_VERSION_MAJOR >= 300
default 2100
help
KPB history ring-buffer length in milliseconds.

config KPB_FORCE_COPY_TYPE_NORMAL
bool "KPB force copy type normal"
default y
Expand Down Expand Up @@ -160,6 +185,7 @@ rsource "template/Kconfig"
rsource "tensorflow/Kconfig"
rsource "tone/Kconfig"
rsource "up_down_mixer/Kconfig"
rsource "vad_gate/Kconfig"
rsource "volume/Kconfig"
# --- End Kconfig Sources (alphabetical order) ---

Expand Down
Loading
Loading