Skip to content

Fix Waveshare WM8960 microphone capture noise - #7717

Open
meiser79 wants to merge 1 commit into
raspberrypi:rpi-6.18.yfrom
meiser79:waveshare-wm8960-fixes
Open

meiser79 wants to merge 1 commit into
raspberrypi:rpi-6.18.yfrom
meiser79:waveshare-wm8960-fixes

Conversation

@meiser79

Copy link
Copy Markdown

The WM8960 codec was missing regulator supply definitions and DAPM routes required for proper microphone bias handling, resulting in excessive capture noise and poor wake-word detection on Raspberry Pi 4 running LineageOS.

  • Define all five WM8960 regulator supplies, mapping the digital rails to 3.3 V and speaker rails to 5 V.
  • Add the missing MICB dependency routes to both left and right boost mixers so DAPM correctly manages the microphone bias generator.

These changes improve the captured signal-to-noise ratio and microphone reliability for the Waveshare WM8960 sound card.

Refs: #4384

The WM8960 codec was missing regulator supply definitions and DAPM
routes required for proper microphone bias handling, resulting in
excessive capture noise and poor wake-word detection on Raspberry Pi 4
running LineageOS.

- Define all five WM8960 regulator supplies, mapping the digital rails
  to 3.3 V and speaker rails to 5 V.
- Add the missing MICB dependency routes to both left and right boost
  mixers so DAPM correctly manages the microphone bias generator.

These changes improve the captured signal-to-noise ratio and microphone
reliability for the Waveshare WM8960 sound card.

Refs: raspberrypi#4384

Signed-off-by: Peter Meiser <peter.meiser@gmx.com>
@meiser79
meiser79 force-pushed the waveshare-wm8960-fixes branch from 68c58ce to 136fa4d Compare October 26, 2026 08:53
@pelwell

pelwell commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

The change to the regulator declarations might save a few warnings about using dummy regulators, which is good, but it will have no practical impact on sound quality on a Raspberry Pi (beyond the placebo effect); the 3.3V and 5V regulators are purely software constructs - fancy wrappers around the numbers 3.3 and 5 - because the rails can't be switched on and off.

The other change sounds more plausible, like it might actually cause a change in the WM8960 configuration. Any comments, @waveshare?

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