Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UCM2: Intel: sof-hda-dsp: Enable Dmic0 DRC and TDFB pre-processing #481

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

singalsu
Copy link
Contributor

@singalsu singalsu commented Dec 3, 2024

This patch adds enable of the microphone capture pre-processing features as BootSequence inital values if the controls for them are available. If the user later switches these off, they will remain off.

The DRC is dynamic range control that boosts the capture level, and the TDFB (time-domain fixed beamformer) improves capture signa-to-noise ratio for set beam angle direction. The used 0 degrees angle is defined as angle towards notebook computer user.

Condition {
Type ControlExists
Control "name='Dmic0 Capture Volume'"
False {
Copy link
Contributor Author

@singalsu singalsu Dec 3, 2024

Choose a reason for hiding this comment

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

@perexg I tried to make these additions to a If.dmic subtree copy in HiFi-sof.conf but I could not get it working. Do you have ideas why? Basically this same add but without duplicate Dmic0 Capture Volume part.

I'd prefer to have this in HiFi-sof.conf to have access to Blob name variables. I checked with echo that they are not set here in sof-hda-dsp.conf. Then I could add as FixedBootSequence load (in every device boot) of blob for microphone DRC and TDFB. It would allow to override the generic blobs embedded to topology with DMI ID match based tuned blobs for the device.

Copy link
Member

Choose a reason for hiding this comment

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

BootSequences are allowed only in the top level configuration file. But you can move variable declarations from the HiFi file to the top-level file. The variables are shared for all configuration files.

Copy link
Member

Choose a reason for hiding this comment

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

Thinking more - HiFi-sof.conf should be splitted to two parts - e.g. dsp.conf and HiFi-sof.conf where dsp.conf will declare the variables and this file should be included from sof-hda-dsp.conf.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks! I'll try that.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@perexg Here's now my try to follow the idea. What do you think?

The SOF control blobs related variables set are moved to dsp.conf
that is included from top level sof-hda-dsp.conf.

It allows to use the variables in InitBootSequence for the
controls. E.g. customize the default blobs applied based on
DMI ID of the device.

Signed-off-by: Seppo Ingalsuo <[email protected]>
This patch adds enable of the microphone capture pre-processing
features as BootSequence initial values if the controls for them
are available. If the user later switches these off, they will
remain off.

The DRC is dynamic range control that boosts the capture level,
and the TDFB (time-domain fixed beamformer) improves capture
signal-to-noise ratio for set beam angle direction. The used
0 degrees angle is defined as angle towards notebook computer
user.

Signed-off-by: Seppo Ingalsuo <[email protected]>
If The user or product configuration defines blobs for DRC
or TDFB, apply them as FixedBootSequence in every device boot.
This allows to override the generic blobs in topology with
device specific blobs based on DMI ID.

Signed-off-by: Seppo Ingalsuo <[email protected]>
This change adds a few blobs to use with SOF TDFB beamformer
and updates the instructions how to generate the blobs in SOF.

Signed-off-by: Seppo Ingalsuo <[email protected]>
@singalsu singalsu force-pushed the sof_intel_dmic_boot_enable_drc_tdfb branch from ac9367a to f6c7a52 Compare December 4, 2024 17:26
@singalsu singalsu marked this pull request as ready for review December 4, 2024 17:29
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