# US 12,602,196 B2 · Audio playback adjustment

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

- Number: US 12,602,196 B2
- Document ID: US12602196B2
- Status: Granted
- Kind: B2
- Application number: 17/878,697
- Filed: 2022-08-01
- Published: 2022-11-17
- Granted: 2026-04-14
- Earliest claimed: 2013-09-30
- Assignees: Sonos, Inc.
- Applicants: Sonos, Inc.
- Inventors: Luis Vega-Zayas; Ted Lin; Jim Dolan
- Web page: https://patentgrep.com/patent/US12602196B2

## CPC

- G06F 3/165: {Management of the audio stream, e.g. setting of volume, audio stream path}
- G06F 3/162: {Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs}
- G10L 19/018: Audio watermarking, i.e. embedding inaudible data in the audio signal
- G11B 27/005: {Reproducing at a different information rate from the information rate of recording (for television signals H04N5/783)}
- G11B 27/11: by using information not detectable on the record carrier
- H04N 21/4333: {Processing operations in response to a pause request}
- H04N 21/43615: {Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals (home Audio Video Interoperability [HAVI] data switching networks H04L12/2805)}
- H04N 21/8106: {involving special audio data, e.g. different tracks for different languages}
- H04N 21/8547: involving timestamps for synchronizing content
- H04R 29/007: {for public address systems (public address systems per se H04R27/00)}
- H04R 2227/005: Audio distribution systems for home, i.e. multi-room use
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04R: LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS (producing sounds with frequency not determined by supply frequency G10K)

## Abstract

A first playback device is configured to (i) place audio frames representative of audio content in a buffer, each frame including respective playback timing information identifying a time to play back the audio frame, (ii) transmit the audio frames in the buffer to a second playback device, (iii) receive a command to adjust playback of the audio content, (iv) based on the command, identify a range of audio frames previously transmitted, (v) select a new start time for the range of audio frames, (vi) cause the second playback device to update the playback timing information for each audio frame in the range based on the new start time, (vii) update, in the buffer, the playback timing information for each audio frame in the range based on the new start time, and (viii) play back the audio content in synchrony with the second playback device based on the updated playback timing information.

## Claims

### Claim 1

A first playback device comprising:
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 first playback device is configured to:
place audio frames representative of audio content in a buffer of the first playback device, each audio frame comprising respective playback timing information identifying a time, relative to a master clock, to play back the audio frame;
transmit the audio frames in the buffer to a second playback device for synchronous playback with the first playback device;
receive a first command to pause playback of the audio content;
receive a second command to resume playback of the audio content;
based on the second command, identify a range of audio frames previously transmitted by the first playback device to the second playback device for which playback timing information is to be updated;
select a new start time for the previously transmitted range of audio frames;
without retransmitting the previously transmitted range of audio frames, transmit (i) an indication of the new start time and (ii) an indication of the range of previously transmitted audio frames to the second playback device and thereby cause the second playback device to update the playback timing information for each audio frame in the range of previously transmitted audio frames based on the new start time;
update, in the buffer of the first playback device, the playback timing information for each audio frame in the range of previously transmitted audio frames based on the new start time; and
resume playback of the audio content by playing back each audio frame in the range of previously transmitted audio frames in synchrony with the second playback device based on the updated playback timing information.

### Claim 2 (depends on 1)

The first playback device of claim 1, wherein the command is a seek command to adjust a current playback location in the audio content to a different location in the audio content.

### Claim 3 (depends on 1)

The first playback device of claim 1, further comprising 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 first playback device is configured to:
before receiving the first command, play back the audio content in synchrony with the second playback device, wherein the program instructions that are executable by the at least one processor such that the first playback device is configured to receive the first command comprise program instructions that are executable by the at least one processor such that the first playback device is configured to receive the first command while playing back the audio content in synchrony with the second playback device.

### Claim 4 (depends on 1)

The first playback device of claim 1, wherein the program instructions that are executable by the at least one processor such that the first playback device is configured to identify the range of audio frames previously transmitted by the first playback device to the second playback device comprise program instructions that are executable by the at least one processor such that the first playback device is configured to identify a range of audio frames that have not yet been played in synchrony with the second playback device.

### Claim 5 (depends on 4)

The first playback device of claim 4, wherein the program instructions that are executable by the at least one processor such that the first playback device is configured to identify the range of audio frames that have not yet been played in synchrony with the second playback device comprise program instructions that are executable by the at least one processor such that the first playback device is configured to identify whichever audio frame in the buffer was scheduled to be played next when the first command was received.

### Claim 6 (depends on 1)

The first playback device of claim 1, wherein the program instructions that are executable by the at least one processor such that the first playback device is configured to identify the range of audio frames previously transmitted by the first playback device to the second playback device comprise program instructions that are executable by the at least one processor such that the first playback device is configured to identify a range of audio frames that have been previously played in synchrony with the second playback device.

### Claim 7 (depends on 1)

The first playback device of claim 1, wherein the program instructions that are executable by the at least one processor such that the first playback device is configured to receive the first command comprise program instructions that are executable by the at least one processor such that the first playback device is configured to receive the first command from a control device.

### Claim 8

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 first playback device to:
place audio frames representative of audio content in a buffer of the first playback device, each audio frame comprising respective playback timing information identifying a time, relative to a master clock, to play back the audio frame;
transmit the audio frames in the buffer to a second playback device for synchronous playback with the first playback device;
receive a first command to pause playback of the audio content;
receive a second command to resume playback of the audio content;
based on the second command, identify a range of audio frames previously transmitted by the first playback device to the second playback device for which playback timing information is to be updated;
select a new start time for the previously transmitted range of audio frames;
without retransmitting the previously transmitted range of audio frames, transmit (i) an indication of the new start time and (ii) an indication of the range of previously transmitted audio frames to the second playback device and thereby cause the second playback device to update the playback timing information for each audio frame in the range of previously transmitted audio frames based on the new start time;
update, in the buffer of the first playback device, the playback timing information for each audio frame in the range of previously transmitted audio frames based on the new start time; and
resume playback of the audio content by playing back each audio frame in the range of previously transmitted audio frames in synchrony with the second playback device based on the updated playback timing information.

### Claim 9 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the command is a seek command to adjust a current playback location in the audio content to a different location in the audio content.

### Claim 10 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the non- transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the first playback device to:
before receiving the first command, play back the audio content in synchrony with the second playback device, wherein the program instructions that, when executed by at least one processor, cause the first playback device to receive the first command comprise program instructions that, when executed by at least one processor, cause the first playback device to receive the first command while playing back the audio content in synchrony with the second playback device.

### Claim 11 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the program instructions that, when executed by at least one processor, cause the first playback device to identify the range of audio frames previously transmitted by the first playback device to the second playback device comprise program instructions that, when executed by at least one processor, cause the first playback device to identify a range of audio frames that have not yet been played in synchrony with the second playback device.

### Claim 12 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the program instructions that, when executed by at least one processor, cause the first playback device to identify the range of audio frames that have not yet been played in synchrony with the second playback device comprise program instructions that, when executed by at least one processor, cause the first playback device to identify whichever audio frame in the buffer was scheduled to be played next when the first command was received.

### Claim 13 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the program instructions that, when executed by at least one processor, cause the first playback device to identify the range of audio frames previously transmitted by the first playback device to the second playback device comprise program instructions that, when executed by at least one processor, cause the first playback device to identify a range of audio frames that have been previously played in synchrony with the second playback device.

### Claim 14 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the program instructions that, when executed by at least one processor, cause the first playback device to receive the first command comprise program instructions that, when executed by at least one processor, cause the first playback device to receive the command from a control device.

### Claim 15

A method implemented by a first playback device, the method comprising:
placing audio frames representative of audio content in a buffer of the first playback device, each audio frame comprising respective playback timing information identifying a time, relative to a master clock, to play back the audio frame;
transmitting the audio frames in the buffer to a second playback device for synchronous playback with the first playback device;
receiving a first command to pause playback of the audio content;
receiving a second command to resume playback of the audio content;
based on the second command, identifying a range of audio frames previously transmitted by the first playback device to the second playback device for which playback timing information is to be updated;
selecting a new start time for the previously transmitted range of audio frames;
without retransmitting the previously transmitted range of audio frames, transmitting (i) an indication of the new start time and (ii) an indication of the range of previously transmitted audio frames to the second playback device and thereby causing the second playback device to update the playback timing information for each audio frame in the range of previously transmitted audio frames based on the new start time;
updating, in the buffer of the first playback device, the playback timing information for each audio frame in the range of previously transmitted audio frames based on the new start time; and
resuming playback of the audio content by playing back each audio frame in the range of previously transmitted audio frames in synchrony with the second playback device based on the updated playback timing information.

### Claim 16 (depends on 15)

The method of claim 15, wherein the command is a seek command to adjust a current playback location in the audio content to a different location in the audio content.

### Claim 17 (depends on 15)

The method of claim 15, wherein receiving the first command comprises receiving the command from a control device.
