IP Library › Granted Patent US 12,470,188
Granted Patent B2
US 12,470,188 · App. 18/492,583 · Granted Nov 11, 2025

Media playback system with maximum volume setting

Inventors: Frank Charlton (Seattle, WA); Jodi Vautrin (Boston, MA); Robert Lambourne (Santa Barbara, CA); Nathan Fish (Ventura, CA); Daniel Casimiro (Mansfield, MA); Won So (Boston, MA)
Assignee: Sonos, Inc.
H03G3/3026G06F3/165G06F3/167G06F9/546H03G3/02H04L51/224H04N21/43615H04N21/4825H04R2430/01
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,470,188
App. No.
18/492,583
Granted
Nov 11, 2025
Kind
B2
Abstract

A command to update a volume level of a group comprising a first and a second playback device to a requested group volume level is detected, the requested group volume level indicating respective requested volume levels for the first and second playback devices. Based on the command, (i) a first volume state variable of the first playback device is determined to be adjusted based on a first maximum volume state variable and (ii) a second volume state variable of the second playback device is determined to be adjusted based on a second maximum volume state variable. Based on the first and second maximum volume state variables, the volume level of the playback group is adjusted to an alternate group volume level different from the requested group volume level. An indication that the volume level of the playback group has been adjusted to the requested group volume level is provided.

Claims (79)

1 . A system comprising:

at least one 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 system is configured to:

maintain maximum volume state variable information relating to one or more playback devices of a media playback system;

detect a command to update a volume level of a playback group comprising a first playback device and a second playback device of the media playback system to a requested playback group volume level, wherein the requested playback group volume level indicates a respective requested volume level for each of the first and second playback devices;

based on the command, determine that a first volume state variable of the first playback device is to be adjusted based on a first maximum volume state variable;

based on the command, determine that a second volume state variable of the second playback device is to be adjusted based on a second maximum volume state variable;

based on the first and second maximum volume state variables, cause the volume level of the playback group to be adjusted to an alternate playback group volume level that is different from the requested playback group volume level; and

cause a computing device to provide an indication that the volume level of the playback group has been adjusted to the requested playback group volume level.

2 . The system of claim 1 , wherein the first maximum volume state variable comprises a respective maximum volume state variable of the first playback device, and wherein the second maximum volume state variable comprises a respective maximum volume state variable of the second playback device that is different from the first maximum volume state variable.

3 . The system of claim 1 , wherein the first maximum volume state variable comprises a respective maximum volume state variable of the first playback device, and wherein the second maximum volume state variable comprises the first maximum volume state variable.

4 . The system of claim 1 , wherein the command comprises user input that is received via an interface of the computing device.

5 . The system of claim 1 , wherein the command comprises user input that is received via an interface of one of the first or second playback devices.

6 . The system of claim 1 , wherein:

the program instructions that are executable by the at least one processor such that the system is configured to determine that the first volume state variable of the first playback device is to be adjusted based on the first maximum volume state variable comprise program instructions that are executable by the at least one processor such that the first playback device is configured to:

obtain the first maximum volume state variable from a cloud-based computing device that is configured to maintain the maximum volume state variable information relating to one or more playback devices of the media playback system; and

based on the first maximum volume state variable and the requested playback group volume level, derive a first alternate volume level for the first playback device;

the program instructions that are executable by the at least one processor such that the system is configured to determine that the second volume state variable of the second playback device is to be adjusted based on the second maximum volume state variable comprise program instructions that are executable by the at least one processor such that the first playback device is configured to:

obtain the second maximum volume state variable from the cloud-based computing device; and

based on the second maximum volume state variable and the requested playback group volume level, derive a second alternate volume level for the second playback device; and

the program instructions that are executable by the at least one processor such that the system is configured to cause the volume level of the playback group to be adjusted to the alternate playback group volume level comprise program instructions that are executable by the at least one processor such that the first playback device is configured to:

adjust the first volume state variable of the first playback device based on the first alternate volume level instead of the respective requested volume level for the first playback device, wherein the first alternate volume level is different from the respective requested volume level for the first playback device; and

send an instruction for the second playback device to adjust the second volume state variable of the second playback device based on the second alternate volume level instead of the respective requested volume level for the second playback device, wherein the second alternate volume level is different from the respective requested volume level for the second playback device.

7 . The system of claim 6 , 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:

after adjusting the first volume state variable of the first playback device based on the first alternate volume level and sending the instruction for the second playback device to adjust the second volume state variable of the second playback device based on the second alternate volume level:

send, to the computing device, a communication indicating that (i) the volume level of the playback group has been adjusted to the requested playback group volume level and that (ii) the first and second volume state variables have been adjusted to the respective requested volume levels for the first and second playback devices.

8 . The system of claim 7 , 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 computing device is configured to:

receive, from the first playback device, the communication indicating that (i) the volume level of the playback group has been adjusted to the requested playback group volume level and that (ii) the respective volume state variables of the first and second playback devices have been adjusted to the respective requested volume levels for the first and second playback devices; and

wherein the 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 system is configured to provide the indication that the volume level of the playback group has been adjusted to the requested playback group volume level comprise 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 computing device is configured to:

display, via an interface of the computing device, the indication that the volume level of the playback group has been adjusted to the requested playback group volume level, wherein the indication further indicates that respective volume levels of the first and second playback devices have been adjusted to the respective requested volume levels.

9 . The system of claim 1 , wherein the first playback device is part of a first zone group and the second playback device is part of a second zone group, and wherein at least one of the first or second maximum volume state variables is determined based on a respective zone scene associated with the first zone group or the second zone group.

10 . At least one non-transitory computer-readable medium, wherein the at least one non-transitory computer-readable medium is provisioned with program instructions that, when executed by at least one processor, cause a system to:

maintain maximum volume state variable information relating to one or more playback devices of a media playback system;

detect a command to update a volume level of a playback group comprising a first playback device and a second playback device of the media playback system to a requested playback group volume level, wherein the requested playback group volume level indicates a respective requested volume level for each of the first and second playback devices;

based on the command, determine that a first volume state variable of the first playback device is to be adjusted based on a first maximum volume state variable;

based on the command, determine that a second volume state variable of the second playback device is to be adjusted based on a second maximum volume state variable;

based on the first and second maximum volume state variables, cause the volume level of the playback group to be adjusted to an alternate playback group volume level that is different from the requested playback group volume level; and

cause a computing device to provide an indication that the volume level of the playback group has been adjusted to the requested playback group volume level.

11 . The at least one non-transitory computer-readable medium of claim 10 , wherein the first maximum volume state variable comprises a respective maximum volume state variable of the first playback device, and wherein the second maximum volume state variable comprises a respective maximum volume state variable of the second playback device that is different from the first maximum volume state variable.

12 . The at least one non-transitory computer-readable medium of claim 10 , wherein the first maximum volume state variable comprises a respective maximum volume state variable of the first playback device, and wherein the second maximum volume state variable comprises the first maximum volume state variable.

13 . The at least one non-transitory computer-readable medium of claim 10 , wherein:

the program instructions that, when executed by at least one processor, cause the system to determine that the first volume state variable of the first playback device is to be adjusted based on the first maximum volume state variable comprise program instructions that, when executed by at least one processor, cause the first playback device to:

obtain the first maximum volume state variable from a cloud-based computing device that is configured to maintain the maximum volume state variable information relating to one or more playback devices of the media playback system; and

based on the first maximum volume state variable and the requested playback group volume level, derive a first alternate volume level for the first playback device;

the program instructions that, when executed by at least one processor, cause the system to determine that the second volume state variable of the second playback device is to be adjusted based on the second maximum volume state variable comprise program instructions that, when executed by at least one processor, cause the first playback device to:

obtain the second maximum volume state variable from the cloud-based computing device; and

based on the second maximum volume state variable and the requested playback group volume level, derive a second alternate volume level for the second playback device; and

the program instructions that, when executed by at least one processor, cause the system to cause the volume level of the playback group to be adjusted to the alternate playback group volume level comprise program instructions that, when executed by at least one processor, cause the first playback device to:

adjust the first volume state variable of the first playback device based on the first alternate volume level instead of the respective requested volume level for the first playback device, wherein the first alternate volume level is different from the respective requested volume level for the first playback device; and

send an instruction for the second playback device to adjust the second volume state variable of the second playback device based on the second alternate volume level instead of the respective requested volume level for the second playback device, wherein the second alternate volume level is different from the respective requested volume level for the second playback device.

14 . The at least one non-transitory computer-readable medium of claim 13 , wherein the at least one non-transitory computer-readable medium is also provisioned with program instructions that, when executed by one or more processors, cause the first playback device to:

after adjusting the first volume state variable of the first playback device based on the first alternate volume level and sending the instruction for the second playback device to adjust the second volume state variable of the second playback device based on the second alternate volume level:

send, to the computing device, a communication indicating that (i) the volume level of the playback group has been adjusted to the requested playback group volume level and that (ii) the first and second volume state variables have been adjusted to the respective requested volume levels for the first and second playback devices.

15 . The at least one non-transitory computer-readable medium of claim 14 , wherein the at least one non-transitory computer-readable medium is also provisioned with program instructions that, when executed by one or more processors, cause the computing device to:

receive, from the first playback device, the communication indicating that (i) the volume level of the playback group has been adjusted to the requested playback group volume level and that (ii) the respective volume state variables of the first and second playback devices have been adjusted to the respective requested volume levels for the first and second playback devices; and

wherein the program instructions that, when executed by one or more processors, cause the system to provide the indication that the volume level of the synchrony playback group has been adjusted to the requested playback group volume level comprise program instructions that, when executed by one or more processors, cause the computing device to:

display, via an interface of the computing device, the indication that the volume level of the playback group has been adjusted to the requested playback group volume level, wherein the indication further indicates that respective volume levels of the first and second playback devices have been adjusted to the respective requested volume levels.

16 . The at least one non-transitory computer-readable medium of claim 10 , wherein the first playback device is part of a first zone group and the second playback device is part of a second zone group, and wherein at least one of the first or second maximum volume state variables is determined based on a respective zone scene associated with the first zone group or the second zone group.

17 . A method carried out by a system, the method comprising:

maintaining maximum volume state variable information relating to one or more playback devices of a media playback system;

detecting a command to update a volume level of a playback group comprising a first playback device and a second playback device of the media playback system to a requested playback group volume level, wherein the requested playback group volume level indicates a respective requested volume level for each of the first and second playback devices;

based on the command, determining that a first volume state variable of the first playback device is to be adjusted based on a first maximum volume state variable;

based on the command, determining that a second volume state variable of the second playback device is to be adjusted based on a second maximum volume state variable;

based on the first and second maximum volume state variables, causing the volume level of the playback group to be adjusted to an alternate playback group volume level that is different from the requested playback group volume level; and

causing a computing device to provide an indication that the volume level of the playback group has been adjusted to the requested playback group volume level.

18 . The method of claim 17 , wherein the first maximum volume state variable comprises a respective maximum volume state variable of the first playback device, and wherein the second maximum volume state variable comprises a respective maximum volume state variable of the second playback device that is different from the first maximum volume state variable.

19 . The method of claim 17 , wherein the first maximum volume state variable comprises a respective maximum volume state variable of the first playback device, and wherein the second maximum volume state variable comprises the first maximum volume state variable.

20 . The method of claim 17 , wherein:

determining that the first volume state variable of the first playback device is to be adjusted based on the first maximum volume state variable comprises:

obtaining the first maximum volume state variable from a cloud-based computing device that is configured to maintain the maximum volume state variable information relating to one or more playback devices of the media playback system; and

based on the first maximum volume state variable and the requested playback group volume level, deriving a first alternate volume level for the first playback device;

determining that the second volume state variable of the second playback device is to be adjusted based on the second maximum volume state variable comprises:

obtaining the second maximum volume state variable from the cloud-based computing device; and

based on the second maximum volume state variable and the requested playback group volume level, deriving a second alternate volume level for the second playback device; and

causing the volume level of the playback group to be adjusted to the alternate playback group volume level comprises:

adjusting the first volume state variable of the first playback device based on the first alternate volume level instead of the respective requested volume level for the first playback device, wherein the first alternate volume level is different from the respective requested volume level for the first playback device; and

sending an instruction for the second playback device to adjust the second volume state variable of the second playback device based on the second alternate volume level instead of the respective requested volume level for the second playback device, wherein the second alternate volume level is different from the respective requested volume level for the second playback device.

Assignments (2)
SECURITY INTEREST Recorded Jan 30, 2026
From: SONOS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 074533/0615 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2025
From: CHARLTON, FRANK; VAUTRIN, JODI; LAMBOURNE, ROBERT; FISH, NATHAN; CASIMIRO, DANIEL; SO, WON
To: SONOS, INC.
Reel/Frame 069761/0144 →
Continuity (5)
Continuation 17556426 · Dec 20, 2021
Continuation 16665154 · Oct 28, 2019
Continuation 16123928 · Sep 6, 2018
Provisional Application 62723942 · Aug 28, 2018
Related Publication 20240072748A1 · Feb 29, 2024
References Cited (80)
US 5440644A · Farinelli et al. · 1995 [cited by applicant]
US 5761320A · Farinelli et al. · 1998 [cited by applicant]
US 5923902A · Inagaki · 1999 [cited by applicant]
US 6032202A · Lea et al. · 2000 [cited by applicant]
US 6061455A · Hadley et al. · 2000 [cited by applicant]
US 6256554B1 · DiLorenzo · 2001 [cited by applicant]
US 6404811B1 · Cvetko et al. · 2002 [cited by applicant]
US 6469633B1 · Wachter · 2002 [cited by applicant]
US 6522886B1 · Youngs et al. · 2003 [cited by applicant]
US 6611537B1 · Edens et al. · 2003 [cited by applicant]
US 6631410B1 · Kowalski et al. · 2003 [cited by applicant]
US 6757517B2 · Chang · 2004 [cited by applicant]
US 6778869B2 · Champion · 2004 [cited by applicant]
US 7130608B2 · Hollstrom et al. · 2006 [cited by applicant]
US 7130616B2 · Janik · 2006 [cited by applicant]
US 7143939B2 · Henzerling · 2006 [cited by applicant]
US 7236773B2 · Thomas · 2007 [cited by applicant]
US 7295548B2 · Blank et al. · 2007 [cited by applicant]
US 7391791B2 · Balassanian et al. · 2008 [cited by applicant]
US 7483538B2 · McCarty et al. · 2009 [cited by applicant]
US 7571014B1 · Lambourne et al. · 2009 [cited by applicant]
US 7630501B2 · Blank et al. · 2009 [cited by applicant]
US 7643894B2 · Braithwaite et al. · 2010 [cited by applicant]
US 7657910B1 · McAulay et al. · 2010 [cited by applicant]
US 7853341B2 · McCarty et al. · 2010 [cited by applicant]
US 7987294B2 · Bryce et al. · 2011 [cited by applicant]
US 8014423B2 · Thaler et al. · 2011 [cited by applicant]
US 8045952B2 · Qureshey et al. · 2011 [cited by applicant]
US 8103009B2 · McCarty et al. · 2012 [cited by applicant]
US 8234395B2 · Millington · 2012 [cited by applicant]
US 8447048B2 · Chen et al. · 2013 [cited by applicant]
US 8483853B1 · Lambourne · 2013 [cited by applicant]
US 8638394B2 · Onodera · 2014 [cited by applicant]
US 8670574B2 · Ito et al. · 2014 [cited by applicant]
US 8942252B2 · Balassanian et al. · 2015 [cited by applicant]
US 9270242B2 · Ito · 2016 [cited by examiner]
US 9529565B2 · Bae et al. · 2016 [cited by applicant]
US 10013381B2 · Mayman et al. · 2018 [cited by applicant]
US 10187025B1 · May · 2019 [cited by examiner]
US 10216475B2 · Park · 2019 [cited by examiner]
US 11206002B2 · Charlton · 2021 [cited by examiner]
US 20010042107A1 · Palm · 2001 [cited by applicant]
US 20020022453A1 · Balog et al. · 2002 [cited by applicant]
US 20020026442A1 · Lipscomb et al. · 2002 [cited by applicant]
US 20020124097A1 · Isely et al. · 2002 [cited by applicant]
US 20030157951A1 · Hasty, Jr. · 2003 [cited by applicant]
US 20040024478A1 · Hans et al. · 2004 [cited by applicant]
US 20070142944A1 · Goldberg et al. · 2007 [cited by applicant]
US 20110051959A1 · Ito et al. · 2011 [cited by applicant]
US 20150293744A1 · Bae et al. · 2015 [cited by applicant]
US 20160378430A1 · McCarthy · 2016 [cited by applicant]
US 20190007232A1 · Kim et al. · 2019 [cited by applicant]
EP 1389853A1 · 2004 [cited by applicant]
WO 200153994 · 2001 [cited by applicant]
WO 2003093950A2 · 2003 [cited by applicant]
AudioTron Quick Start Guide, Version 1.0, Mar. 2001, 24 pages. [cited by applicant]
AudioTron Reference Manual, Version 3.0, May 2002, 70 pages. [cited by applicant]
AudioTron Setup Guide, Version 3.0, May 2002, 38 pages. [cited by applicant]
Bluetooth. “Specification of the Bluetooth System: The ad hoc Scatternet for affordable and highly functional wireless connectivity,” Core, Version 1.0 A, Jul. 26, 1999, 1068 pages. [cited by applicant]
Bluetooth. “Specification of the Bluetooth System: Wireless connections made easy,” Core, Version 1.0 B, Dec. 1, 1999, 1076 pages. [cited by applicant]
Dell, Inc. “Dell Digital Audio Receiver: Reference Guide,” Jun. 2000, 70 pages. [cited by applicant]
Dell, Inc. “Start Here,” Jun. 2000, 2 pages. [cited by applicant]
“Denon 2003-2004 Product Catalog,” Denon, 2003-2004, 44 pages. [cited by applicant]
Jo et al., “Synchronized One-to-many Media Streaming with Adaptive Playout Control,” Proceedings of SPIE, 2002, pp. 71-82, vol. 4861. [cited by applicant]
Jones, Stephen, “Dell Digital Audio Receiver: Digital upgrade for your analog stereo,” Analog Stereo, Jun. 24, 2000 http://www.reviewsonline.com/articles/961906864.htm retrieved Jun. 18, 2014, 2 pages. [cited by applicant]
Louderback, Jim, “Affordable Audio Receiver Furnishes Homes With MP3,” TechTV Vault. Jun. 28, 2000 retrieved Jul. 10, 2014, 2 pages. [cited by applicant]
Non-Final Office Action mailed Jul. 23, 2021, issued in connection with U.S. Appl. No. 16/665,154, filed Oct. 28, 2019, 8 pages. [cited by applicant]
Non-Final Office Action mailed on Jan. 18, 2019, issued in connection with U.S. Appl. No. 16/123,928, filed Sep. 6, 2018, 16 pages. [cited by applicant]
Non-Final Office Action mailed on Feb. 27, 2023, issued in connection with U.S. Appl. No. 17/556,426, filed Dec. 20, 2021, 8 pages. [cited by applicant]
Notice of Allowance mailed on Jul. 19, 2019, issued in connection with U.S. Appl. No. 16/123,928, filed Sep. 6, 2018, 8 pages. [cited by applicant]
Notice of Allowance mailed on Jun. 21, 2023, issued in connection with U.S. Appl. No. 17/556,426, filed Dec. 20, 2021, 8 pages. [cited by applicant]
Notice of Allowance mailed on Nov. 4, 2021, issued in connection with U.S. Appl. No. 16/665,154, filed Oct. 28, 2019, 8 pages. [cited by applicant]
Palm, Inc., “Handbook for the Palm VII Handheld,” May 2000, 311 pages. [cited by applicant]
Presentations at WinHEC 2000, May 2000, 138 pages. [cited by applicant]
U.S. Appl. No. 60/490,768, filed Jul. 28, 2003, entitled “Method for synchronizing audio playback between multiple networked devices,” 13 pages. [cited by applicant]
U.S. Appl. No. 60/825,407, filed Sep. 12, 2006, entitled “Controlling and manipulating groupings in a multi-zone music or media system,” 82 pages. [cited by applicant]
UPnP; “Universal Plug and Play Device Architecture,” Jun. 8, 2000; version 1.0; Microsoft Corporation; pp. 1-54. [cited by applicant]
Yamaha DME 64 Owner's Manual; copyright 2004, 80 pages. [cited by applicant]
Yamaha DME Designer 3.5 setup manual guide; copyright 2004, 16 pages. [cited by applicant]
Yamaha DME Designer 3.5 User Manual; Copyright 2004, 507 pages. [cited by applicant]