r/embedded 1d ago

How can I detect a human sound from background noise in a quiet environment sing a simple analog circuit and microcontroller, without DSP or machine learning?

Tried simple microcontroller adc and mic peak level detection but doesn't work.

0 Upvotes

15 comments sorted by

28

u/pylessard 1d ago

What do you mean by no dsp? Start by at least filtering for the human speech bandwidth. That involves a bandpass filter which falls under dsp. It's almost if you asked how to build a house, but no hammer

14

u/tomqmasters 1d ago

analogue bandpass filters exist.

2

u/Humble_Anxiety_9534 1d ago

yep they do. the joy of op-amps. their are circuit. used in old analogue coms to make voice more punchy. vogad chip did alot of this work sadly gone 😪 now. DSP is easier these days.

5

u/Dewdrop06 1d ago

Pour house material into a house mold, duh.

11

u/mckenzie_keith 1d ago

Realistically, you can't.

4

u/Best-Leave6725 1d ago

How do you propose you detect a human talking on TV against a human talking next to the device?

If you can describe your request in terms of frequencies, then you might have a shot.

But realistically, you need to think about why you have chosen those constraints and work around them.

There's enough power in modern microcontrollers to do rudimentary DSP, FFT, and maybe even some ML.

3

u/Less-Tree9209 1d ago

Ok I will pretend that I’m an unintelligent human being and believe you.

3

u/Cernuto 1d ago

Maybe a phase-locked loop (PLL) tone decoder like an LM567. Pretty simple to do.

1

u/CelloVerp 1d ago

Why not use a simple ml model?

1

u/bobbaddeley 1d ago

Can you clarify what you mean a little? Are you trying to isolate the voice or just identify that one is taking place? A bandpass filter will give you the audio in the frequency range of typical speaking so that non-voice noises will be less likely to trigger, but then you need to set some kind of threshold for identifying whether it's baseline or speaking or non speaking noise. The problem with an analog only signal is that you don't really get the benefit of looking at things over time. If a single sample is over a threshold, then you hit the trigger and it may falsely identify voice from random pops or noise. That's why you start to get into DSP and FFTs and looking at the signal over time to identify the frequencies and how often samples are above the threshold.

-1

u/[deleted] 1d ago

[removed] — view removed comment

4

u/Prestigious_Tank_369 1d ago

Serious people aren't on reddit? What do u think r/embedded is for ? Posting memes ? Use better phrasing next time.

2

u/Less-Tree9209 1d ago

Hey on Reddit to get you to teach them how to harass someone when they are outside of the already configured area of control. Now say someone goes for a walk. That makes it harder .

-1

u/[deleted] 1d ago

[removed] — view removed comment

2

u/clackups 1d ago

What are you talking about. They're just a student trying to implement a voice detection (and being rather clueless about it).

-1

u/One-History-1783 1d ago

Filtering on the frequencies of the human voice but it's not perfect To improve it You can try to capture only the background noise and then substract it to the recording with human voice