So i have an idea, i want to build a system where a sensor with a sensitive mic can pick out certain sounds and only message me when it hears that noise. So lets say the mic is outside my house and a police is close to the area the mic can pick up will its be able to pick up on that certain sound a police car makes and tell me? I know there would be a lot that goes into it. I just wanna know if its possible and if anyone could help me understand it a little better. :confused:
Recognizing sounds, like catching a ball, is one of those things that's very easy for the human brain but very difficult for a computer. It can be done, but not with an Arduino.
And pick a better example. That police car example makes it sound like you are a drug dealer.
that certain sound a police car makes and tell me?
What would that sound be? I think the cops around here drive Fords and lots of other people drive Fords too. And, I can’t tell what kind of car it is by the sound…
This is very difficult and probably impossible, and certainly impossible with the Arduino so if this is going to work at all you’d have to use a computer.
You need to understand the nature of sound in the time domain and in the frequency domain. Then look-up Fourier Analysis (and FFT)…
What you’ll find is that all real world sounds contain many different frequency components (that’s what makes a guitar sound different from a piano when they’re both playing the same notes and it’s what makes two singers sound differnent although they are singing the same notes). What is fairly simple for a human is very difficult for a computer…
So… you can do a frequency analysis over time and make a “fingerprint” (a spectrogram or Forrier table) but if you change the loudness or distance, or if there are other background/foreground sounds at the same time it gets tricky. And for example, the “fingerprint” for a piano would only be valid for a specific note.
Then, you need some fuzz logic to handle natural variations. If I say “hello” once, and then say “hello” again you won’t get exactly the same sound and you wont’ get exactly the same “fingerprint”. You might want to study some voice recognition & speech recognition algorithms to get an idea of how this can work.
I assumed he meant the siren.
It would probably easier to get a dog that howls when it hears a siren. Mine won't work, they don't bother him.
An old friend of mine - a Cambridge maths graduate - spent months on this problem using a very fast PC, and never did get what he thought was a satisfactory result.
Ever tried talking to those annoying phone menus which ask you to speak to them? - they don’t work either.