Help designing a network microphone

I would like to build a microphone that converts audio to digital and sends it over the network. It'll be an omnidirectional mic that listens constantly and sends the audio to a computer for speech recognition. Budget is not a major constraint.

My microcontroller board will be an ESP32-PoE. PoE and this narrow (28x17.5mm) board makes it a good fit.

Is the Knowles EK-23024-000 microphone a good choice? I'm open to others. I looked at MEMS microphones, but I don't seem to benefit from their advantages and I have lots of space (even the ECM mic is tiny).

I'll need an opamp and probably a pot to control gain. Is the PGA2311P a good choice? I haven't found a similar 3.3V option. It'd be convenient not to need level shifting. Is a charge pump good to get the necessary -5V?

I'll also need a 16-bit ADC. Any suggestions for audio?

Did I miss anything? :grimacing:

Thanks for your help!

Then hire professional engineers, rather than ask volunteers on an open source forum to design your commercial product.

You can ask the moderator to move this post to the Jobs and Paid Collaborations forum section.

It is not a commercial project. It's a one-off personal project I will build solely for me. I mentioned the budget because many projects are budget constrained and that often biases the feedback. I'd probably be hard pressed to spend $100 on this project, and that would be fine. I don't want this post moved, but it is an interesting idea to consider paid help from a professional. I'll consider a separate post in the appropriate section for that.

With an unlimited budget, I'd just employ a service. Q-SYS | Integrated Audio, Video & Control (qsys.com)

If I don't mention budget I'll get help building it out of paperclips and bubble gum. If I mention budget isn't a constraint I'll get suggestions to have NASA build it. :rofl:

I'm an amateur/noob but I enjoy building electronics projects. I don't want someone to build it for me and have all the fun. This project seems pretty complex for my skill level and I feel like I need guidance picking parts.

Good call.

Spend some time gaining the required skills and learn something about voice recording, audio quality and what is actually required by on line voice recognition services (or whatever voice recognition code you will be running on the "computer"), before even thinking of buying parts.

Right now, voice recognition is limited to a few words or phrases for hobby projects, using small commercial modules or to commercial software running on a largish PC or in the cloud.

The field is changing rapidly, though with Large Language Models. You can use open source Whisper for voice to text and language translation in the cloud, for free with limited personal projects on Google. Start learning about Whisper here: Introducing Whisper

Yep, I know about OpenAI and whisper. I know exactly what I'm doing when it comes to software. My questions are about choosing good quality hardware components for a microphone and ADC.

Not an Arduino problem. Wrong forum.

I can imagine you are always as helpful as this. :laughing:

I posted looking for someone with electronic and audio experience to help:
https://forum.arduino.cc/t/microphone-pcb-design/1096691

With esp32 you can just use I2S microphone the rest is just programming

That is not acceptable. The help is from volunteers. If you're hiring someone to do the work and simultaneously trying to hire someone then you're wasting the volunteers' time. Pick one path. Don't take too long.

This is an amateur project that is important to me. I'm just trying to get some help choosing components so I can dork with them and learn.

Are there rules that say if I'm willing to pay for assistance then I can't also discuss my project outside of the consultancy forum? I read the consultancy forum stickies before posting and did not see that.

Volunteers can choose to give their time discussing my project, or not. I'm not exploiting anyone. If they are highly skilled and want compensation, I would pay for it. Isn't that more than what most people who post here offer? Volunteers who feel like I'm wasting their time can just not bother to join the discussion, aka internet 101.

I don't see censorship is needed here, it only makes the community less friendly. Lord knows with jremington hanging out here, it needs all the friendliness it can get. :joy:

The I2C mic does the ADC? Sounds cool, I'll search it, thanks! I'd like a high quality omni mic, so I hope there are good I2C options.

Detailed Description
100 Hz ~ 5.5 kHz Analog Microphone

Pretty poor, IMO.

The ESP32 A/D is not the best linearity.

Review:
I2S Sound Tutorial for ESP32 (diyi0t.com)
&
GitHub - maspetsberger/esp32-i2s-mems: Using an I2S MEMS microphone on an ESP32

1 Like

Dunno about I2C, but I2S mic outputs I2S that ESP32 understands

1 Like

I thought it was acceptable for speech recognition, and that maybe this was better at the vocal frequency range than mics that go higher. They have a similar model that goes to 10KHz (which still isn't high). I guess to truly understand the difference I need to learn more about the sensitivity and noise metrics.

I'm happy to use an external ADC. Not sure yet what that means for I2S. I'll check out the links!

Oooh, I thought I2S was a typo. :grin: Checking it out!

By doing both you are.

If you change your mind flag this thread so a moderator can move it.

Your logic is as good as your coding. :grin:

this is how it happens )))

I wish I knew better how to choose the best mic for my application (speech recognition in a room with the mic on the wall). What S/N ratio, sensitivity, or other parameters should I look for?

Is there any benefit to using a mic with a smaller frequency range? Eg 100Hz-6kHz is probably enough for speech, but would a 40Hz-20kHz mic be better?

I have about a 1" circle where I can position mics. I've read that using multiple mics can help S/N ratio. Think that's a good idea? I'm guessing the mics are too close together to estimate the source direction, so I'd not be able to do beamforming, but I could sum multiple mics.