Talking to Your Home
Volume Number: 17
Issue Number: 1
Column Tag: Home Automation
By Bruce Lawton
The futuristic world of talking to your home to operate everything in it is here now!
Well, how many times have we heard claims like that? The truth is: for some it really
is here now; for others, it is not quite ready yet. Speech recognition technology is
delivering some amazing results already and it is just getting better as the computers
get faster and the recognition software continues to improve.
To make it happen, we'll be talking about voice commands, microphone(s), a Power
Macintosh, software, X-10 home automation hardware and your existing lamps,
appliances and other gadgets. This discussion assumes you're already familiar with
general X-10 home automation. If not, check out the June 2000 issue of MacTech.
Why You Might Want to Use Voice Commands
The most useful application for speech recognition is for persons wanting to overcome
a physical handicap. With limited mobility or limited dexterity, speech recognition
enables someone to operate lamps, appliances and home entertainment units that would
otherwise be difficult or impossible to operate. In this way, the quality of life can be
greatly improved, giving the person a bit more independence.
For those who are not physically limited, operating the home by voice can be a matter
of convenience or just plain fun. How many times have you settled into bed and then
realized (perhaps with a little helpful reminder from your dear significant other)
that some lights were left on? The easiest thing to do is to say "Turn off all lights.
It is also impressive to show your PC friends what your Macintosh will do in response
to your voice commands. There's nothing quite like seeing everyday hardware operated
by voice.
Figure 1. From voice to lamp.
Setting up the Microphone(s)
To get started, you must first plan how you're going to get your voice to your
Macintosh. There are at least three ways to do it. The most inexpensive microphone
configuration is the standard PlainTalk, corded microphone connected directly to your
Mac. The obvious drawback is that the cord restricts the distance you can go from your
Mac while issuing voice commands. In some situations, this may be adequate.
The most cost-effective approach giving you more range is to use a wireless
microphone that transmits your voice as your own personal FM radio station. Then you
have a small FM radio connected to your Mac to feed the sound in. The range on the
microphone should enable operation from anywhere in a normal-sized home. My own
experience is that the Pro.2 microphone from Lotus Productions (
www.lotusproductions.com, (800) 211-3778 ) works well and costs around $45. A
small $25 radio from Radio Shack will receive the FM signal and should be connected
to either your A/V Mac's RCA input jacks or directly to the PlainTalk mic jack using a
standard 3.5 mm stereo plug as shown below. The PlainTalk jack is really a stereo
line-level input. The extra length of the plug allows the Mac to supply power to the tip
which is then used by circuitry in the PlainTalk mic. The normal 3.5 mm stereo plug
doesn't use that available power. The headphone jack of the radio provides an audio
signal compatible with the PlainTalk mic input. Make sure you adjust the radio headset
volume to get the clearest sound with no clipping.
Figure 2. FM microphone and radio.
The deluxe approach is to use in-wall microphones and a mixer. This costs the most,
but can give you completely hands-free voice control from any room. There is a fair
amount of experience in the comp.home.automation newsgroup from those who have set
this up on Windows. It can work well, though I must admit I haven't done this myself -
my own home has far too much "noise". Wired microphones can be great for a home
with one or maybe two people living there, but may not work well with several people.
The Mac's PlainTalk can get confused if it is listening to many voices at once. When
using in-wall microphones, each mic has a cable that is run back to the mixer, which
is presumably near the Mac. The audio output from the mixer is then connected to the
Mac's sound input. Similar to the FM radio configuration, you can feed the line-level
signal either into your A/V Mac's RCA input jacks or directly into the PlainTalk mic
jack using a standard 3.5 mm stereo plug.
Shure (www.shure.com, (847) 866-2200) makes the SCM-410 and SCM-810
mixers with 4 and 8 inputs respectively. They dynamically cut out the microphones
that are not being used, improving the audio quality for the microphone you're
speaking to. They cost $800 and $1,200 at iAutomate ( www.iAutomate.com, (800)
741-6790 ). HomeVoice also makes a mixer, sold as part of their "Multiroom
Processor Kit" at SmartHome (www.smarthome.com, (800) 762-7846) for $690.
Good, compatible, in-wall microphones vary greatly in price, from $70 to $250 or
more. One of the most recommended models is the Crown PZM-11, sold at iAutomate
and SmartHome.
Figure 3. In-wall microphones with a mixer.
The Software
For our purposes, there are two categories of speech recognition software: dictation
and discrete commands. IBM's ViaVoice is an excellent way to get your speech dictation
into the Macintosh, but the resulting stream of words is not "understood" by the
ViaVoice software. That is, it doesn't know what action you want taken in response to
the words. Dictation software is intended as an alternate method of text input - it is not
going to help you operate your X-10 system. This is where you want software that
understands discrete commands. PlainTalk is at the heart of this type of speech
recognition. As it has steadily improved over the years and CPU's have sped up, the
reliability has become quite good. The Thinking Home application uses PlainTalk to
make your X-10 devices available. First, install PlainTalk. This is done via a
"Custom" installation from your MacOS CD or it can be downloaded from Apple's web
site at . Next, ensure you have checked the
"Respond to Voice Commands" checkbox in the Preferences as seen in Figure 4.
Figure 4. Enabling speech commands.
You need to have a device named "Bedroom Lamp" like the example of Figure 5. Now you
can say "Turn off the bedroom lamp." and Thinking Home will do the right thing.
Figure 5. Your device names are used by PlainTalk.
Syntax of What You Say to Make it Work
In order to operate a device using Thinking Home, you speak a normal sentence, with
the action followed by the device name. For example, "Turn off the bedroom lamp." or
"Set the thermostat to heat." The precise syntax is shown here in Backus-Naur Form
notation:
"What is the status of the> |
"Set the" "to"
::= "Turn on" | "Turn off" | "Dim" | "Brighten ::= the device name used in the Thinking Home document
::= | "thermostat
::= "Heat" | "Cool" | "Off
More examples:
• Turn on the bedroom lamp.
• Turn off the kitchen light.
• Dim the theater lights. - will be dimmed by 35%
• Brighten the bedroom lamp. - for a gentle start in the morning.
• Set the thermostat to cool.
• What is the status of the sidewalk lights?
Note that the thermostat can be referred to by the name you gave it, like any other
device. Or you can refer to it simply as "thermostat" and Thinking Home will use the
first thermostat it finds in any open document.
There are some caveats to asking for the status of a device. First of all, the Mac will
speak the reply and you may not be at your Macintosh if you are using the wireless mic
or mics installed in each room. The other issue is the accuracy of the status. This will
depend on whether the X-10 module is able to report its status. Two-way device
modules ($25+) will report their status, but the most common modules that sell for
$4 to $12 do not. If you're using an ActiveHome CM-11A computer interface, it will
keep track of X-10 commands observed on your home wiring and will report the status
of the lamp. This assumes you have not operated it manually. The report from a
two-way lamp module would reflect its actual state, including manual operation.
You can also control your X-10 thermostat by saying "Set the thermostat to cool." The
choices for thermostat modes are cool, heat and off. Unfortunately, you cannot say "Set
the thermostat to 72 degrees." This is one place where PlainTalk is not quite ready.
Recognizing spoken numbers is much more difficult than most other speech.
Speakable Items (installed with PlainTalk) is another way to access some of Thinking
Home's functionality via speech. For example, you may want to know the time of sunset
on a regular basis. By making a Speakable Item like the example below, you can say to
your Macintosh "When is sunset?" and the Speakable Items application will run the
the AppleScript by that name. The AppleScript can, in turn, tell Thinking Home to
speak the time of today's sunset as seen here in Figure 6.
Figure 6. Using Speakable Items to get the time of sunset.
This is also how you can get XTension v3.0 (from Sand Hill Engineering) to respond to
your voice. Although XTension does not have built-in support for PlainTalk, it does
have excellent support for AppleScript. You can use Speakable Items for speech
recognition and make an AppleScript for each command you want recognized. Your
scripts in the Speakable Items folder will tell XTension which X-10 device to operate.
For example, to get the time of sunset, you'd write a script almost exactly as that for
Thinking Home.
Figure 7. XTension Speakable Item for getting the time of sunset.
To use XTension to operate devices via speech, you create an AppleScript like that in
Figure 8 and name it as you intend to speak it. Like before, you name this script "Turn
off the bedroom lamp". You'll also need to make a similar one for "Turn on the bedroom
lamp.
Figure 8. XTension Speakable Item for operation of a device.
To get device status using XTension, you write an AppleScript similar to that shown in
Figure 9.
Figure 9. XTension Speakable Item for getting the status of a device.
Since faster CPU's seem to perform better than slower ones, you will probably want to
avoid using a Power Macintosh running less than 100 MHz.
The Shure web site has a wealth of useful information and general advice regarding the
various options, such as ceiling- vs. wall-mounted microphones.
<http://www.shure.com/support/technotes/app-soundcard.html#Macintosh>
Before you demo your cool home to others, test it out in advance. In particular, check
that it works reliably from all locations you plan to be when showing it. When using a
wireless microphone, ensure the range is sufficient to operate consistently from all
locations where you will be using it. Also, make sure the ambient sounds are the same.
Putting on background music just as your guests arrive will change the "noise" level
and your speech commands may very well get lost. Once you have it set up nicely, your
friends will be amazed.
Conclusion
Integrating speech recognition into your Macintosh X-10 home automation can be
useful, convenient and fun. This futuristic technology is ready and affordable today and
still improving. Select an arrangement that fits your lifestyle and budget and try it
out.
• http://www.apple.com/macos/speech/
Apple's Plaintalk download page.
• http://www.shed.com/
Sand Hill Engineering home page (for XTension)
• http://www.alwaysthinking.com/products/products.html
Thinking Home product page.
• http://www.lotusproductions.com
Lotus Productions (wireless microphones)
•
http://www.shure.com/support/technotes/app-soundcard.html#Macinto
sh
Shure home page (audio mixers)
• news:comp.home.automation
Home automation newsgroup with emphasis on X-10
______________________________
Bruce Lawton is still an enthusiastic Macintosh developer who first got hooked over
15 years ago. He can be reached at bruce@alwaysthinking.com.