help me in designing a "voice direction detection" component

D

Dr_PhD

Guest
hello!
i am designing a robot along the many functionalities, one of
the hard things to do is its voice direction detection module
which would detect direction of the voice of some person, and
comes towards the person.

Can any one tell me how to design the voice detection module.
 
Dr_PhD wrote:
hello!
i am designing a robot along the many functionalities, one of
the hard things to do is its voice direction detection module
which would detect direction of the voice of some person, and
comes towards the person.

Can any one tell me how to design the voice detection module.
One thing you might try is mounting multiple mics or transducers on opposing
sides of your robot. If the robot is large enough, the mic facing the source
of sound will have a greater presence of low frequency sounds.

Just a thought.

Adam
 
which would detect direction of the voice of some person, and
comes towards the person.
Maybe combine sound with infrared (humans also emit IR). Standard
components, but I admit it will not work if there is more than one
warmblooded animal present.

Wim
 
Dr_PhD wrote:
hello!
i am designing a robot along the many functionalities, one of
the hard things to do is its voice direction detection module
which would detect direction of the voice of some person, and
comes towards the person.

Can any one tell me how to design the voice detection module.
-----------------------------
Little rotating horn made out of two sandwiched disks with radial
partitions within that directs sound to a high-gain mic, and its
optical circuit knows which way it's pointed, and the mic is amplified
to an op-amp rectifier circuit to a small cap, and then a negative
slope-detector points the direction. Or a circle of mics in small horns
and they compete for loudness.

Or you can use two ears cupped forward on a rotatable head with a
pattern of multiple mics in each with partitions in them so that
they can sense directionality based on loudness. Make the head turn
toward the expected direction from that data and then recalculate
and rinse and repeat. Then have the program turn the bot till the
head is forward again and it will automatically come to you.

-Steve
--
-Steve Walz rstevew@armory.com ftp://ftp.armory.com/pub/user/rstevew
Electronics Site!! 1000's of Files and Dirs!! With Schematics Galore!!
http://www.armory.com/~rstevew or http://www.armory.com/~rstevew/Public
 
"Dr_PhD" <Dr_PhD007@hotmail.com> wrote in message
news:e2a2e813.0310181310.79d48951@posting.google.com...
hello!
i am designing a robot along the many functionalities, one of
the hard things to do is its voice direction detection module
which would detect direction of the voice of some person, and
comes towards the person.

Can any one tell me how to design the voice detection module.
One possibility is to use the time delay between multiple microphones.
Voice wouldn't be the best thing for this, something like a click or
other sound with a short attack time. Two microphones would give you
the ability to tell the angle the sound is coming from, but not whether
it's in front or back of you. Three mics would give enough information
to you. The math is non-trivial, but I think it could be easily enough
done in a PIC by using a table lookup of precalculated angles from 0-90
degrees.

With a spacing of 1' between two of the microphones, there would be a
delay varying from 0 to about 1mS depending upon the angle of incidence
of the sound being heard. The third mic is place ahead of or behind the
two used for timing measurements. It is used only to tell whether the
sound is coming from the front or back. Depending upon which of the two
timing mics hear the sound first gives you the right or left component
(assuming mikes are placed like ears; one on the left and one on the
right.

So now to calculate the angle it's coming from (0 being straight ahead),
you look up the delay angle in the table indexed by delay time.
Subtract from 360 if the left mic heard it first. Now the tricky part
is if the rear mic heard it before either of the timing mics, then you
have to mirror the angle back by subtracting it from 180 if the sound
came from the right side, or subtracting it from 540 if it came from the
left side.

This is off the top of my head, but I think it should work. Someone
will correct me if I'm wrong. ;-)

michael
 
"Dr_PhD" <Dr_PhD007@hotmail.com> wrote in message
news:e2a2e813.0310181310.79d48951@posting.google.com...
hello!
i am designing a robot along the many functionalities, one of
the hard things to do is its voice direction detection module
which would detect direction of the voice of some person, and
comes towards the person.

Can any one tell me how to design the voice detection module.
I think this may be (but can't absolutely be sure) what you want. Hope your
up on your eignenspace matrix analysis. Sure wish I could understand what in
the hell they're talking about though ;-)
http://linlin.hamada.sd.keio.ac.jp/~hioka/Research/PDF_files/020903.pdf

Predictably, Hasbro Toys figured out how to accomplish this for a buck and a
half
http://www.robotory.com/archives/2001_03_18_old.html

and another entry into the fray
http://gias720.dis.ulpgc.es/Gias/Publications/roman2002_casimiro.pdf

There are detection schema other than voice that may be more appropriate for
your needs.

"Passive infrared detection refers to the detection of a change in heat in
an area or emitted by an object (i.e. body heat). The motion sensors are
triggered when the level of heat detected changes from the ambient
temperature to a higher or lower temperature."
http://www.x10.com/support/faq_automation_sensors.htm#cam_q1

Of course, none of the above directly address your request for a schematic
or "how to" design procedure but by following the above links and any
bibliographies to which they make reference, you just might get lucky.

Google: voice direction detection

Good luck with your project.
 
"Baphomet" <fandaDEATH2SPAMMERS@catskill.net> wrote in message
news:vp3eucsikke440@corp.supernews.com...
"Dr_PhD" <Dr_PhD007@hotmail.com> wrote in message
news:e2a2e813.0310181310.79d48951@posting.google.com...
hello!
i am designing a robot along the many functionalities, one of
the hard things to do is its voice direction detection module
which would detect direction of the voice of some person, and
comes towards the person.

Can any one tell me how to design the voice detection module.
And immediately after posting, this link for robotic supplies came in on
sci.electronics.basic
http://www.saroff.com/electronics/
 
"Baphomet" <fandaDEATH2SPAMMERS@catskill.net> wrote in message
news:vp3fb4mebv7222@corp.supernews.com...
"Baphomet" <fandaDEATH2SPAMMERS@catskill.net> wrote in message
news:vp3eucsikke440@corp.supernews.com...

"Dr_PhD" <Dr_PhD007@hotmail.com> wrote in message
news:e2a2e813.0310181310.79d48951@posting.google.com...
hello!
i am designing a robot along the many functionalities, one of
the hard things to do is its voice direction detection module
which would detect direction of the voice of some person, and
comes towards the person.

Can any one tell me how to design the voice detection module.
and one more resource but they are currently off-line
http://www.robohoo.com/
 
"Dr_PhD" <Dr_PhD007@hotmail.com> wrote in message
news:e2a2e813.0310181310.79d48951@posting.google.com...
hello!
i am designing a robot along the many functionalities, one of
the hard things to do is its voice direction detection module
which would detect direction of the voice of some person, and
comes towards the person.

Can any one tell me how to design the voice detection module.
Some more links that may be of interest........
Measure phase difference:
http://www.restena.lu/convict/Jeunes/PhaseSound.htm

Speed of sound in humid air calc:
http://www.npl.co.uk/acoustics/techguides/speedair/

HTHs
Greg the Grog
 
In article
<zavrhjqbagvapyhqrguvfmncnay.hn125m0.pminews@news.text.chello.nl>,
mnieuw@dontincludethis.zap.a2000.nl mentioned...
On 18 Oct 2003 14:10:08 -0700, Dr_PhD wrote:

hello!
i am designing a robot along the many functionalities, one of
the hard things to do is its voice direction detection module
which would detect direction of the voice of some person, and
comes towards the person.

Can any one tell me how to design the voice detection module.

You might want to try the doppler trick used by radio transmitter detection
equipment, for instance radio amateur 'fox hunt' equipment, where they
electronically switch between multiple attennas to simulate an antenna fast
going around in circles.
You mount several non-moving omnidirectional microphones spaced in a circle
around the head (say 8 miniature fet mikes pointing upwards). Electronically
switch between them so that the 'active' microphone appears to be going in
circles. This 'rotation' has to be done considerable slower (say, 10 Hz) than
the lowest frequency you are going to monitor. You determine doppler
variations by looking for the rotation frequency in the signal. And because
you know which direction the virtual microphone is rotating, you can
determine the direction of the sound source.
But there are considerable complications compared to radio use:
- In radio, you're looking at a single frequency, single source known to be
coming from one (unknown) direction.
- With sound, you might have multiple sources, at multiple frequecies each.
If you limit the approach to e.g. a (dog) whistle, that might make things
very much simpler. I think that in theory this approach might be able to
determine the directions of multiple sound sources simultaneously, but you
probably have to throw a lot of math and cpu power at it; once you manage
that, you likely can split the audio streams so that each source has its own
stream.
Might work okay if you're outside where there are no reflections. But
inside, with reflections - lotsa luck.

Mat Nieuwenhoven

--
@@F@r@o@m@@O@r@a@n@g@e@@C@o@u@n@t@y@,@@C@a@l@,@@w@h@e@r@e@@
###Got a Question about ELECTRONICS? Check HERE First:###
http://users.pandora.be/educypedia/electronics/databank.htm
My email address is whitelisted. *All* email sent to it
goes directly to the trash unless you add NOSPAM in the
Subject: line with other stuff. alondra101 <at> hotmail.com
Don't be ripped off by the big book dealers. Go to the URL
that will give you a choice and save you money(up to half).
http://www.everybookstore.com You'll be glad you did!
Just when you thought you had all this figured out, the gov't
changed it: http://physics.nist.gov/cuu/Units/binary.html
@@t@h@e@@a@f@f@l@u@e@n@t@@m@e@e@t@@t@h@e@@E@f@f@l@u@e@n@t@@
 
On 18 Oct 2003 14:10:08 -0700, Dr_PhD wrote:

hello!
i am designing a robot along the many functionalities, one of
the hard things to do is its voice direction detection module
which would detect direction of the voice of some person, and
comes towards the person.

Can any one tell me how to design the voice detection module.
You might want to try the doppler trick used by radio transmitter detection
equipment, for instance radio amateur 'fox hunt' equipment, where they
electronically switch between multiple attennas to simulate an antenna fast
going around in circles.
You mount several non-moving omnidirectional microphones spaced in a circle
around the head (say 8 miniature fet mikes pointing upwards). Electronically
switch between them so that the 'active' microphone appears to be going in
circles. This 'rotation' has to be done considerable slower (say, 10 Hz) than
the lowest frequency you are going to monitor. You determine doppler
variations by looking for the rotation frequency in the signal. And because
you know which direction the virtual microphone is rotating, you can
determine the direction of the sound source.
But there are considerable complications compared to radio use:
- In radio, you're looking at a single frequency, single source known to be
coming from one (unknown) direction.
- With sound, you might have multiple sources, at multiple frequecies each.
If you limit the approach to e.g. a (dog) whistle, that might make things
very much simpler. I think that in theory this approach might be able to
determine the directions of multiple sound sources simultaneously, but you
probably have to throw a lot of math and cpu power at it; once you manage
that, you likely can split the audio streams so that each source has its own
stream.

Mat Nieuwenhoven
 
Anthony Fremont wrote:

"Dr_PhD" <Dr_PhD007@hotmail.com> wrote in message
news:e2a2e813.0310181310.79d48951@posting.google.com...
hello!
i am designing a robot along the many functionalities, one of
the hard things to do is its voice direction detection module
which would detect direction of the voice of some person, and
comes towards the person.

Can any one tell me how to design the voice detection module.

One possibility is to use the time delay between multiple microphones.
Voice wouldn't be the best thing for this, something like a click or
other sound with a short attack time. Two microphones would give you
the ability to tell the angle the sound is coming from, but not whether
it's in front or back of you. Three mics would give enough information
to you. The math is non-trivial, but I think it could be easily enough
done in a PIC by using a table lookup of precalculated angles from 0-90
degrees.

With a spacing of 1' between two of the microphones, there would be a
delay varying from 0 to about 1mS depending upon the angle of incidence
of the sound being heard. The third mic is place ahead of or behind the
two used for timing measurements. It is used only to tell whether the
sound is coming from the front or back. Depending upon which of the two
timing mics hear the sound first gives you the right or left component
(assuming mikes are placed like ears; one on the left and one on the
right.
Works fine in an anechoic chamber but in a real room where there are
reflections off walls this is harder than you can imagine. The reflections
can be larger than the original apparently too (non-min phase impulse
reponse).

Tom
 
In a gratuitous crosspost to the following groups:

sci.electronics.design,
sci.electronics.components,
sci.electronics.equipment,
sci.electronics.misc,

"Wim Ton" <wimton@blueyonder.co.uk> wrote:

which would detect direction of the voice of some person, and
comes towards the person.
Maybe combine sound with infrared (humans also emit IR). Standard
components, but I admit it will not work if there is more than one
warmblooded animal present.
Another problem with this is if someone wants to fool a robot by
recording voice onto a tape (/minidisc/CDR/mp3 medium) and play it
back for the robot on a boom-box or other player.
Such an IR detector would be useful, however, as a hint to the
robot that it is hearing a voice not attached to a person.

>Wim
 
On 18 Oct 2003 14:10:08 -0700, Dr_PhD007@hotmail.com (Dr_PhD) wrote:
hello!
i am designing a robot along the many functionalities, one of
the hard things to do is its voice direction detection module
which would detect direction of the voice of some person, and
comes towards the person.
Can any one tell me how to design the voice detection module.
Like the human ear does:
listen to phase differences, the phase between sevaral pickups tells
you the direction.

Regards,

Pieter Hoeben
 
Pieter Hoeben wrote:

On 18 Oct 2003 14:10:08 -0700, Dr_PhD007@hotmail.com (Dr_PhD) wrote:

hello!
i am designing a robot along the many functionalities, one of
the hard things to do is its voice direction detection module
which would detect direction of the voice of some person, and
comes towards the person.
Can any one tell me how to design the voice detection module.

Like the human ear does:
listen to phase differences, the phase between sevaral pickups tells
you the direction.

Regards,

Pieter Hoeben
Hi,

Not simple to do unless you are detecting a very short, specific noise.

Theoretically, for such a thing as a voice....

1) Digitize inputs from three sensors in a triangle formation.
2) Compute 'cross correleation' between each pair to find the time
differences.
3) Compute a 'solution' for the only source direction that can produce
these specific time differences.
4) Write your doctoral thesis with the results.




--
Luhan Monat
"LuhanKnows" At 'Yahoo' dot 'Com'
http://members.cox.net/berniekm
 
On Sat, 25 Oct 2003 14:49:30 -0700, bogus@yahoo.com said...
Pieter Hoeben wrote:

On 18 Oct 2003 14:10:08 -0700, Dr_PhD007@hotmail.com (Dr_PhD) wrote:

hello!
i am designing a robot along the many functionalities, one of
the hard things to do is its voice direction detection module
which would detect direction of the voice of some person, and
comes towards the person.
Can any one tell me how to design the voice detection module.

Like the human ear does:
listen to phase differences, the phase between sevaral pickups tells
you the direction.

Regards,

Pieter Hoeben
Hi,

Not simple to do unless you are detecting a very short, specific noise.

Theoretically, for such a thing as a voice....

1) Digitize inputs from three sensors in a triangle formation.
2) Compute 'cross correleation' between each pair to find the time
differences.
3) Compute a 'solution' for the only source direction that can produce
these specific time differences.
4) Write your doctoral thesis with the results.

why write a thesis on something similar to phased array sonar?

mike
 

Welcome to EDABoard.com

Sponsor

Back
Top