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 May 5 '20 at 8:30

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. – Long Tree Studios Jun 15 '20 at 0:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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