February
1998, Issue 91
Low-Cost
Voice Recognition
THE
MAIN ROUTINE
If
the event is for training, the normalized vector in
RAM is stored in memory according to the template number
selected. Templates are stored in memory locations 128–512,
which allows for sixteen 24-byte templates. No comparisons
are performed.
If
the system is recognizing, the normalized input utterance,
which is stored in RAM, is compared element by element
to each previously trained template stored in EEPROM.
The
comparison is a simple Euclidean distance measure, and
an error value accumulates. The minimum error value
is selected and compared to a threshold.
If
the result is above the threshold, the system rejects
the recognition. If the value is low enough, the word
is recognized.
Well,
almost. Two more criteria must also be met: the score
must be low enough, and the two smallest scores must
differ by a large enough value.