This disclosure relates to dynamically changing the master audio playback device of a set that includes two or more audio playback devices.
Sets of audio playback devices, such as multi-room zones, and groups comprising left-right stereo pairs of devices or multiple devices of a surround sound system, have a master device that ensures that the audio data is played by each device at the appropriate time. In order to accommodate the user's desire to select different audio sources for the zone or group, there should be some means to allow the master device to be changed while the devices are playing audio.
All examples and features mentioned below can be combined in any technically possible way.
In one aspect, a method for dynamically changing the master audio playback device of a set comprising at least two audio playback devices, wherein one audio playback device of the set is a set master audio playback device that controls the play of audio data by at least one other slave audio playback device of the set, includes receiving at a first slave audio playback device the selection of the first slave audio playback device as a new recipient of audio data, and in response to receiving at the first slave audio playback device the selection of the first slave audio playback device as the new recipient of audio data designating the first slave audio playback device as a new set master audio playback device, and designating the set master audio playback device as a new slave audio playback device, where the new set master audio playback device controls the play of audio by the new slave audio playback device.
Embodiments may include one of the following features, or any combination thereof. The set may include a plurality of audio playback devices. The set may comprise a group comprising at least two group audio playback devices, wherein the group has one group master audio playback device and at least one group slave audio playback device, where the group master audio playback device controls the play of audio by the at least one group slave audio playback device. The group may comprise a left-right stereo pair of audio playback devices. The group may comprise multiple surround sound audio playback devices. The first slave audio playback device may be a group slave audio playback device. The first slave audio playback device may be designated as both the new set master audio playback device and the new group master audio playback device. The new set master audio playback device can distribute audio data to all other audio playback devices of the set, and the group master audio playback device may control the play of audio by all group slave audio playback devices.
Embodiments may include one of the following features, or any combination thereof. The set master device may control the play of audio data that originates from a first audio source, the selection of the new recipient of audio data may comprise selection of audio data from a second audio source that differs from the first audio source, and the new set master device may control the play of audio from the second audio source. The second audio source may comprise a Bluetooth audio data stream from a Bluetooth-enabled source device. Bluetooth audio data may be distributed by the new set master audio playback device to all set slave audio playback devices. The audio data may be distributed to the set slave audio playback devices by one of Bluetooth, WiFi, and via a local access point. The second audio source may comprise an auxiliary audio data input. The first slave audio playback device may comprise a user interface comprising a user-operated switch that when operated initiates a Bluetooth connection between the first slave audio playback device and the second audio source.
In another aspect, an audio playback device that is adapted to become the new set master audio playback device of a set comprising at least two audio playback devices, wherein one audio playback device of the set is an original set master audio playback device that controls the play of audio data by at least one other slave audio playback device of the set, includes a digital-to-analog converter configured to receive an audio stream comprising a digital representation of audio content via a network and convert the audio stream to analog form, an electro-acoustic transducer, a network interface, and a processor coupled to the digital-to-analog converter, the electro-acoustic transducer, and the network interface. The processor is configured to receive the selection of the audio playback device as a new recipient of audio data and in response to receiving the selection of the audio playback device as the new recipient of audio data, designate the audio playback device as the new set master audio playback device, where the new set master audio playback device controls the play of audio by the set slave audio playback devices.
Embodiments may include one of the above and/or below features, or any combination thereof. The set can include a plurality of audio playback devices. The set may comprise a group comprising at least two group audio playback devices, wherein the group has one group master audio playback device and at least one group slave audio playback device, where the group master audio playback device controls the play of audio by the at least one group slave audio playback device. The group may comprise a left-right stereo pair of audio playback devices. The group may comprise multiple surround sound audio playback devices. The audio playback device may comprise a group slave audio playback device. The audio playback device may be designated as both the new set master audio playback device and the new group master audio playback device. The new set master audio playback device may distribute audio data to all other audio playback devices of the set, and the group master audio playback device may control the play of audio by all group slave audio playback devices.
Embodiments may include one of the above and/or below features, or any combination thereof. The set master may control the play of audio data that originates from a first audio source, the selection of the new recipient of audio data may comprise selection of audio data from a second audio source that differs from the first audio source, and the new set master device may control the play of audio from the second audio source. The second audio source may comprise a Bluetooth audio data stream from a Bluetooth-enabled source device. Bluetooth audio data may be distributed by the new set master audio playback device to all set slave audio playback devices. The audio data may be distributed to the set slave audio playback devices by one of Bluetooth, WiFi, and via a local access point. The second audio source may comprise an auxiliary audio data input. The audio playback device may comprise a user interface comprising a user-operated switch that when operated initiates a Bluetooth connection between the audio playback device and the second audio source.
Multiple audio playback devices can be organized as a “set” of devices that are synchronized such that the audio is played by each device at the correct time. Synchronization can be facilitated by designating one device of the set as the set master device that distributes the audio to the other set devices and controls the audio playback time of some or all of the other set devices. A “set” of devices can include (or can be) a “zone” of multiple coordinated devices that are typically each playing the same audio content (e.g., devices in different rooms of a home). A “set” can also include (or can be) a “group” of devices, where the devices of a group each synchronously play less than all of the audio content. Two non-limiting examples of a group include a left-right stereo pair (where one device plays the left channel content and the other device plays the right channel content) and a surround sound configuration with at least two (and usually more than two) devices, each of which plays part of the total surround sound content (e.g., the left and right front, center channel, and two surround channels for a 5.1 surround sound system).
The individual audio playback devices (speaker packages) that are part of a set of devices (e.g., comprise a zone and/or group of devices) each have the capability of receiving audio via an auxiliary (Aux) source or via a Bluetooth source, and to redistribute that audio to other audio playback devices via a WiFi network or the like. The auxiliary or Bluetooth input can be selected through physical buttons on the devices. The devices are each individually configured to provide a stereo output. Two devices can be paired together to provide a left-right stereo pair (or “group”), such that each device in such a “group” provides only one channel of the L-R stereo audio. A different group configuration includes multiple devices that are configured as a surround sound system; surround sound systems are known in the art.
When devices are “grouped” in this manner, one of the two or more group devices will serve as a master and the other(s) as slave(s), as further described below. Generally, the master-slave relationship is unknown to the user. However, a problem exists in that all of the devices in a group will have aux-in and Bluetooth buttons that allow a user to select an auxiliary or Bluetooth source for any particular device. So, for example, a user who is completely unaware of the master-slave relationship may attempt to pair a Bluetooth source to a slave device.
In the past, if a slave device of a multi-room “zone” comprising two or more devices synchronously playing the same content was selected to receive input from a Bluetooth source (e.g., by pressing on the Bluetooth button on the top of the slave device housing), then this device would merely break off from the zone and become a stand-alone device with its own audio source. However, in the context of a group it is desirable to maintain the association of the group members so that they perpetually behave as single speaker (for a left-right stereo pair) or otherwise behave together as designated for the group members. Breaking up the group is not a desirable option. The present disclosure helps to ensure that if a user presses the Bluetooth or aux input button on a group slave speaker the relationship between the group members is maintained, and the expected response, from the user's perspective, is provided. That is, the user should be able to select any device of the group to receive a Bluetooth or Aux input and the devices should establish the requested connection and maintain the current group configuration and performance.
More generally, in a set of audio playback devices the set master device receives audio data from a source, and distributes the data and control information to other devices of the set, which act as set slave devices under the control of the set master device. Device audio data reception and distribution, and master/slave control, are further described below. If during audio play by the audio playback devices of the set of devices the user desires to use a slave device to receive audio data (e.g., by pairing a Bluetooth or auxiliary source with the slave), in the current system this slave device is removed from the set and acts as a stand-alone device. However, the user may want to maintain the current synchronized play among some or all of the devices of the set. This objective can be accomplished by designating the new audio data recipient as the new set master device, and designating the original master device as a slave. This way, the user can switch audio sources without having to change or reconfigure an existing group or zone of synchronized devices.
Audio distribution system 100,
One use of system 100 is to play digital audio data, including but not limited to an audio stream, over one or more of the audio playback devices in set 112. The sources of digital audio provide access to content such as audio streams that move over network 116 to the audio playback devices. The sources of such audio streams can include, for example, Internet radio stations and user defined playlists. Each of such digital audio sources maintains a repository of audio content which can be chosen by the user to be played over one or more of the audio playback devices. Such digital audio sources can include Internet-based music services such as Pandora®, Spotify® and vTuner®, for example. Network attached storage devices such as digital audio source 130, and media server applications such as may be found on a mobile computing device, can also be sources of audio data. In a non-limiting example, the user selects the audio source and the playback devices via PC 126 and/or mobile device 128.
When a user has chosen to have an audio stream played on more than one of the audio playback devices of the set, in order for the music to be properly synchronized such that the same tracks are playing synchronously on all of the active audio playback devices there needs to be appropriate and sufficient coordination among all of the active audio playback devices. One manner in which such coordination can be accomplished is to use one of the audio playback devices to control the distribution of audio data to all of the other active audio playback devices that are being used to play content. This device which controls audio data distribution to the other active playback devices can be considered a set master device, and the rest of the active devices (i.e., the rest of the playback devices that are being used to play content) can be considered to be set slave devices. In addition to an audio stream, the set master device also provides control data (e.g., via a control data stream) to at least some of the set slave devices. The control data includes timing information which enables the set slave devices to synchronize playback of the streamed audio content with the set master device. In one example, the control data includes a “play at” time, which corresponds to a time when the playback devices are to begin playback of the streamed audio data. Devices joining the playback set after playback has started may also use the “play at” time to determine where in the stream to begin playback in order to sync up with the other active playback devices in the set.
To help ensure that the playback of the audio content is and remains synchronized, the respective internal clocks of the individual playback devices are synchronized. In principle, such clocks comprise an oscillator and a counter. Clock synchronization of audio playback devices is further described in application Ser. No. 15/087,021, filed on Mar. 31, 2016, the entire disclosure of which is incorporated herein by reference.
In an existing multi-device system, such as disclosed in U.S. Pat. No. 9,078,072, the disclosure of which is incorporated herein by reference, when one or more playback devices are added to an already playing playback device, the result is the formation of a multi-device zone which is managed by the playback device that was initially playing the audio. All of the playback devices are clock synchronized. The audio data that gets distributed to the playback devices are time-stamped, and due to clock synchronization the audio is played synchronously at all playback devices. The manager of the zone is the zone master device, and its main functions are audio control and audio distribution. The remaining device(s) in the zone are referred to as zone slaves. The device which is responsible for the clock synchronization is called the clock master. The clock master is part of the same network as all the other devices, but may or may not be part of the same zone. In some cases the clock master can be the same as the zone master device, but it need not be.
The main roles of the zone audio master are audio distribution to and audio control of the slaves. The zone audio master establishes secure connections to each of the slaves in the zone. This connection may or may not be over the home router or access point, and the connection between each zone slave and the zone master may or may not be unique (i.e., the connection can be unicast or multicast). Time-stamped audio packets are then distributed over each of these connections to the individual zone slaves. The zone slaves use the time-stamps to play audio at the correct time. Apart from an audio distribution channel, there is also a control channel which is established between the zone audio master and the zone slave devices. The control channel is used to send out audio control messages. When playback is requested at the zone audio master, the zone audio master starts buffering the data before starting playback. During this time audio is also distributed to the zone slaves through the audio distribution channel.
Two or more of the zone audio playback devices can be configured as a coordinated group, for example for left-right stereo pair playback, or as multiple speakers of a surround sound system. A group can exist independently of a zone. The members of the group are preferably selected by the user, for example via a user interface (UI) of a smartphone application that can be used to set-up the zone and/or the group. The group master device can in one non-limiting example be pre-established as either the left or right device of the group, or as a defined device of the surround sound group of devices. In a group, the devices of the group play different audio data from one another, at least some of the time. An example is depicted in audio distribution system 200,
Group master 210 is the audio control master of left-right group 208. Group master device 210 can be either the left or the right device of group 208. The other device of the group 208 (i.e., device 212) is the group slave to the group master, much in the same way all devices in a regular multi-device zone configuration are control zone slaves to the zone audio master. The main functionality of the group master is to decide when the devices of the group start playback. This decision is made when the group master receives a play command (e.g., from the zone audio master) and (i) all of the devices of the group have reached minimum required buffer depth to start playback, (ii) the device package hardware is ready on all group devices, and (iii) the clocks on all group devices are synced to the clock master. Both the devices in group 208 start playback simultaneously as soon as the group master 210 issues a command to do so based on these requirements. This is further described below.
The role of the zone audio master 202 is the same for this mixed-mode configuration 200 as it is for the regular configuration disclosed in U.S. Pat. No. 9,078,072. In the case where one device of group 208 is the zone audio master (i.e., the controller of the zone), any device of the group can be the zone audio master.
In the mixed-mode configuration illustrated by system 200,
Zone master 202 preferably distributes audio to all other devices of the zone, including all devices of the group 208, although audio distribution to the devices of the zone and the group could be handled in other manners, such as from the source directly to each active device. Such audio distribution can be accomplished using any currently known or future-developed data distribution technology, including but not limited to Bluetooth, WiFi, and via a local access point such as a home router. In this non-limiting example, audio channels 221, 223, 225 and 226 are used for distribution of audio from zone master 202 to each other device. Also, preferably but not necessarily, all devices of group 208 receive all of the audio data that is to be played on all of the devices of the group. Thus both of devices 210 and 212 receive all of the left and right audio data (or in the case of a different group such as a surround sound group, each of the devices of the group receives all of the data for the entire group). This enables additional functionality, such as custom equalization and down-mix for the group, which govern how the audio will be played back on each of the devices.
In a group-only configuration where all devices are part of a group, the group master is the only master, and functions in the same manner as does the zone master as described above. All of the other group members are group slaves that receive audio data and control from the group master.
The preferred steps involved in synchronizing audio play among several audio playback devices which include a zone and/or group of devices as described above, are disclosed in U.S. patent application Ser. No. 15/212,246 filed on Jul. 17, 2016, attorney docket number 22706-00143/WS-16-019-US, the entire contents of which are incorporated herein by reference. Accordingly, synchronization is not further described herein.
Referring to
An example is illustrated in
In order to maintain the integrity of the zone such that synchronized audio continues to play in the zone (and in the group, if a group is present as in the example of
Once the reconfiguration of the zone and the group(s) (if one or more groups are present in the zone) is complete, operation of the system returns to normal wherein the new zone master (device 306) receives audio data and distributes it to all the zone slaves, step 324. Also, the zone master provides control information to all zone slaves that are not slaves in a group, step 326. The group master (also device 306 in this example) provides audio play control information to all group slaves, step 328.
In a case in which the set includes only a group (i.e., where there is no zone), the group master controls both audio distribution and audio play control of the rest of the devices, which are all group slaves. If a group slave is later selected to receive audio this slave is designated as the new group master and the original group master becomes a group slave. The other original group slaves remain as group slaves.
An exemplary audio playback device 110 will now be described in greater detail with reference to
The assigned entities can be associated with different ones of the digital audio sources such that a single audio playback device 110 can provide for single press access to various different digital audio sources. In one example, the assigned entities include at least (i) user-defined playlists of digital music and (ii) Internet radio stations. In another example, the digital audio sources include a plurality of Internet radio sites, and the assigned entities include individual radio stations provided by those Internet radio sites.
Notably, the preset indicators 418 operate in the same manner, at least from a user's perspective, regardless of which entities are assigned and which of the digital audio sources provide the assigned entities. That is, each preset indicator 418 can provide for single press access to its assigned entity whether that entity is a user-defined playlist of digital music provided by a Bluetooth device or an NAS device, or an Internet radio station provided by an Internet music service, as two non-limiting examples.
With reference to
The network interface 420 provides for communication between the audio playback device 110, the remote server (item 140,
In some cases, the network interface 420 may also include a network media processor 434 for supporting Apple AirPlay® (a proprietary protocol stack/suite developed by Apple Inc., with headquarters in Cupertino, Calif., that allows wireless streaming of audio, video, and photos, together with related metadata between devices). For example, if a user connects an AirPlay® enabled device, such as an iPhone or iPad device, to the LAN 118, the user can then stream music to the network connected audio playback devices 110 via Apple AirPlay®. A suitable network media processor is the DM870 processor available from SMSC of Hauppauge, N.Y. The network media processor 434 provides network access (i.e., the Wi-Fi network and/or Ethernet connection can be provided through the network media processor 434) and AirPlay® audio. AirPlay® audio signals are passed to the processor 422, using the I2S protocol (an electrical serial bus interface standard used for connecting digital audio devices), for downstream processing and playback. Notably, the audio playback device 110 can support audio-streaming via AirPlay® and/or DLNA's UPnP protocols, and all integrated within one device.
All other digital audio coming from network packets comes straight from the network media processor 434 through a USB bridge 436 to the processor 422 and runs into the decoders, DSP, and eventually is played back (rendered) via the electro-acoustic transducer(s) 415.
The network interface 420 can also include a Bluetooth low energy (BTLE) system-on-chip (SoC) 438 for Bluetooth low energy applications (e.g., for wireless communication with a Bluetooth enabled controller (not shown)). A suitable BTLE SoC is the CC2540 available from Texas Instruments, with headquarters in Dallas, Tex.
Streamed data pass from the network interface 420 to the processor 422. The processor 422 can execute instructions within the audio playback device (e.g., for performing, among other things, digital signal processing, decoding, and equalization functions), including instructions stored in the memory 428. The processor 422 may be implemented as a chipset of chips that include separate and multiple analog and digital processors. The processor 422 may provide, for example, for coordination of other components of the audio playback device 110, such as control of user interfaces, applications run by the audio playback device 110. A suitable processor is the DA921 available from Texas Instruments.
The processor 422 provides a processed digital audio signal to the audio hardware 424 which includes one or more digital-to-analog (D/A) converters for converting the digital audio signal to an analog audio signal. The audio hardware 424 also includes one or more amplifiers which provide amplified analog audio signals to the electroacoustic transducer(s) 415 for playback. In addition, the audio hardware 424 may include circuitry for processing analog input signals to provide digital audio signals for sharing with other devices in the acoustic system 100.
The memory 428 may include, for example, flash memory and/or non-volatile random access memory (NVRAM). In some implementations, instructions (e.g., software) are stored in memory 428. The instructions, when executed by one or more processing devices (e.g., the processor 422), perform one or more processes, such as those described above (e.g., with respect to
Elements of figures are shown and described as discrete elements in a block diagram. These may be implemented as one or more of analog circuitry or digital circuitry. Alternatively, or additionally, they may be implemented with one or more microprocessors executing software instructions. The software instructions can include digital signal processing instructions. Operations may be performed by analog circuitry or by a microprocessor executing software that performs the equivalent of the analog operation. Signal lines may be implemented as discrete analog or digital signal lines, as a discrete digital signal line with appropriate signal processing that is able to process separate signals, and/or as elements of a wireless communication system.
When processes are represented or implied in the block diagram, the steps may be performed by one element or a plurality of elements. The steps may be performed together or at different times. The elements that perform the activities may be physically the same or proximate one another, or may be physically separate. One element may perform the actions of more than one block. Audio signals may be encoded or not, and may be transmitted in either digital or analog form. Conventional audio signal processing equipment and operations are in some cases omitted from the drawing.
Embodiments of the systems and methods described above comprise computer components and computer-implemented steps that will be apparent to those skilled in the art. For example, it should be understood by one of skill in the art that the computer-implemented steps may be stored as computer-executable instructions on a computer-readable medium such as, for example, floppy disks, hard disks, optical disks, Flash ROMS, nonvolatile ROM, and RAM. Furthermore, it should be understood by one of skill in the art that the computer-executable instructions may be executed on a variety of processors such as, for example, microprocessors, digital signal processors, gate arrays, etc. For ease of exposition, not every step or element of the systems and methods described above is described herein as part of a computer system, but those skilled in the art will recognize that each step or element may have a corresponding computer system or software component. Such computer system and/or software components are therefore enabled by describing their corresponding steps or elements (that is, their functionality), and are within the scope of the disclosure.
A number of implementations have been described. Nevertheless, it will be understood that additional modifications may be made without departing from the scope of the inventive concepts described herein, and, accordingly, other implementations are within the scope of the following claims.
For example, the concepts described above work not only with dedicated speaker packages, such as illustrated in
This application is a continuation of and claims priority of application Ser. No. 15/212,924, filed on Jul. 18, 2016.
Number | Name | Date | Kind |
---|---|---|---|
20130316642 | Newham | Nov 2013 | A1 |
Number | Date | Country | |
---|---|---|---|
20190045314 A1 | Feb 2019 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15212924 | Jul 2016 | US |
Child | 16155090 | US |