Hardware Reference
In-Depth Information
For a quicker installation and one that works anywhere, you can have a cyclic list of passwords held on the server,
and the e-mail must declare the first one on that list to be given access. Once you've been validated, the command is
carried out, and the list cycles around, with the first element being pushed to the bottom:
tail -n +2 list >tempfile
head -n 1 list >>tempfile
mv tempfile list
In this way, anyone watching you type the e-mail or monitoring your traffic only gets access to an old password.
Naturally, both methods can be combined.
Voice
The use of voice for interactive control is a goal for many people, especially when asking about home automation.
I personally blame the talking computer on Star Trek ! But all communication requires two parts, a speaker and a
listener, and the fluidity of natural language makes both these tasks difficult. However, good progress has been made
in both fields.
Understanding a vocal input is a two-part problem. The first involves understanding the words that have actually
been said, which relates to voice recognition software. The second requires the computer to understand the meaning
of those words and how they should be interpreted. The commands to do something with this information, such
as switching on a light, are the easy bit. Because the intention is to control items in your house, rather than dictate
e-mails or letters, the meaning can be governed by a set of rules that you create. So, each command must begin with
computer , for example, to be followed with the name of a device ( bedroom lights ), followed by a command specific
to that device ( switch on ). Again, I blame Star Trek !
For those with a multilingual household, there is the additional consideration of the target language. A phrase
such as “the bedroom light is on” might translate into the equivalent of “the light in the bedroom is on.” This means
that any code like this will need to be changed on a language-by-language basis:
$message = "the $room light is $state";
This is a problem in the real world of software localization, but not here! This is because social contracts exist
whereby a family will generally speak the same language to the computer at home, even if they don't when they're
in public.
By contrast, generating voice output is a comparatively simple task . . . but only because it's been done for us!
There are three methods: vocal phonemes, sampled voices, and combinations of the two. I'll cover these shortly.
The Software for Voice Recognition
This part of the problem is rather poorly supported by Linux currently, which is not surprising. To understand even
the simplest phrases, you need an acoustic model to generate representations of the sounds themselves in a statistical
fashion (often as part of the initial training with a specific speaker) and a language model to consider the probabilities
of what words and sounds are likely to follow another (to limit the processing necessary when analyzing speech), both
of which are language-specific.
Most of the native Linux software is either old and incomplete, impossible to compile, or commercial. Even the
high-grade solutions, such as Sphinx ( http://cmusphinx.org ), require so many levels of installation and training that
no one is really sure if it works!
Search WWH ::




Custom Search