I am trying to make my own "smart speaker" using a Raspberry Pi.

I bought a mini USB microphone but it generates lots of static and the volume is extremely low unless you speak directly into the microphone: https://core-electronics.com.au/mini-usb-microphone.html

So clearly I need some other sort of microphone - something that people can talk to from several feet away, ideally something very small, and it needs to be USB.

Can anyone guide me a to what type of microphone is suitable for this?

  • research MEMS mics
    – Mark
    Commented May 5, 2020 at 8:30

1 Answer 1


Almost all smart speaker use omnidirectional MEMS microphones. They are small, good and inexpensive. Something like this perhaps: https://www.digikey.com/product-detail/en/knowles/SPW0690LM4H-1/423-1423-1-ND/8573349

You won't find these with a USB interface, they are either analog, PDM and in rare cases I2S.

Keep in mind that smart speakers have multiple microphones and do A LOT of local signal processing to "clean up" the voice quality: beam forming, noise suppression, de-reverberation, voice activity detection, etc. A single far-field microphone in a room is not going to give you great speech pickup, at least not without some serious post processing.

  • Don't forget huge compression to make it loud enough from across the room. Commented Jun 15, 2020 at 0:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.