Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 6 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 Expand Up @@ -55,3 +60,4 @@ CONFIG_LOG_FUNC_NAME_PREFIX_INF=y
CONFIG_LOG_FUNC_NAME_PREFIX_DBG=y
CONFIG_LOG_TIMESTAMP_64BIT=y
CONFIG_WINSTREAM_CONSOLE=n
CONFIG_SOF_COMPRESS_CODEC_PCM_CAP=y
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
4 changes: 4 additions & 0 deletions src/audio/base_fw.c
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,10 @@ static void get_codec_info(struct sof_tlv **tuple)
codec_info.items[codec_info.count++] =
SET_CODEC_INFO_ITEM(SND_AUDIOCODEC_PCM, SOF_IPC_STREAM_PLAYBACK);
#endif
#ifdef CONFIG_SOF_COMPRESS_CODEC_PCM_CAP
codec_info.items[codec_info.count++] =
SET_CODEC_INFO_ITEM(SND_AUDIOCODEC_PCM, SOF_IPC_STREAM_CAPTURE);
#endif

if (!codec_info.count)
return;
Expand Down
Loading