Systems and methods of multiple voice services
AssigneeSonos, Inc.
InventorsKlaus Hartung, Daniele Giacobello
Life of this patent
Estimating the term…
Abstract
Disclosed herein are example techniques to identify a voice service to process a voice input. An example implementation may involve a network microphone device (NMD) receiving, via a microphone, voice data indicating a voice input. The NMD may identify, from among multiple voice services registered to a media playback system, a voice service to process the voice input and cause, via a network interface, the identified voice service to process the voice input.
Claims23
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.
A non-transitory computer-readable medium, wherein the non-transitory computer-readable medium is provisioned with program instructions that, when executed by at least one processor, cause a network microphone device to:
- receive, at a first time via at least one microphone of the network microphone device, 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 a network interface of the network microphone device, 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.
A method carried out by a network microphone device, the method comprising:
- receiving, at a first time via at least one microphone of the network microphone device, 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;
- identifying, 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, selecting the particular voice service and forgoing selection of another voice service for processing the first voice input;
- transmitting, via a network interface of the network microphone device, at least the second portion of the first voice data representing the first voice command to the particular voice service;
- receiving, 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;
- determining 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, selecting a voice service from among the plurality of voice services for processing the second voice input;
- and
- transmitting, 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.
Dependencies are inferred from the claim text.