Bug 479619

Summary: Microphone's monitoring levels are extremely non-linear
Product: [Plasma] plasmashell Reporter: ratijas <me>
Component: Audio Volume widgetAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED INTENTIONAL    
Severity: minor CC: isma.af, kde, nate, nowrep
Priority: NOR    
Version First Reported In: 6.2.4   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description ratijas 2024-01-10 18:32:37 UTC
SUMMARY

Microphone's monitoring channel volume level does not scale linearly with sensitivity. Normally, if you lover the output volume, the monitored volume still ranges from 0.0 to 1.0 but UI scales it down to 0..volume range so that it does not go out of slider's groove range. But the microphone apparently does not work that way. The less sensitivity you set, the less will be the range of monitored volume, and that scale is not even linear. For example, at 50% sensitivity, I only get up to ~45% on volume monitor, and at 25% sensitivity it won't go above 7%.

STEPS TO REPRODUCE
1. Play music that has constant volume on average, from a source that is located at a fixed distance from your microphone.
2. Change microphone's sensitivity via Plasma Volume applet.
3. Observe the maximum value to which volume monitor (darker groove on the slider) raises at peak volume levels.

OBSERVED RESULT
The lesser the sensitivity, the smaller the range of volume monitor.

EXPECTED RESULT
Volume monitor should stay in 0..1 range, regardless of sensitivity.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.0.80
KDE Frameworks Version: 5.249.0
Qt Version: 6.6.1
Kernel Version: 6.6.7-arch1-1 (64-bit)
Graphics Platform: X11
Processors: 8 × Intel® Core™ i7-6700HQ CPU @ 2.60GHz
Memory: 15.6 GiB of RAM
Graphics Processor: NVIDIA GeForce GTX 970M/PCIe/SSE2

pipewire: 1:1.0.0-2
pipewire-pulse: 1:1.0.0-2
pulseaudio-qt: 1.3-1
Comment 1 David Redondo 2024-01-11 08:06:36 UTC
Works for me

I blowed into my microphone and the indicator went all the way to handle at 28% sensitivity. Maybe different microphones behave in different ways?
Comment 2 Nate Graham 2024-01-11 16:22:52 UTC
Works for me too with my hardware.
Comment 3 ratijas 2024-12-19 10:10:55 UTC
Did you guys happen to lose your Steam Decks?
Comment 4 Nate Graham 2025-05-07 19:08:07 UTC
Actually, I think this is just an intentional UI choice and not some kind of unreproducible bug. I'm pretty sure it's designed to work that way so you can visually ensure that the recording level isn't too high. If the input level visualization was always normalized to be between 0 and 1 regardless of the actual input level, you couldn't do that anymore.