The core task in a recognition session is related to the so-called pattern matching. In our case, patterns are the codebooks derived from the training voices and each pattern is linked to a class with a specific meaning, ON or OFF. The goal of pattern matching is to classify the new input voice of interest into one of these two classes. Our recognition session is to match the MFCC features of the new input voice to one of the existing codebooks.
The voice recognition is implemented in a Simulink model VocRcgBB_Rcg.mdl
, as shown in the following screenshot:
Similar to the Simulink model for training, the voice recognition model has the same pre-processing blocks, including data normalization, voice detection, and segmentation. The difference is that the Training subsystem is replaced by the Recognition subsystem and a new GPIO Write block is used to control the user LED.
The Recognition subsystem takes three inputs:
1 second buffered audio data
codebkOFF
for voice command...