# Put a resistor in series between amp and speaker

I use a PAM8403 class-D amplifier module (~ 2\$ on ebay), which is very good, and stereo.

The output volume is too loud. If I lower the amp's input volume (via software), then obvisouly the output volume is lowered, but there's a noise buzz. That's why I would like to lower the output volume rather than the input volume.

I noticed randomly that putting a 10k resistor in series between OUT+ and loudspeaker's input makes the volume lower.

It works, I am quite happy with that. But:

1) Is it a good practice? Why does it work?

2) This 10k resistor seems (by ear) to make something like -20dB volume reduction.
Is there a formula to find R for -10dB reduction?

Here is how it looks like:

simulate this circuit – Schematic created using CircuitLab

PS: I don't know my earphones's impedance but I can say it's standard earphones shipped with my Samsung phone.

• PS: 1k resistor instead of 10k seems correct (closer to 10dB volume reduction)
– Basj
Commented May 13, 2017 at 22:05
• PS2: it seems that there is a small distorsion, though, like very small crunch/clipping
– Basj
Commented May 13, 2017 at 22:08
• Attenuate the input with a voltage divider (2 resistors) or a volume control (pot) rather than software.
– user16324
Commented May 13, 2017 at 22:38
• Yes, but as there is a constant noise floor on the output of PAM8403 (even if IN+ = IN - = GND), I wanted to diminish the volume of output to make the noise floor diminish as well. What do you think @BrianDrummond ?
– Basj
Commented May 13, 2017 at 23:00
• You need a voltage divider (pot). The noise you're getting might be Johnson–Nyquist noise - the "sound" of a signal through the resistor, or it might be a noisy power supply, which would call for bypass caps. Commented May 13, 2017 at 23:02