Record audio with Electret Microphone (MAX9814) and ADC (ADS1015)


#1

Hi!

I got an Adafruit Electret Microphone with Auto Gain and read somewhere (can’t find it again) that I could use an ADS1015 ADC to read from it. It turns out I have one of those in my Enviro phat.

Does anyone have any pointers on getting started with audio recording using this ADC?

This could also be great to open up ADC possibilites regarding the Enviro phat.

Thank you!


#2

No Hi-Fi audio required here.

Just taking the opportunity to learn basic ADC concepts and explore rudimentary audio recording.


#3

I’m guessing your not getting any replies because its not an easy thing to do. Converting the signal from analog to digital is no big deal. Saving that digital data stream to a file that is replayable is the tough part. For instance, saving it as an MP3 file or wav file. It will have to be coded and decoded again for playback.

There are dedicated gismos to do it, https://www.adafruit.com/product/1381

That all being said, there is nothing stopping you from hooking the mic up to the ADC and playing with it. It shouldn’t be too hard to make a basic sound detector etc.
Analog (ADC) channels https://learn.pimoroni.com/tutorial/sandyj/getting-started-with-automation-hat-and-phat


#4

Something else to keep in mind is the microphone outputs a very low AC voltage, and the ADC is looking for a DC voltage input. Near as I can tell anyway with a quick look see. You may have to set the mic up for MAX gain to get any type of signal / reaction from the ADC.


#5

Yep, I’m realising that :)

I came up also with little information regarding Adafruit’s VS1053 Codec breakout on Raspberry Pi.

Also came across something with the MCP3002 ADC but more problems than successes.

And also VLSI’s VS1103 Modules which are even more interesting (and esoteric).

It’s sad that it is so easy to capture images and so complicated to get a basic analog audio signal system going without getting super complex (and nice!) full solutions like the Pisound Hat (which I have).

The main goal here would be to understand ADC, be able to use simple components, and explore bare bones audio with that nice aesthetic quality of telephony and other primitive audio transmission systems.

This, I gather, is possible with your suggestions but requires more time than what I have at the moment.

Thanks again for your help, Matt. Cheers!


#6

I haven’t done anything with an ADC, not yet anyway. I have a couple of explorer pHats but have only used the H Bridge motor driver section of them. At some point I’d like to add some sensors for collision avoidance etc.
I go with i2c devices when possible. A lot easier to setup and use IMHO.

Timing and the sampling rate needed is likely why they have those dedicated devices like what I linked too for digitally recording sound.


#7

Get yourself one of these https://shop.pimoroni.com/products/temperature-sensor-tmp36 or maybe even this https://shop.pimoroni.com/products/sidekick-basic-kit-v2 and you can use the LDR, Temp sensor, or even just a potentiometer to connect to the analog side of the ADC and convert it to a digital signal.
I’ve bought 2 of the sidekick kits so far. I had the tmp36 temp sensor wired up to my BBC Micro-Bit so I guess I lied, lol. I must have used the Micro-Bit’s analog input. It was so long ago I have no idea what exactly I did.


#8

The sidekick kit looks really nice for the price point! Thanks!

Yes, I guess it is indeed timing and sampling rate what gets in the way of high level languages and non-realtime operating systems easy implementations :)