I found the small audio amplifiers using an LM386 IC amplifier found on Amazon and eBay worked fairly well. The volume control settings are very touchy, but once you find the right spot, they work fine. I also found you can get excellent volume out of overly large higher wattage speakers. For example, using a 3 watt LM386 amp that can drive 4 or 8 ohm speakers, when I hooked up a Sony 8 ohm car speaker (6x9) capable of 80 watts, I got excellent clarity and volume.
I had terrible fidelity problems with the Class D amplifiers that put out a PWM signal with square waves. The inductance of the speaker coil did not “round” the corners of the square waves sufficiently.
I also tried small Piezo speakers that came out of cell phones. But driving them with a LM386 amp produced unacceptably low volume.
My conclusion: the bigger the speaker coil the better. Im sure there are limits to that statement.