Skip to content

Tools: Topology: Add Micsel module to MFCC capture pipeline#10800

Open
singalsu wants to merge 2 commits into
thesofproject:mainfrom
singalsu:mfcc_capture_with_micsel
Open

Tools: Topology: Add Micsel module to MFCC capture pipeline#10800
singalsu wants to merge 2 commits into
thesofproject:mainfrom
singalsu:mfcc_capture_with_micsel

Conversation

@singalsu
Copy link
Copy Markdown
Collaborator

No description provided.

@singalsu singalsu marked this pull request as ready for review May 21, 2026 13:44
@singalsu singalsu requested a review from ranj063 as a code owner May 21, 2026 13:44
Copilot AI review requested due to automatic review settings May 21, 2026 13:44
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds a Mic Selector (micsel) stage to the SoundWire (SDW) MFCC “audio features” capture pipelines, along with a new selector configuration blob and an updated blob-generation script.

Changes:

  • Switch SDW Jack and SDW DMIC “audio feature” capture pipelines to a new host-gateway-src-micsel-mfcc-capture pipeline and add a micsel bytes control using a new “stereo → dual-mono” selector blob.
  • Add a new reusable topology2 pipeline class host-gateway-src-micsel-mfcc-capture.
  • Add/extend selector blob generation to produce downmix_stereo_to_doublemono and include it in topology2.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tools/topology/topology2/platform/intel/sdw-jack-audio-feature.conf Switches Jack audio-features capture pipeline to the new micsel+mfcc pipeline and adds micsel bytes control.
tools/topology/topology2/platform/intel/sdw-dmic-audio-feature.conf Switches DMIC audio-features capture pipeline to the new micsel+mfcc pipeline and adds micsel bytes control.
tools/topology/topology2/include/pipelines/cavs/host-gateway-src-micsel-mfcc-capture.conf Introduces the new pipeline class that routes SRC → micsel → MFCC for capture.
tools/topology/topology2/include/components/micsel/downmix_stereo_to_doublemono.conf Adds a new selector_config blob for stereo → dual-mono downmix.
tools/topology/topology2/cavs-sdw.conf Includes the new pipeline class in the cavs-sdw topology include set.
src/audio/selector/tune/sof_selector_blobs.m Adds dual-mono channel config and emits the new downmix blob.

Comment thread src/audio/selector/tune/sof_selector_blobs.m Outdated
singalsu added 2 commits May 21, 2026 17:28
This patch adds build of blob downmix_stereo_to_mono.conf. It
is useful for processing mono input for MFCC. The sum of left
and right multiplied by 0.5 is passed to both left and right
sink channels.

The comment in blobs export is also updated to current path of
the script.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds the Micsel (or Selector) module with a configuration
blob for stereo to double mono to source of MFCC. The Micsel module
has better input select capabilities than bare MFCC module. The sum
of L+R provides a slightly better SNR than the single (left) channel
pick with MFCC for it's mono processing. It will reduce a bit noise
in the audio features and possibly improve speech recognition quality.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Comment on lines +18 to +22
<include/common/input_audio_format.conf>
<include/common/output_audio_format.conf>
<include/components/pipeline.conf>
<include/components/host-copier.conf>
<include/components/src.conf>
@@ -27,7 +27,7 @@
<host-gateway-playback.conf>
<host-gateway-capture.conf>
<host-gateway-tdfb-drc-capture.conf>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants