I’m trying to use an esp32-based microphone to listen overnight in my clock testing area (I repair clocks for a living) so that I can review it the next day to make sure that the clocks have chimed correctly. Just a simple timeline graphic of sound level will do the job - as long as the sample rate is at least 4 per second. I don’t need to listen to the sounds, no need for quality recordings, just the sound level at 4 or more points per second.
I’ve put together an esp32 with INMP441 microphone, configured as a dB meter.
This works, and I can see the timeline/levels in “history” just fine. Problem with this is the “sample rate” is just one per second, so I can’t see individual “dongs”.
Despite plenty of googling, I can’t find a way of doing this? It might be really simple, but I can’t figure it out.
I think sound level sensor can do what you want if set measurement_duration = 250ms
just guessing here but hope it helps. if not posting what you have may give more clarity.
you may also be able to use something like pulse meter to see the “tics”. i set my voice assistant to show db level so I would assume same logic could be fed to binary sensor as if db > xx high which would should tick at some interval.
I have one microphone in a intercom that listens for ringing sounds.
That is just a basic analog microphone connected to an adc pin with a sample rate of 0.1 seconds.
It works for our use case. There is a bit of noise in the data but if the sound source is close then you can easily see the peaks.
To clarify, the detection part is working perfectly. What I can’t work out is the capture/recording and playback/review part.
I don’t really need to ise the microphone output to trigger automations or do any filtering etc. I just want to capture the output as a file, then manually play back the file as a graphical timeline of the sound level.
How do I capture/record the microphone outout with HA?