Maker Pro
Maker Pro

Home Speech recognition for Home Automation

S

Soren

Hi,

I'm looking at possibilities of constructing a relatively cheap home
speech recognition system to turn appliances on and off. As i see it I
have several options:

- Use a computer: Pros: Good Software is easy to get, Probably the
fastest way to get a system. Devices could be run from the serial/
parallel port.
Cons: Expensive solution for such a
"simple task". Computer must be dedicated and run all the time = high
power consumption = expensive.

- Build a system from speech recognition IC's or Microcontrollers:
Pros: Components are relatively cheap, Low
power consumption, Good recognition rate
Cons: Components are often SMD's (haven't
found any that are not) which means specialized equipment is to be
used. Demo/development boards costs too much to justify its use. Maybe
long development time.

- Buy Specialized solution:
Pros: Plug'n'play
Cons: Extremely expensive, removes the fun
of DIY :)

What I really need is a robust recognition system that works with
microphones not placed directly in front of the speaker.. like in the
corner of the living room.

Does anyone here know of such a system, or tried to develop one? It
only needs to recognize 5-10 words. It's really a "toy" project.

Thanks,
Soren
 
J

Jan Panteltje

Hi,

I'm looking at possibilities of constructing a relatively cheap home
speech recognition system to turn appliances on and off. As i see it I
have several options:

- Use a computer: Pros: Good Software is easy to get, Probably the
fastest way to get a system. Devices could be run from the serial/
parallel port.
Cons: Expensive solution for such a
"simple task". Computer must be dedicated and run all the time = high
power consumption = expensive.

- Build a system from speech recognition IC's or Microcontrollers:
Pros: Components are relatively cheap, Low
power consumption, Good recognition rate
Cons: Components are often SMD's (haven't
found any that are not) which means specialized equipment is to be
used. Demo/development boards costs too much to justify its use. Maybe
long development time.

- Buy Specialized solution:
Pros: Plug'n'play
Cons: Extremely expensive, removes the fun
of DIY :)

What I really need is a robust recognition system that works with
microphones not placed directly in front of the speaker.. like in the
corner of the living room.

Does anyone here know of such a system, or tried to develop one? It
only needs to recognize 5-10 words. It's really a "toy" project.

Thanks,
Soren

If you wait until end of month Asus will come out with a Linux based
198$ laptop, the Eee PC, run perlbox voice on it.
Perlbox-voice is user independent, needs no training, and that PC platform
cannot be beaten for cost.
As to far away mikes, it may or may not work depending on environment
noise.
Beware of false triggers too.
 
S

Soren

If you wait until end of month Asus will come out with a Linux based
198$ laptop, the Eee PC, run perlbox voice on it.
Perlbox-voice is user independent, needs no training, and that PC platform
cannot be beaten for cost.
As to far away mikes, it may or may not work depending on environment
noise.
Beware of false triggers too.

Nice, Thanks for the tip! I'm not sure about Eee PC, the price in
Denmark will be close to what I could build a server for myself (also
using old parts i have lying around). I didn't know about perlbox, and
thats very interesting, since I could then run Linux, and save alot on
required hardware specifications.

As for the microphones... yes it may prove difficult to get good
recognition if im far away.. multiple microphones could maybe solve
it.. but then I have to come up with a way to use multiple microphones
on one input, and isolate speech from noise and echo.
 
E

Ecnerwal

Soren said:
Cons: Components are often SMD's (haven't
found any that are not) which means specialized equipment is to be
used.

If you have a good magnifier to see what you are doing (or a pair of
"strong" reading glasses), skinny solder and a soldering iron with a
fine point, SMDs are no big deal to hand solder. Really.
Does anyone here know of such a system, or tried to develop one? It
only needs to recognize 5-10 words. It's really a "toy" project.

That's good. I find the idea of the overly automated house rather
difficult to grasp the appeal of - whether the "my house is online"
version (Hackers broke into my house systems and...) or the voice
control version (I was on the phone, and the house went berserk
listening to the conversation). Having a computer or microprocessor
collate and coordinate house systems seems fine, the methods of control
should be quite well defined so that the odds of unpleasant conditions
are reduced to a practical minimum.
 
S

Soren

Thanks for the tips everyone!

I found an IC that looks like the thing I need... its a HM2007(P) ..
now I have trouble finding a place to actually buy it.. the problem
is.. i only need 1. not import 100..

Does anyone here know where to buy a HM2007 ? I found the datasheet
here: http://www.imagesco.com/speech/HM2007.pdf

Thanks,
Soren
 
S

Stanislaw Flatto

Soren said:
Hi,

I'm looking at possibilities of constructing a relatively cheap home
speech recognition system to turn appliances on and off. As i see it I
have several options:

- Use a computer: Pros: Good Software is easy to get, Probably the
fastest way to get a system. Devices could be run from the serial/
parallel port.
Cons: Expensive solution for such a
"simple task". Computer must be dedicated and run all the time = high
power consumption = expensive.

- Build a system from speech recognition IC's or Microcontrollers:
Pros: Components are relatively cheap, Low
power consumption, Good recognition rate
Cons: Components are often SMD's (haven't
found any that are not) which means specialized equipment is to be
used. Demo/development boards costs too much to justify its use. Maybe
long development time.

- Buy Specialized solution:
Pros: Plug'n'play
Cons: Extremely expensive, removes the fun
of DIY :)

What I really need is a robust recognition system that works with
microphones not placed directly in front of the speaker.. like in the
corner of the living room.

Does anyone here know of such a system, or tried to develop one? It
only needs to recognize 5-10 words. It's really a "toy" project.

Thanks,
Soren
From your description(s) some things came to mind.
Have you ever used keyfinder which responds to whistle or handclap.
They usually include the recognition of noise (microphone?) and respond
by activating included noise producing circuit.
Extremely convenient to start a "toy" project.
Beware - in some of them batteries not included!

Have fun

Stanislaw
Slack user from Ulladulla.
 
S

Soren

From your description(s) some things came to mind.
Have you ever used keyfinder which responds to whistle or handclap.
They usually include the recognition of noise (microphone?) and respond
by activating included noise producing circuit.
Extremely convenient to start a "toy" project.
Beware - in some of them batteries not included!

Have fun

Stanislaw
Slack user from Ulladulla.

Thanks! Actually the idea came after i fell over a hand clapping
circuit, used to turn appliances on/off. However, i wanted something a
bit more advanced.. with less chance of false activation. The hand
clapper switch is just set off by a loud noise... (i'll build one
anyway though:)) so is the keychain wistler (had one of those once).
Also, by connecting a record/playback IC, i could make the HM2007
"answer back". Which i think is pretty neat.

While surfing the net for my HM2007, I found someone who did a Talking
Toaster.. funny application. http://www.the4cs.com/~corin/cse477/toaster/

I got the HM2007, 10$ .. only problem is i live in denmark.. grr..
everything costs a fortune in transport to have it sent. But it's not
nice either to charge 24$ to send two IC's to Denmark! But the HM2007
is out of production,... and these guys where the only ones that sold
single quantities.

Soren
 
J

Jeff Liebermann

Soren said:
What I really need is a robust recognition system that works with
microphones not placed directly in front of the speaker.. like in the
corner of the living room.

Does anyone here know of such a system, or tried to develop one? It
only needs to recognize 5-10 words. It's really a "toy" project.

About 5 years ago, I was volunteered to look at several local home
automation system that included voice control. I have to look at my
office records to find the vendors. They were similar to what you are
looking for. You can walk into any room, say the secret prefix, and
the various microphones would attempt to pickup your voice and
initiate a command.

At least that was the theory. The reality was quite different. It
didn't work at all if there was any unusual background noise. Run the
vacuum cleaner, TV, stereo, or even have a running conversation going
in the same room, would cause a failure to communicate. The system
solved this problem by muting the sources of audio that it controlled
when it thought it heard a command. That meant that the TV and hi-fi
audio were always going on and off as commercials tended to set off
the speech recognition system. If there were several groups of people
talking at the same time, the system would not recognize anyone's
voice. Interestingly, when the washing machine was running, voice
control within 2 rooms of the machinery would not work.

My fast fix was to install telephone handsets in every room (on the
existing control panels) and hot wire the voice control system into
the telephone switch. The user had to punch in the proper prefix
(extension number) before the system would recognize their commands.
It was fascinating to watch a 3 year old command the system perfectly,
while all the grownups had nothing but problems.

Lots of commercial products around that will do voice control. You
might want to buy or adapt one:
<http://www.smarthomeusa.com/Shop/Voice/>
<http://www.home-automation.org>
<http://www.smarthome.com/_/ProductResults.aspx?Ntt=voice control>
<http://www.hometoys.com/review.php4?displayid=172>

I've also played with voice control far back as the 1970's, where we
used mechanically resonant fiber optic bundles (Sceptron or Spectral
Comparative Pattern Recognizer) to recognize syllables for what
eventually became an IVR (interactive voice response) system for a
hospital pharmacy. Much later, I was doing battle with a system for
use on a production test line to allow the tech to control the test
equipment and still have use of both hands. That monster was
eventually replaced by a totally functional foot switch and a few push
buttons.

I've never designed or even re-designed a speech recognition system.
My involvement was to get involved after various companies or
individuals had lost the battle with the system and were looking for
someone to do damage control. That makes me a non-expert with a bad
attitude with lots of field experience disarming or reconfiguring
voice control systems.

Not all such systems are useless or badly designed. I use Microsoft's
Voice Command:
<http://www.microsoft.com/windowsmobile/voicecommand/default.mspx>
quite effectively on my PDA phone (Verizon XV6700). MS also has
various speech recognition products, some of which I've tried with
widely varying degrees of success:
<http://www.microsoft.com/speech/>
<http://www.microsoft.com/downloads/...95-7A23-46A0-BBBC-06EF009C053A&displaylang=en>

One thing I learned quickly was that the system has to have a positive
method of being enabled and disabled or there is going to be a serious
falsing problem. That should be an "out of band" push button, motion
detector, or key fob. It cannot be anything "in band" such as a code
word or hand clap. That's what originally was causing all the
problems with the home automation systems I "fixed". Also, there's
security, which I never really addressed. You don't want the 3 year
olds friends trying to take over the house (which has happened).

I don't think that starting at chip level is the correct approach.
There are plenty of relatively cheap IR remote control systems that
offer voice control as a starting point. Most have about a 50 word
trainable vocabulary. Use one of those to build your system. There's
nothing preventing you from using the output to trigger a relay,
switch, or device. The real problems are not in the hardware
implementation or even in the recognition algorithms. They're in how
the user interacts with the device and how you deal with error
conditions and modes (i.e. software). You'll hit those soon enough.

Good luck.
 
G

Gary Tait

Cons: Components are often SMD's (haven't
found any that are not) which means specialized equipment is to be
used. Demo/development boards costs too much to justify its use. Maybe
long development time.

0.05" SMD I can do on perfboard.

[http://www.flickr.com/photos/classicsat/1352831770/in/set-
72157601929352158/]

Any finer I'd go for some sort of pre-built board, perhaps doing some I/O
on a .05 protoboard, or full sized DIP.

If I were going to try, I'd find a ready to go SBC and get my hands dirty
with software.
 
Top