Arduino Forum

Using Arduino => Project Guidance => Topic started by: Ufoguy on Jul 04, 2013, 12:47 pm

Title: How to detect when a person is talking?
Post by: Ufoguy on Jul 04, 2013, 12:47 pm
I want the arduino to know when a person is talking. I can have sensors on the person's body which I think will be needed. I'm currently thinking of analog resistive bend sensors or a magnet with a hall effect sensor.

I will be sure to use a battery and not a wall wart.
Title: Re: How to detect when a person is talking?
Post by: PeterH on Jul 04, 2013, 02:04 pm
How about using a microphone and some sort of audio level sensor?
Title: Re: How to detect when a person is talking?
Post by: Ufoguy on Jul 04, 2013, 04:09 pm

How about using a microphone and some sort of audio level sensor?


I've got fans generating a lot of noise. so that is not going to work.
Title: Re: How to detect when a person is talking?
Post by: AWOL on Jul 04, 2013, 04:19 pm
Sound-cancelling mic near to the speaker?
Title: Re: How to detect when a person is talking?
Post by: fuzzo on Jul 04, 2013, 05:35 pm
what not an eq after the microphone ? you select a band fequency in the medium spectrum .
Title: Re: How to detect when a person is talking?
Post by: sbright33 on Jul 04, 2013, 05:49 pm
Do a Fourier transform and look for a repeating common pattern.  Narrow the parameters if you're concerned with false positives.  Widen if false negatives.  Experiment!
Title: Re: How to detect when a person is talking?
Post by: runaway_pancake on Jul 04, 2013, 06:30 pm
The fan noise could be greatly attenuated with a high-pass filter.

http://en.wikipedia.org/wiki/Voice_frequency
Title: Re: How to detect when a person is talking?
Post by: PeterH on Jul 04, 2013, 07:37 pm

I've got fans generating a lot of noise. so that is not going to work.


What's the purpose of knowing when they're speaking? This might give a clue to sensible ways to achieve it. For example, if you ultimately want to hear what was said, perhaps a throat mike or noise canceling mike would make sense.
Title: Re: How to detect when a person is talking?
Post by: Ufoguy on Jul 05, 2013, 12:01 pm
I actually don't want yet need to hear or record what is being spoken. I just need to know if the mouth is opening.

Its for monitoring sleep talks.

And I think sound processing especially with arduino is going to be difficult. If there is an easy way to do it with arduino I am willing to do it.

But I think using some kind of sensor to know if the mouth has opened like flex sensor or a magnet and hall effect sensor would be easier.

If any body can tell if there is an easy way process sound in arduino that would be great too.

Thanks a lot for all the replies!
Title: Re: How to detect when a person is talking?
Post by: Ufoguy on Jul 05, 2013, 12:05 pm


I've got fans generating a lot of noise. so that is not going to work.


What's the purpose of knowing when they're speaking? This might give a clue to sensible ways to achieve it. For example, if you ultimately want to hear what was said, perhaps a throat mike or noise canceling mike would make sense.


Can you please tell me where to get a noise cancelling mic and throat mics too?

Edit: I googled them. They are not available in India and are very expensive.
Title: Re: How to detect when a person is talking?
Post by: AWOL on Jul 05, 2013, 12:11 pm
A noise-canceller is usually two mics, mounted back-to-back, with one facing the speaker and the other facing outwards.

Throat mics?
Never seen them for sale at the usual distributors.
Defence surplus? Aircraft comms specialists? (Plantronics etc)
Title: Re: How to detect when a person is talking?
Post by: sonnyyu on Jul 05, 2013, 01:10 pm
Throat Mic Headset, Radioshack, $39.99



http://www.radioshack.com/product/index.jsp?productId=3802165 (http://www.radioshack.com/product/index.jsp?productId=3802165)

Olympus Microphone ME-12 Noise Cancelling Mic, Scantracker.com, $19.50

Olympus 145031 Noise-Cancellation Microphone (ME-12) Digital voice recorders provide great solutions for
voice recognition applications, however background noise will sometimes cause a problem. The ME-12 plugs
into your digital recorder's 3.5mm microphone jack for uni-directional recording in high-noise environments.
It will cut down on much of the background noise and result in a more accurate transcription.

http://secure.scantracker.com/Olympus-Microphone-ME-12-Noise-Cancelling-Mic-OLY-145031-ME12/productinfo/DI-OLM-ME12/ (http://secure.scantracker.com/Olympus-Microphone-ME-12-Noise-Cancelling-Mic-OLY-145031-ME12/productinfo/DI-OLM-ME12/)

Moderator edit: Facile cheap-shot elided.
Title: Re: How to detect when a person is talking?
Post by: Ufoguy on Jul 05, 2013, 01:20 pm
Ok, guys throat mics and noise cancellation mics are off because (1) They are not easily available in India (2)They are too expensive for my budget (3)I don't think arduino can do voice processing very well.

I may consider doing it in the future but for now they're off.

So, please suggest something else.
Title: Re: How to detect when a person is talking?
Post by: sonnyyu on Jul 05, 2013, 01:24 pm

...
Moderator edit: Facile cheap-shot elided.


Thank you.
Title: Re: How to detect when a person is talking?
Post by: PeterH on Jul 05, 2013, 02:02 pm

please suggest something else.


The microphones being suggested are the ones that give you the best chance of success. If those are not available to you, you could try using a plain old cheap mic but don't be surprised if the results are unusable in a noisy environment.

It is possible to buy voice activated recorders for less than the cost of a standard Arduino, and I think this would give you the cheapest solution. I don't suppose any of these cheap recorders would come with throat mics or noise cancelling mics, but you might conceivably find one with support for an external mic. If not, you could consider breaking in to the connection to the internal mic and looking for a way to connect an external mic instead.
Title: Re: How to detect when a person is talking?
Post by: CrossRoads on Jul 05, 2013, 02:47 pm
How about reed switch and a magnet? Have user wear a light mask that holds the lightweight components on place.
Title: Re: How to detect when a person is talking?
Post by: JB_AU on Jul 05, 2013, 04:37 pm
https://www.sparkfun.com/products/10963 (https://www.sparkfun.com/products/10963)