-
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
[BUG] dmic recording volume is too low #9681
Comments
This is PCH DMIC. @pma1 Can you share the result of |
$ amixer -c0 cset name='Dmic0 Capture Volume' 45 After set command above, the volume is still the same low as before. output of amixer -c0 contents: |
arecord file attached, thanks. |
@pma1 Can you try |
The volume is as low as before. |
We are in progress of adding DRC and other capture pre-processing. I'll do a pull request to enable it on this topology. It will boost the capture level. |
@pma1 Are you able to replace the topology (keep a backup if this fails) with this from my test build? Please unzip it since GH does not allow .tplg attachment. If the installed topology is with different file name with compression, move it so there's no lottery for which topology gets loaded. sof-lnl-rt713-l0-rt1318-l1-2ch.zip Then you need to find the control for DRC from "alsamixer -c0" and enable it with key m. You can also enable the TDFB beam for beamformer and set the beam angle to 0 degrees with cursor up/down keys. There's only single angle in the blob so there won't be a steerable beam but future topologies may have it, so it doesn't hurt to set it too. |
Once the controls are set, they should persists if you keep using same topology. You can also set the controls from command line, e.g.
|
@pma1 @bardliao It is possible to get even more gain with custom DRC and IIR blobs but I'd not do it with generic topologies but instead with UCM2 runtime rules with matched DMI ID. We have already a framework to control SOF for playback with sof-hda-generic (see https://github.com/alsa-project/alsa-ucm-conf/tree/master/ucm2/blobs/sof) and such should be added capture also and other PC platforms with SDW codec. |
@singalsu The tplg you uploaded is failed to be loaded, please refer to the dmesg: |
@pma1 can you ls -l the contents of |
After copied the intel/sof-ipc4-lib/lnl/ file, The sound card works, the mic volume it better, but not loud enough. but it keep the same volume even set "amixer -c0 cset name='Dmic0 Capture TDFB angle set enum' 90" Set 'Dmic0 Capture TDFB angle set enum' to -90, the vomlume is the same. |
Thanks for testing it! I noticed there's in similar hda-generic topology gain applied in IIR, so it is still louder than this. I'll do another change to change IIR to amplifying type. The beam angle should be 0 towards user, that's how to coordinates were defined. But there is no 90 degree beam in the blob, so there is no impact except for beam on/off. Blobs with better control are possible with DMI ID based load by UCM. |
Can you please try this topology: It's very good that you are able to test since I don't have access to a similar PC. Can you try to talk very loud to the microphone when capturing, like people might do in a loud environment like cafe with babble. Does the microphone signal clip or sound distorted? |
Thank you. The mic volume is much better, no distorted sound found. I think this tplg is good. |
Thanks to all of you for the great help. |
@pma1 Can you please check this smaller fix that would be quick to release as stable-v2.11 update. This change only adds gain to IIR, there's no added DRC and TDFB components. What do you think, does this sufficiently address the issue? |
@singalsu there is no obviously difference with previous tplg, maybe minor lower volume but hardly noticed. I think this can fix the issue. |
Thanks a lot for testing @pma1 ! @kv2019i @lgirdwood I think then we can proceed with #9698 fix for 2.11. |
Will merge this as soon as CI is back later today. |
Describe the bug
The dmic volume is too low even the max volume of input/output is set.
To Reproduce
Set the max volume in gnome-setting.
$ arecord -f cd b.wav
Reproduction Rate
100%
Expected behavior
Clear audio recording.
Impact
It's barely to hear the dmic.
Environment
1)
* Kernel: 6.12 9f16d5e6f2206 (linux/master) Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
* SOF: db771bf v2.11.x: add new 2.11.2 topology2 production binaries
Screenshots or console output
x1g13-mic-low-dmesg.txt
The text was updated successfully, but these errors were encountered: