# US 12,119,000 B2 · Input detection windowing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,119,000 B2
- Document ID: US12119000B2
- Status: Granted
- Kind: B2
- Application number: 18/316,434
- Filed: 2023-05-12
- Published: 2023-11-02
- Granted: 2024-10-15
- Earliest claimed: 2020-05-20
- Assignees: Sonos, Inc.
- Applicants: Sonos, Inc.
- Inventors: Connor Kristopher Smith; Matthew David Anderson
- Web page: https://patentgrep.com/patent/US12119000B2

## CPC

- G10L 15/22: Procedures used during a speech recognition process, e.g. man-machine dialogue
- G06F 3/165: {Management of the audio stream, e.g. setting of volume, audio stream path}
- G06F 3/167: {Audio in a user interface, e.g. using voice commands for navigating, audio feedback}
- G10L 15/1815: {Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning}
- G10L 15/30: Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
- G10L 25/51: for comparison or discrimination
- G10L 2015/088: {Word spotting}
- G10L 2015/223: {Execution procedure of a spoken command}
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A device, such as Network Microphone Device or a playback device, detecting an event associated with the device or a system comprising the device. In response, an input detection window is opened for a given time period. During the given time period the device is arranged to receive an input sound data stream representing sound detected by a microphone. The input sound data stream is analyzed for a plurality of keywords and/or a wake-word for a Voice Assistant Service (VAS) and, based on the analysis, it is determined that the input sound data stream includes voice input data comprising a keyword or a wake-word for a VAS. In response, the device takes appropriate action such as causing the media playback system to perform a command corresponding to the keyword or sending at least part of the input sound data stream to the VAS.

## Claims

### Claim 1

A playback device forming part of a media playback system including a controller device, the playback device comprising:
at least one microphone;
at least one processor; and
data storage having instructions stored thereon that are executed by the at least one processor to cause the playback device to perform operations comprising:
receiving a message from the controller device indicative of a user interaction via a controller application on the controller device, wherein the user interaction does not relate to activating a voice input;
responsive to the message, opening an input detection window for a given time period;
while the input detection window is open:
receiving an input sound data stream from the at least one microphone before the input detection window ends, wherein the input sound data stream represents sound detected by the at least one microphone;
analyzing the input sound data stream for a plurality of keywords supported by the playback device;
determining, based on the analysis, that the input sound data stream includes voice input data comprising a keyword from among the plurality of keywords supported by the playback device; and
responsive to the determining that the input sound data stream includes voice input data comprising a keyword, causing a command corresponding to the keyword to be performed.

### Claim 2 (depends on 1)

The playback device of claim 1, wherein the user interaction comprises one or more of: launching a controller application on the controller device, selecting a next track, interacting with a playback queue via the controller device, or adjusting volume via the controller device.

### Claim 3 (depends on 1)

The playback device of claim 1, wherein the operations further comprise:
storing historical data in the data storage, the historical data including user interaction events and any associated commands; and
analyzing the historical data to adjust the given time period associated with the input detection window.

### Claim 4 (depends on 3)

The playback device of claim 3, wherein the given time period is associated with a user account of the playback device or a system comprising the playback device.

### Claim 5 (depends on 1)

The playback device of claim 1, wherein outside of the input detection window, the input sound data stream is not analyzed.

### Claim 6 (depends on 1)

The playback device of claim 1, further comprising a network interface, wherein the operations further comprise:
transmitting, via the network interface and during the input detection window, at least part of the input sound data stream to one or more remote computing devices for analysis;
receiving data including a remote command from the one or more remote computing devices, the remote command being supported by the playback device; and
causing the playback device to perform the remote command.

### Claim 7 (depends on 1)

The playback device of claim 1, wherein the analyzing the input sound data stream comprises determining a keyword by at least one of:
natural language processing to determine an intent, based on an analysis of the keyword in the input sound data stream; and
pattern-matching based on a predefined library of keywords and associated keywords.

### Claim 8

A method to be performed by a playback device forming part of a media playback system including a controller device, the playback device comprising at least one microphone configured to detect sound, the method comprising:
receiving a message from the controller device indicative of a user interaction via a controller application on the controller device, wherein the user interaction does not relate to activating a voice input;
responsive to the message, opening an input detection window for a given time period;
while the input detection window is open:
receiving an input sound data stream from the at least one microphone before the input detection window ends, wherein the input sound data stream represents sound detected by the at least one microphone;
analyzing the input sound data stream for a plurality of keywords supported by the playback device;
determining, based on the analysis, that the input sound data stream includes voice input data comprising a keyword from among the plurality of keywords supported by the playback device; and
responsive to the determining that the input sound data stream includes voice input data comprising a keyword, causing a command corresponding to the keyword to be performed.

### Claim 9 (depends on 8)

The method of claim 8, wherein user interaction comprises one or more of: launching a controller application on the controller device, selecting a next track, interacting with a playback queue via the controller device, or adjusting volume via the controller device.

### Claim 10 (depends on 8)

The method of claim 8, further comprising:
storing historical data in a data storage, the historical data including user interaction events and any associated commands; and
analyzing the historical data to adjust the given time period associated with the input detection window.

### Claim 11 (depends on 10)

The method of claim 10, wherein the given time period is associated with a user account of the playback device or a system comprising the playback device.

### Claim 12 (depends on 8)

The method of claim 8, wherein outside of the input detection window, the input sound data stream is not analyzed.

### Claim 13 (depends on 8)

The method of claim 8, wherein the playback device further comprises a network interface, the method further comprising:
transmitting, via the network interface and during the input detection window, at least part of the input sound data stream to one or more remote computing devices for analysis;
receiving data including a remote command from the one or more remote computing devices, the remote command being supported by the playback device; and
causing the playback device to perform the remote command.

### Claim 14 (depends on 8)

The method of claim 8, wherein the analyzing the input sound data stream comprises determining a keyword by at least one of:
natural language processing to determine an intent, based on an analysis of the keyword in the input sound data stream; and
pattern-matching based on a predefined library of keywords and associated keywords.

### Claim 15

One or more tangible, non-transitory computer-readable media having instructions stored thereon that are executable by one or more processors to cause a playback device to perform operations, the playback device forming part of a media playback system including a controller device, the playback device comprising at least one microphone configured to detect sound, the operations comprising:
receiving a message from the controller device indicative of a user interaction via a controller application on the controller device, wherein the user interaction does not relate to activating a voice input;
responsive to the message, opening an input detection window for a given time period;
while the input detection window is open:
receiving an input sound data stream from the at least one microphone before the input detection window ends, wherein the input sound data stream represents sound detected by the at least one microphone;
analyzing the input sound data stream for a plurality of keywords supported by the playback device;
determining, based on the analysis, that the input sound data stream includes voice input data comprising a keyword from among the plurality of keywords supported by the playback device; and
responsive to the determining that the input sound data stream includes voice input data comprising a keyword, causing a command corresponding to the keyword to be performed.

### Claim 16 (depends on 15)

The one or more tangible, non-transitory computer-readable media of claim 15, wherein the user interaction comprises one or more of: launching a controller application on the controller device, selecting a next track, interacting with a playback queue via the controller device, or adjusting volume via the controller device.

### Claim 17 (depends on 15)

The one or more tangible, non-transitory computer-readable media of claim 15, wherein the operations further comprise:
storing historical data including person-detection events and any associated commands; and
analyzing the historical data to adjust the given time period associated with the input detection window.

### Claim 18 (depends on 15)

The one or more tangible, non-transitory computer-readable media of claim 15, wherein outside of the input detection window, the input sound data stream is not analyzed.

### Claim 19 (depends on 15)

The one or more tangible, non-transitory computer-readable media of claim 15, wherein the playback device further comprises a network interface, wherein the operations further comprise:
transmitting, via the network interface and during the input detection window, at least part of the input sound data stream to one or more remote computing devices for analysis;
receiving data including a remote command from the one or more remote computing devices, the remote command being supported by the playback device; and
causing the playback device to perform the remote command.

### Claim 20 (depends on 15)

The one or more tangible, non-transitory computer-readable media of claim 15, wherein the analyzing the input sound data stream comprises determining a keyword by at least one of:
natural language processing to determine an intent, based on an analysis of the keyword in the input sound data stream; and
pattern-matching based on a predefined library of keywords and associated keywords.
