| CPC G10L 15/22 (2013.01) [G06F 3/167 (2013.01); G10L 15/08 (2013.01); G10L 15/30 (2013.01); G10L 25/51 (2013.01); G10L 2015/088 (2013.01); G10L 15/14 (2013.01); G10L 2015/223 (2013.01); G10L 15/32 (2013.01)] | 23 Claims |

|
1. A network microphone device comprising:
at least one microphone;
a network interface;
at least one processor;
at least one non-transitory computer-readable medium; and
program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the network microphone device is configured to:
receive, at a first time via the at least one microphone, first voice data indicating a first voice input, wherein the first voice data includes a first portion representing an activation word corresponding to one of a plurality of voice services and a second portion representing a first voice command, wherein the plurality of voice services are externally registered to a media playback system associated with the networked microphone device;
identify, from among the plurality of voice services, a particular voice service to process the first voice input, wherein the identifying comprises determining a closest match of the first portion of the first voice data representing the activation word with corresponding activation word data stored in a recognition dataset on the network microphone device;
based on the determined closest match, select the particular voice service and forgo selection of another voice service for processing the first voice input;
transmit, via the network interface, at least the second portion of the first voice data representing the first voice command to the particular voice service;
receive, at a second time after the first time via the at least one microphone, second voice data indicating a second voice input, wherein at least a portion of the second voice data represents a second voice command different from the first voice command;
determine that the second voice data was received less than a threshold period of time after the first voice data was received;
based at least on (i) the selection of the particular voice service for processing the first voice input and (ii) the determination that the second voice data was received less than a threshold period of time after the first voice data was received, select a voice service from among the plurality of voice services for processing the second voice input; and
transmit, via the network interface, at least the portion of the second voice data representing the second voice command to the voice service selected for processing the second voice input.
|