A method of recognizing a wake word for voice commands to a computerized device, comprising the steps of:
- (i) receiving at the computerized device an audio signal from at least one microphone;
- (ii) processing the received audio signal with a first processor in the computerized device, the first processor placing a copy of the processed received audio signal into a circular buffer of a preselected size and the first processor executing a first voice recognition algorithmic model to detect the presence of a predefined wake word, the first voice recognition algorithmic model selected to provide a predefined relative low level of false non-matches of the predefined wake word at the cost of a higher than predefined level of false matches of the predefined wake word;
- (iii) upon the first processor determining a match of the predefined wake word, the first processor providing a second signal to a second processor in the computerized device, the second processor normally operating at a first rate having a first computational capacity, the second signal causing the second processor to commence operating at a second rate having a second computational capacity greater than the first computational capacity, and the second processor:
- (a) copying the contents of the circular buffer into a second buffer;
- (b) copying the processed received audio signal into a third buffer;
- (c) executing a second voice recognition algorithmic model on the contents of the second buffer to verify the presence of the predefined wake word, the second voice recognition algorithmic model requiring greater computational processing than the first voice recognition algorithmic model to achieve a predefined relatively low level of both false non-matches and false matches of the predefined wake word;
- and
- (d) upon completion of analyzing the contents of the second buffer with the second voice recognition algorithmic model, if the second voice recognition algorithmic model determines that the predefined wake word is not present in the second buffer, returning the second processor to operate at the first rate and, if the second voice recognition algorithmic model determines that the predefined wake word is present in the second buffer, then forwarding the contents of the second buffer and the third buffer to a voice processing service located remote from the computerized device, the voice processing service operable to receive and process voice commands.