-
Notifications
You must be signed in to change notification settings - Fork 321
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
Tools: Topology2: Enable DMIC capture pre-processing for hda-generic #9441
Tools: Topology2: Enable DMIC capture pre-processing for hda-generic #9441
Conversation
2067323
to
9dfdb06
Compare
Note: The 2nd commit removes enum controls to not fail nearly every sof-ci/jenkins test. It's preferred to fix tplgtool2.py and sof-tplgreader.py from sof-test instead. |
9dfdb06
to
0f89055
Compare
Hack not needed anymore. Temporarily demoted to draft to avoid early merge. |
This patch adds to DMIC0 capture TDFB beamformer and DRC for dynamic range control. The impacted topology names are: - sof-hda-generic-2ch.tplg - sof-hda-generic-4ch.tplg - sof-hda-generic-cavs25-2ch.tplg - sof-hda-generic-cavs25-4ch.tplg - sof-hda-generic-ace1-2ch.tplg - sof-hda-generic-ace2-2ch.tplg The DMIC0 capture pipelines before this patch was: DAI-copier -> IIR -> gain -> module copier -> host-copier After: DAI-copier -> IIR -> gain -> module copier -> TDFB -> DRC -> host-copier The beamformer is set for 2ch topologies to a narrow user direction stereo image enhance with about 3 dB signal-to-noise ratio improvement with blob "line2_generic_pm10deg.conf". In 4ch topologies the beamformer is set to pass-through due to large variations in notebook array geometries. The processing need to be enabled per product by UCM2. The beamformer control switch is by default off. The DRC is set with blob "dmic_default.conf" to produce up to 10 dB boost in capture level. It helps to make DMIC capture louder in normal silent conditions while it prevents clipping of samples in loud conditions. The DRC control switch is by default off. The added controls (seen with "amixer -c0 controls") are: - Dmic0 Capture DRC bytes - Dmic0 Capture DRC switch - Dmic0 Capture TDFB angle set enum - Dmic0 Capture TDFB beam switch - Dmic0 Capture TDFB bytes Signed-off-by: Seppo Ingalsuo <[email protected]>
0f89055
to
57ed385
Compare
SOFCI TEST EDIT: previous run failed because it was missing thesofproject/sof-test@a00f414 |
SOFCI TEST |
Didn't notice Marc's earlier test launch, results from that https://sof-ci.01.org/sofpr/PR9441/build7877/devicetest/index.html https://sof-ci.01.org/sofpr/PR9441/build7875/devicetest/index.html |
The LNLM_SDW_AIOC check-alsabat-headset-playback-997.sh fail in https://sof-ci.01.org/sofpr/PR9441/build7883/devicetest/index.html is not related to this patch. It's a different topology with no generic dmic topology parts. |
This patch adds to DMIC0 capture TDFB beamformer and DRC for dynamic range control. The impacted topology names are:
The DMIC0 capture pipelines before this patch was:
DAI-copier -> IIR -> gain -> module copier -> host-copier
After:
DAI-copier -> IIR -> gain -> module copier ->
TDFB -> DRC -> host-copier
The beamformer is set for 2ch topologies to a narrow user direction stereo image enhance with about 3 dB signal-to-noise ratio improvement with blob "line2_generic_pm10deg.conf". In 4ch topologies the beamformer is set to pass-through due to large variations in notebook array geometries. The processing need to be enabled per product by UCM2. The beamformer control switch is by default off.
The DRC is set with blob "dmic_default.conf" to produce up to 10 dB boost in capture level. It helps to make DMIC capture louder in normal silent conditions while it prevents clipping of samples in loud conditions. The DRC control switch is by default off.
The added controls (seen with "amixer -c0 controls") are: