# Patent

## Title
Frequency routing based on orientation

## Abstract

Systems, methods, and apparatus for frequency routing based on orientation are disclosed. An example method includes receiving, by a playback device, an audio data stream. The example method includes determining, by the playback device, an orientation of the playback device. The example method includes routing, by the playback device, a first set of frequencies in the audio data stream to at least one of a plurality of speaker drivers based on the first orientation. The example method includes routing, by the playback device, a second set of frequencies in the audio data stream to the at least one of the plurality of speaker drivers based on the second orientation, wherein the first set of frequencies is different than the second set of frequencies.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
This application claims the benefit of priority, as a continuation, to U.S. patent application Ser. No. 14/684,927, entitled “Configuration Based on Speaker Orientation”, filed on Apr. 13, 2015, which claims priority as a continuation of U.S. patent application Ser. No. 13/186,249, entitled “SHAPING SOUND RESPONSIVE TO SPEAKER ORIENTATION”, filed on Jul. 19, 2011, each of which is hereby incorporated by reference in its entirety for all purposes.


FIELD
The presently disclosed technology is directed towards technology for use in the area of consumer electronics. In particular, certain embodiments are directed to shaping sound responsive to a speaker orientation.
BACKGROUND
Music is very much a part of our everyday lives. Thanks to the advancement of technology, music content is now more accessible than ever. The same can be said of other types of media, such as television, movies, and other audio and video content. In fact, now a user can even access the content over the Internet through an online store, an Internet radio station, online music service, online movie service, and the like, in addition to the more traditional means of accessing audio and video content.
The demand for such audio and video content continues to surge. Given the high demand over the years, technology used to access and play such content has likewise improved. Even still, technology used in accessing the content and the playback of such content can be significantly improved or developed in ways that the market or end users may not anticipate.



BRIEF DESCRIPTION OF THE DRAWINGS
These and other features, aspects, and advantages of the presently disclosed technology will become better understood by a person skilled in the art with regard to the following description, appended claims, and accompanying drawings where:
FIG. 1 shows an example configuration in which certain embodiments may be practiced;
FIG. 2A shows an illustration of an example zone player having a built-in amplifier and speakers;
FIG. 2B shows an illustration of an example zone player having a built-in amplifier and connected to external speakers;
FIG. 2C shows an illustration of an example zone player connected to an A/V receiver and speakers;
FIG. 3 shows an illustration of an example controller;
FIG. 4 shows an internal functional block diagram of an example zone player;
FIG. 5 shows an internal functional block diagram of an example controller;
FIG. 6A shows an illustration of an example zone player in a first position;
FIG. 6B shows an illustration of the example zone player in FIG. 6A, but in a second position that is different from the first position;
FIG. 7A shows an illustration of an example zone player in a first position;
FIG. 7B shows an illustration of the example zone player in FIG. 7A, but in a second position that is different from the second position;
FIG. 8 shows an internal functional block diagram of an example zone player with a sensor module for detecting orientation in accordance with an embodiment; and
FIG. 9 shows a flowchart illustrating a method for shaping sound based on at least an orientation.
FIG. 10 shows an example orientation determination state machine.
FIG. 11 shows four regions of orientation determination based on a reference horizontal orientation.
FIG. 12 illustrates an example unknown orientation region produced by varying combinations of roll and pitch.
FIG. 13 illustrates axes of an example accelerometer with a line-drawing representation in a vertical table top position.
FIG. 14 illustrates a plot of example, experimental data used to determine minimum and maximum ranges for each axis.
FIG. 15 depicts example X, Y, and Z axes defined with respect to a playback device.
FIG. 16 shows an example usable range of angles for an orientation determination.
FIG. 17 depicts an illustrative network audio system operating in accordance with a decentralized communication, organization, and control structure.



In addition, the drawings are for the purpose of illustrating certain embodiments, but it is understood that the inventions are not limited to the arrangements and instrumentality shown in the drawings.
DETAILED DESCRIPTION
I. Overview
Example embodiments described herein relate to shaping sound responsive to a speaker orientation. The embodiments are particularly useful in a playback device that can be positioned in various ways. The embodiments may also find utility, for example, in connection with any environment and system for which flexibility in orienting a speaker and optimal sound based on that orientation are desired.
In certain embodiments, an audio data stream is obtained by a playback device having one or more speaker drivers, an orientation of the playback device is determined, and sound is reproduced by the playback device based on the orientation. In one embodiment, a stereophonic signal is reproduced by a plurality of speakers based on a first orientation, and a monaural signal is reproduced by the plurality of speakers based on a second orientation. In a second embodiment, a speaker driver reproduces a monaural signal and either a right or left channel signal based on a first orientation, and the speaker driver reproduces only a monaural signal based on a second orientation. In a third embodiment, a speaker driver reproduces a first range of frequencies based on a first orientation, and the speaker driver reproduces a second range of frequencies based on a second orientation. In a fourth embodiment, the playback device does not contain a display. In a fifth embodiment, the playback device is an audio-only device, such as a loudspeaker system.
In certain embodiments, sound is reproduced by a playback device based on an orientation of the playback device and whether the playback device is paired with another playback device. In some instances, the orientation trumps the pairing and the sound is reproduced based on the orientation. In some instances, the pairing trumps the orientation and the sound is reproduced based on the pairing. In some instances, both the orientation and the pairing determine the sound reproduction. Further, the sound may be reproduced based on orientation and any of: pairing, grouping, and consolidation of playback devices.
In certain embodiments, sound is reproduced by a playback device based on an orientation of a different playback device. For example, playback device A and playback device B might be paired, such that the two playback devices reproduce a certain overall sound. In some instances, the sound from playback A may be based on the orientation of playback device B. In some instances, the sound from playback B may be based on the orientation of the playback device A. In some instances, the overall sound may be based on the orientation of both playback devices A and B. This is particularly useful to shape the sound coming from a collection of different playback devices.
In certain embodiments, an audio data stream is obtained by a playback device having one or more speaker drivers, an orientation of the playback device is determined, and sound is reproduced by the playback device based on the orientation. In some embodiments, the audio data stream is modified by the playback device based on the orientation. In some embodiments, the audio data stream is modified prior to being obtained by the playback device, yet the modification is based on the orientation.
In certain embodiments, a playback device contains one or more speaker drivers that face (or substantially aim toward) a particular direction. In some instances, an orientation of the playback device is based on a rotation about an axis that is perpendicular to the front face. That is, the one or more speaker drivers still face the particular direction regardless of the rotation. In some instances, an orientation of the playback device is based on a rotation about an axis that is parallel to the front face. As such, upon a rotation, the one or more speaker drivers may face a direction that is different from the particular direction. In some instances, an orientation of a playback device is based on a rotation about more than one axis. According to the certain embodiments, the orientation is used to determine the sound output from the playback device.
An advantage of one or more embodiments described herein is that the sound field produced by one or more playback devices can be shaped based on the orientation of one or more playback devices. The technology can be used in any environment for which optimized sound is desired. Particularly, the technology is useful when listening to music and watching a video, television or a movie.
Although the following discloses example methods, apparatus, systems, and articles of manufacture including, among other components, firmware and/or software executed on hardware, it should be noted that such methods, apparatus, systems, and/or articles of manufacture are merely illustrative and should not be considered as limiting. For example, it is contemplated that any or all of these firmware, hardware, and/or software components could be embodied exclusively in hardware, exclusively in software, exclusively in firmware, or in any combination of hardware, software, and/or firmware. Accordingly, while the following describes example methods, apparatus, systems, and/or articles of manufacture, the examples provided are not the only way(s) to implement such methods, apparatus, systems, and/or articles of manufacture.
When any of the appended claims are read to cover a purely software and/or firmware implementation, at least one of the elements in at least one example is hereby expressly defined to include a tangible medium such as a memory, DVD, CD, Blu-ray, and so on, storing the software and/or firmware.
These embodiments and many additional embodiments are described more below. Further, the detailed description is presented largely in terms of illustrative environments, systems, procedures, steps, logic blocks, processing, and other symbolic representations that directly or indirectly resemble the operations of data processing devices coupled to networks. These process descriptions and representations are typically used by those skilled in the art to most effectively convey the substance of their work to others skilled in the art. Numerous specific details are set forth to provide a thorough understanding of the present disclosure. However, it is understood to those skilled in the art that certain embodiments of the present invention may be practiced without certain, specific details. In other instances, well known methods, procedures, components, and circuitry have not been described in detail to avoid unnecessarily obscuring aspects of the embodiments.
Reference herein to “embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one example embodiment of the invention. The appearances of this phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. As such, the embodiments described herein, explicitly and implicitly understood by one skilled in the art, may be combined with other embodiments.
II. Example Environment
Referring now to the drawings, in which like numerals may refer to like parts throughout the figures. FIG. 1 shows an example system configuration 100 in which certain embodiments described herein may be practiced. By way of illustration, the system configuration 100 represents a home with multiple zones. Each zone, for example, represents a different room or space, such as an office, bathroom, bedroom, kitchen, dining room, family room, home theater room, utility or laundry room, and patio. While not shown here, a single zone may cover more than one room or space. One or more of zone players 102 to 124 are shown in each respective zone. A zone player 102-124, also referred to as a playback device, multimedia unit, speaker, and so on, provides audio, video, and/or audiovisual output. A controller 130 (e.g., shown in the kitchen for purposes of illustration) provides control to the system configuration 100. The system configuration 100 illustrates an example whole house audio system, though it is understood that the technology described herein is not limited to its particular place of application or to an expansive system like a whole house audio system.
FIGS. 2A, 2B, and 2C show example illustrations of a zone player 200. The zone player 200 may correspond to any of zone players 102 to 124. While certain example embodiments provide multiple zone players, an audio output may be generated using only a single zone player. With respect to FIG. 2A, the example zone player 200 includes a built-in amplifier (not shown in this illustration) and speakers 202. A particular speaker might include a tweeter, mid-range driver, or subwoofer. In certain embodiments, the zone player 200 of FIG. 2A may be configured to play stereophonic audio or monaural audio. With respect to FIG. 2B, the example zone player 200 includes a built-in amplifier (not shown in this illustration) to power a set of detached speakers 204. Speakers 204 might include any type of loudspeaker. With respect to FIG. 2C, the example zone player 200 does not include an amplifier, but allows a receiver 206, or another audio and/or video type device with built-in amplification, to connect to a data network 128 and play audio received over the data network 128 via receiver 206 and speakers 204. Example zone players include a “Sonos® S5,” “PLAY: 5TM”, “PLAY: 3TM,” “ZonePlayer 120,” and “ZonePlayer 90,” which are offered by Sonos, Inc. of Santa Barbara, Calif. A zone player may also be referred to herein as a playback device, and a zone player is not limited to the particular examples illustrated in FIGS. 2A, 2B, and 2C. For example, a zone player may include a wired or wireless headphone. In another example, a zone player might include a subwoofer. In an example, a zone player may include or interact with a docking station for an Apple iPodTM or similar device.
FIG. 3 shows an example illustration of a wireless controller 300 in a docking station 302. The controller 300 may correspond to the controlling device 130 of FIG. 1. The controller 300 is provided with a touch screen 304 that allows a user to interact with the controller 300, for example, to retrieve and navigate a playlist of audio items, control operations of one or more zone players, and provide overall control of the system configuration 100. In certain embodiments, any number of controllers may be used to control the system configuration 100. The controllers might be wireless like wireless controller 300 or wired to the data network 128. Furthermore, an application running on any network-enabled portable devices, such as an iPhoneTM, iPadTM, AndroidTM powered phone, or any other smart phone or network-enabled device may be used as a controller by connecting to the data network 128. An application running on a laptop or desktop PC or Mac may also be used as a controller. Example controllers include a “Sonos® Controller 200,” “Sonos® Controller for iPhone,” “Sonos® Controller for iPad,” “Sonos® Controller for Android,” “Sonos® Controller for Mac or PC,” which are offered by Sonos, Inc. of Santa Barbara, Calif. Those skilled in the art will appreciate the flexibility of such an application and its ability to be ported to a new type of portable device.
Referring back to the system configuration 100 of FIG. 1, a particular zone may contain one or more zone players. For example, the family room contains two zone players 106 and 108, while the kitchen is shown with one zone player 102. Zones may be dynamically configured by positioning a zone player in a room or space and assigning via the controller 130 the zone player to a new or existing zone. As such, zones may be created, combined with another zone, removed, and given a specific name (e.g., “Kitchen”), if so programmed. The zone players 102 to 124 are coupled directly or indirectly to a data network, represented in the figure by 128. The data network 128 is represented by an octagon in the figure to stand out from other components shown in the figure. While the data network 128 is shown in a single location, it is understood that such a network may be distributed in and around the system configuration 100.
Particularly, the data network 128 may be a wired network, a wireless network, or a combination of both. In one example, one or more of the zone players 102 to 124 are wirelessly coupled to the data network 128 based on a proprietary mesh network. In another example, one or more of the zone players 102 to 124 are wirelessly coupled to the data network 128 using a non-mesh topology. In yet another example, one or more of the zone players 102 to 124 are coupled via a wire to the data network 128 using Ethernet or similar technology. In addition to the one or more zone players 102 to 124 connecting to the data network 128, the data network 128 may further allow access to a wide area network, such as the Internet.
In certain embodiments, the data network 128 may be created by connecting any of zone players 102 to 124, or some other connecting device, to a broadband router. Other zone players 102 to 124 may then be added wired or wirelessly to the data network 128. For example, a zone player (e.g., any of zone players 102 to 124) may be added to the system configuration 100 by simply pressing a button on the zone player itself, which enables a connection to be made to the data network 128. The broadband router may be connected to an Internet Service Provider (ISP), for example. The broadband router may be used to form another data network within the system configuration 100, which may be used in other applications (e.g., web surfing). The data network 128 may also be used in other applications, if so programmed. Further, in certain embodiments, the data network 128 is the same network used for other applications in the household, for example.
In certain embodiments, each zone can play from the same audio source as another zone or each zone can play from a different audio source. For example, someone can be grilling on the patio and listening to jazz music via zone player 124, while someone is preparing food in the kitchen and listening to classical music via zone player 102. Further, someone can be in the office listening to the same jazz music via zone player 110 that is playing on the patio via zone player 124. In some embodiments, the jazz music played via zone players 110 and 124 is played in synchrony. Synchronizing playback amongst zones allows for someone to pass through zones while seamlessly listening to the audio. Further, zones may be put into a “party mode” such that all associated zones will play audio in synchrony.
In certain embodiments, a zone contains two or more zone players. For example, the family room contains two zone players 106 and 108, and the home theater room contains at least zone players 116, 118, and 120. A zone may be configured to contain as many zone players as desired, and for example, the home theater room might contain additional zone players to play audio from a 5.1 channel or greater audio source (e.g., a movie encoded with 5.1 or greater audio channels). If a zone contains two or more zone players, such as the two zone players 106 and 108 in the family room, then the two zone players 106 and 108 may be configured to play the same audio source in synchrony, or the two zone players 106 and 108 may be paired to play two separate sounds in left and right channels, for example. In other words, the stereo effects of a sound may be reproduced or enhanced through the two zone players 106 and 108, one for the left sound and the other for the right sound. In certain embodiments, paired zone players may play audio in synchrony with other zone players.
In certain embodiments, three or more zone players may be configured to play various channels of audio that is encoded with three channels or more sound. For example, the home theater room shows zone players 116, 118, and 120. If the sound is encoded as 2.1 channel audio, then the zone player 116 may be configured to play left channel audio, the zone player 118 may be configured to play right channel audio, and the zone player 120 may be configured to play bass frequencies. Other configurations are possible and depend on the number of zone players and the type of audio. Further, a particular zone may be configured to play a 5.1 channel audio in one instance, such as when playing audio from a movie, and then dynamically switch to play stereo, such as when playing audio from a two channel source.
In certain embodiments, two or more zone players may be sonically consolidated to form a single, consolidated zone player. A consolidated zone player (though comprised of multiple, separate devices) may be configured to process and reproduce sound differently than an unconsolidated zone player or zone players that are paired, because a consolidated zone player will have additional speaker drivers from which sound may be passed. The consolidated zone player may further be paired with a single zone player or yet another consolidated zone player. Each playback device of a consolidated playback device is preferably set in a consolidated mode.
According to some embodiments, one can continue to do any of: group, consolidate, and pair zone players, for example, until a desired configuration is complete. The actions of grouping, consolidation, and pairing are preferably performed through a control interface, such as using controller 130, and not by physically connecting and re-connecting speaker wire, for example, to individual, discrete speakers to create different configurations. As such, certain embodiments described herein provide a more flexible and dynamic platform through which sound reproduction can be offered to the end-user.
Sources of audio content to be played by zone players 102 to 124 are numerous. Music from a personal library stored on a computer or networked-attached storage (NAS) may be accessed via the data network 128 and played. Internet radio stations, shows, and podcasts may be accessed via the data network 128. Music services that let a user stream and download music and audio content may be accessed via the data network 128. Further, music may be obtained from traditional sources, such as a turntable or CD player, via a line-in connection to a zone player, for example. Audio content may also be accessed through AirPlayTM wireless technology by Apple, Inc., for example. Audio content received from one or more sources may be shared amongst the zone players 102 to 124 via the data network 128 and controller 130.
III. Example Playback Device
Referring now to FIG. 4, there is shown an example functional block diagram of a zone player 400 in accordance with an embodiment. The zone player 400 contains a network interface 402, a processor 408, a memory 410, an audio processing component 412, a module 414, an audio amplifier 416, and a speaker unit 418 connected to the audio amplifier 416. FIG. 2A shows an example illustration of the front side of such a zone player. Other types of zone players may not include the speaker unit 418 (e.g., such as shown in FIG. 2B) or the audio amplifier 416 (e.g., such as shown in FIG. 2C). Further, it is contemplated that the zone player 400 may be integrated into another component. For example, the zone player 400 could be constructed as part of a lamp for indoor or outdoor use.
Referring back to FIG. 4, the network interface 402 facilitates a data flow between zone players and other devices on a data network (e.g., the data network 128 of FIG. 1) and the zone player 400. In some embodiments, the network interface 402 may manage the assembling of an audio source or file into smaller packets that are to be transmitted over the data network or reassembles received packets into the original source or file. In some embodiments, the network interface 402 may further handle the address part of each packet so that it gets to the right destination or intercepts packets destined for the zone player 400. Accordingly, in certain embodiments, each of the packets includes an Internet Protocol (IP)-based source address as well as an IP-based destination address.
In certain embodiments, the network interface 402 may include one or both of a wireless interface 404 and a wired interface 406. The wireless interface 404, also referred to as an RF interface, provides network interface functions for the zone player 400 to wirelessly communicate with other devices in accordance with a communication protocol (e.g., any of the wireless standards IEEE 802.11a, 802.11b, 802.11g, 802.11n, or 802.15). The wired interface 406 provides network interface functions for the zone player 400 to communicate over a wire with other devices in accordance with a communication protocol (e.g., IEEE 802.3). In some embodiments, a zone player includes both of the interfaces 404 and 406. In some embodiments, a zone player 400 includes only the wireless interface 404 or the wired interface 406.
In certain embodiments, the processor 408 is a clock-driven electronic device that is configured to process input data according to instructions stored in memory 410. The memory 410 is data storage that may be loaded with one or more software modules 414, which can be executed by the processor 408 to achieve certain tasks. In one example, a task might be for the zone player 400 to retrieve audio data from another zone player or a device on a network. In a second example, a task might be for the zone player 400 to send audio data to another zone player or device on a network. In a third example, a task might be for the zone player 400 to synchronize playback of audio with one or more additional zone players. In a fourth example, a task might be to pair the zone player 400 with one or more zone players to create a multi-channel audio environment. In a fifth example, a task might be to shape the sound output from zone player 400 based on an orientation of zone player 400, a different zone player, or a group of zone players including zone player 400. Other tasks, such as those described herein, may be achieved via the one or more software modules 414 and the processor 408.
The audio processing component 412 may include one or more digital-to-analog converters (DAC), an audio preprocessing component, an audio enhancement component or a digital signal processor, and so on. In certain embodiments, the audio that is retrieved via the network interface 402 is processed and/or intentionally altered by the audio processing component 210. Further, the audio processing component 412 may produce analog audio signals. The processed analog audio signals are then provided to the audio amplifier 416 for play back through speakers 418. In addition, the audio processing component 412 may include necessary circuitry to process analog or digital signals as inputs to play from zone player 400, send to another zone player on a network, or both play and send to another zone player on the network. An example input includes a line-in connection (e.g., an auto-detecting 3.5 mm audio line-in connection).
The audio amplifier 416 is a device that amplifies audio signals to a level for driving one or more speakers 418. The one or more speakers 418 may include an individual transducer (e.g., a “driver”) or a complete speaker system that includes an enclosure including one or more drivers. A particular driver may be a subwoofer (for low frequencies), a mid-range driver (middle frequencies), and a tweeter (high frequencies), for example. An enclosure may be sealed or ported, for example.
A zone player 400 may also be referred to herein as a playback device. An example playback device includes a Sonos S5, which is manufactured by Sonos, Inc. of Santa Barbara, Calif. The S5 is an example zone player with a built-in amplifier and speakers. In particular, the S5 is a five-driver speaker system that includes two tweeters, two mid-range drivers, and one subwoofer. When playing audio content via the S5, the left audio data of a track is sent out of the left tweeter and left mid-range driver, the right audio data of a track is sent out of the right tweeter and the right mid-range driver, and mono bass is sent out of the subwoofer. Further, both mid-range drivers and both tweeters have the same equalization (or substantially the same equalization). That is, they are both sent the same frequencies, just from different channels of audio. Audio from Internet radio stations, online music and video services, downloaded music, analog audio inputs, television, DVD, and so on may be played from a Sonos S5. While the S5 is an example of a zone player with speakers, it is understood that a zone player with speakers is not limited to one with a certain number of speakers (e.g., five speakers as in the S5), but rather can contain one or more speakers. Further, a zone player may be part of another device, which might even serve a purpose different than audio (e.g., a lamp).
IV. Example Controller
Referring now to FIG. 5, there is shown an example controller 500, which may correspond to the controlling device 130 in FIG. 1. The controller 500 may be used to facilitate the control of multi-media applications, automation and others in a system. In particular, the controller 500 is configured to facilitate a selection of a plurality of audio sources available on the network and enable control of one or more zone players (e.g., the zone players 102 to 124 in FIG. 1) through a wireless network interface 508. According to one embodiment, the wireless communications is based on an industry standard (e.g., infrared, radio, wireless standards IEEE 802.11a, 802.11b 802.11g, 802.11n, or 802.15). Further, when a particular audio is being accessed via the controller 500 or being played via a zone player, a picture (e.g., album art) or any other data, associated with the audio source may be transmitted from a zone player or other electronic device to the controller 500 for display.
The controller 500 is provided with a screen 502 and an input interface 514 that allows a user to interact with the controller 500, for example, to navigate a playlist of many multimedia items and to control operations of one or more zone players. The screen 502 on the controller 500 may be a Liquid Crystal Display (LCD) screen, for example. The screen 500 communicates with and is commanded by a screen driver 504 that is controlled by a microcontroller (e.g., a processor) 506. The memory 510 may be loaded with one or more application modules 512 that can be executed by the microcontroller 506 with or without a user input via the user interface 514 to achieve certain tasks. In one example, an application module 512 is configured to facilitate grouping a number of selected zone players into a zone group and synchronizing the zone players for audio play back. In another example, an application module 512 is configured to control the audio sounds (e.g., volume) of the zone players in a zone group. In operation, when the microcontroller 506 executes one or more of the application modules 512, the screen driver 504 generates control signals to drive the screen 502 to display an application specific user interface accordingly.
The controller 500 includes a network interface 508 that facilitates wireless communication with a zone player. In one embodiment, the commands such as volume control and audio playback synchronization are sent via the network interface 508. In another embodiment, a saved zone group configuration is transmitted between a zone player and a controller via the network interface 508. The controller 500 may control one or more zone players, such as 102 to 124 of FIG. 1. There may be more than one controller for a particular system. Further, a controller may be integrated into a zone player.
It should be noted that other network-enabled devices such as an iPhoneTM, iPadTM or any other smart phone or network-enabled device (e.g., a networked computer such as a PC or Mac may also be used as a controller) may be used as a controller to interact or control zone players in a particular environment. According to one embodiment, a software application or upgrade may be downloaded onto a network enabled device to perform the functions described herein.
In certain embodiments, a user may create a zone group including at least two zone players from the controller 500. The zone players in the zone group may play audio in a synchronized fashion, such that all of the zone players in the zone group play back an identical audio source or a list of identical audio sources in a synchronized manner such that no (or substantially no) audible delays or hiccups could be heard. Similarly, in one embodiment, when a user increases the audio volume of the group from the controller 500, the signals or data of increasing the audio volume for the group are sent to one of the zone players and causes other zone players in the group to be increased together in volume.
A user via the controller 500 may group zone players into a zone group by activating a “Link Zones” or “Add Zone” soft button, or de-grouping a zone group by activating an “Unlink Zones” or “Drop Zone” button. For example, one mechanism for ‘joining’ zone players together for audio play back is to link a number of zone players together to form a group. To link a number of zone players together, a user may manually link each zone player or room one after the other. For example, assume that there is a multi-zone system that includes the following zones: Bathroom, Bedroom, Den, Dining Room, Family Room, and Foyer. A user may use a touchscreen, pointing device (e.g., a mouse, trackball, and so on), gesture-based interaction, or combination of any of these techniques to drag and drop zones to configure a zone group, including adding or removing one or more zones or zone players from a zone group.
In certain embodiments, a user can link any number of the six zone players, for example, by starting with a single zone and then manually linking each zone to that zone.
In certain embodiments, a set of zones can be dynamically linked together using a command to create a zone scene or theme (subsequent to first creating the zone scene). For instance, a “Morning” zone scene command may link the Bedroom, Office, and Kitchen zones together in one action. Without this single command, the user would need to manually and individually link each zone. The single command might include a mouse click, a double mouse click, a button press, a gesture, or some other programmed action. Other kinds of zone scenes may be programmed.
In certain embodiments, a zone scene may be triggered based on time (e.g., an alarm clock function). For instance, a zone scene may be set to apply at 8:00 am. The system can link appropriate zones automatically, set specific music to play, and then stop the music after a defined duration. Although any particular zone may be triggered to an “On” or “Off” state based on time, for example, a zone scene enables any zone(s) linked to the scene to play a predefined audio (e.g., a favorable song, a predefined playlist) at a specific time and/or for a specific duration. If, for any reason, the scheduled music failed to be played (e.g., an empty playlist, no connection to a share, failed Universal Plug and Play (UPnP), no Internet connection for an Internet Radio station, and so on), a backup buzzer may be programmed to sound. The buzzer may include a sound file that is stored in a zone player, for example.
V. Shaping Sound Based on Orientation
In certain embodiments, an audio data stream is obtained by a playback device having one or more speaker drivers (or the playback device is coupled to one or more speaker drivers, or the playback device includes one or more speaker drivers and is coupled to one or more speaker drivers), an orientation of the playback device, and in particular the speaker arrangement, is determined, and sound is reproduced by the playback device based on the orientation.
FIG. 6A shows an illustration of an example zone player 600 having a built-in amplifier and speakers 602. The zone player 600 is shown in a first orientation. For sake of discussion, the first orientation may be referred to herein as the “horizontal orientation,” though any name may be given to the orientation of the zone player 600 shown in FIG. 6A.
FIG. 6B shows an illustration of the example zone player 600 in a second orientation that is different from the first orientation. For sake of discussion, the second orientation may be referred to herein as the “vertical orientation,” though any name may be given to the orientation of the zone player 600 shown in FIG. 6B.
Based on the orientation of the zone player 600, the sound reproduced by the zone player 600 may be shaped differently. For example, the sound coming from each speaker driver may be configured to reproduce a different frequency range, channel, or both frequency range and channel depending on the orientation. In another example, the sound coming from a plurality of speakers 602 in the zone player 600 may be in stereo when in horizontal position, whereas the sound coming from the same plurality of speakers 602 may be in monaural when in vertical position. This allows increased optimization of the sound coming from the zone player 600. Further, this allows customization of the sound coming from the zone player 600.
In a first example embodiment, a stereophonic signal is reproduced by a plurality of speakers based on a first orientation, and a monaural signal is reproduced by the plurality of speakers based on a second orientation. Using the zone player 600 shown in FIGS. 6A and 6B to illustrate, a stereophonic signal may be reproduced by the zone player in the horizontal orientation. That is, the left channel audio may be routed to the left speaker 604 and the right channel audio may be routed to the right speaker 606. A monaural signal may be routed to the tweeter 608. When the zone player 600 is rotated, and in particular rotated to a 90 degree angle (that is, the vertical orientation), from its previous orientation, the sound characteristics may change. For example, a monaural signal is played out of both the left and right speakers 604 and 606, instead of a stereophonic sound.
In a second example embodiment, a speaker driver reproduces a monaural signal and either a right or left channel signal based on a first orientation, and the speaker driver reproduces only a monaural signal based on a second orientation. Again, using the zone player 600 to illustrate, in the horizontal orientation, the left speaker 604 may play the left channel audio above a threshold frequency (e.g., above 200 Hz) and a monaural signal below the threshold frequency; likewise, the right speaker 606 may play the right channel audio above a threshold frequency and a monaural signal below the threshold frequency. In the vertical orientation, the left and right speakers 604 and 606 may play a monaural signal and not play separate left and right channels. The tweeter 608 may play a monaural signal in both orientations, but the frequency range may be altered based on the orientation.
In a third example embodiment, a speaker driver reproduces a first range of frequencies based on a first orientation, and the speaker driver reproduces a second range of frequencies based on a second orientation. Using the tweeter 608 to illustrate, in the horizontal orientation, the tweeter 608 might reproduce frequencies above 7.5 kHz, and in the vertical orientation the tweeter 608 might reproduce frequencies above 3 kHz. As the frequency response changes for the tweeter 608, the sound from the left and right speakers 604 and 608 might also adjust so that the frequency range is accounted for across the listening range.
In a fourth example embodiment, the playback device does not contain a display. Thus, in some embodiments, the playback device does contain a display; examples of such playback devices might include a television, a tablet computer (e.g., an Apple, Inc. iPadTM or a Microsoft WindowsTM based tablet), or a smart phone or device (e.g., Apple, Inc. iPhoneTM or iTouchTM). In a fifth example embodiment, the playback device is an audio-only device, such as a loudspeaker system. The zone player 600 is an example playback device that does not contain a display and is an audio-only device.
In addition, it is understood that a speaker arrangement may be connected to a zone player, but physically separate from each other (e.g., such as shown in FIGS. 2B and 2C). Even with such an arrangement, the sound coming from the speaker arrangement may be shaped based on its orientation. As such, the embodiments described herein with respect to sound shaping are not limited to a playback device with built-in speakers.
In certain embodiments, sound is reproduced by a playback device based on an orientation of the playback device and whether the playback device is paired with another playback device. In some instances, the orientation may be configured to trump the pairing, and the sound is reproduced based on the orientation. In some instances, the pairing may be configured to trump the orientation, and the sound is reproduced based on the pairing. In some instances, both the orientation and the pairing determine the sound reproduction. In some embodiments, the sound may be reproduced based on orientation and any of: pairing, grouping, and consolidation of playback devices.
Using the zone player 600 shown in FIG. 6A to provide an illustration, a stereophonic signal may be reproduced by the zone player 600 in the horizontal orientation. If the zone player 600 is paired to another zone player, for example, then the zone player 600 will determine that it is paired and horizontal, which will alter the sound coming from the zone player 600. Particularly, if the zone player 600 is the left speaker in a stereo pair, for example, then the left channel audio will be played from the zone player 600. The left speaker 604 may handle one set of frequencies and the right speaker 606 may handle another set of frequencies.
In certain embodiments, sound is reproduced by a playback device based on an orientation of a different playback device. For example, playback device A and playback device B might be paired, such that the two playback devices reproduce a certain overall sound. In some instances, the sound from playback A may be based on the orientation of playback device B. In some instances, the sound from playback B may be based on the orientation of the playback device A. In some instances, the overall sound may be based on the orientation of both playback devices A and B.
Referring back to FIG. 1, the family room shows two zone players 106 and 108. The zone players 106 and 108 may be configured to respond to each other's orientation. For example, the sound coming from the zone player 106 may be based on the orientation of the zone player 108. Similarly, the sound coming from the zone player 108 may be based on the orientation of the zone player 106. As such, the sound coming from both zone players 106 and 108 may be customizable.
In certain embodiments, an audio data stream is obtained by a playback device having one or more speaker drivers, an orientation of the playback device is determined, and sound is reproduced by the playback device based on the orientation. In some embodiments, the audio data stream is modified by the playback device based on the orientation. In some embodiments, the audio data stream is modified prior to being obtained by the playback device, yet the modification is based on the orientation.
In certain embodiments, a playback device contains one or more speaker drivers that face a particular direction. In some instances, an orientation of the playback device is based on a rotation about an axis that is perpendicular to the front face. That is, the one or more speaker drivers still face the particular direction regardless of the rotation. An illustration of this type of rotation is shown in FIGS. 6A and 6B.
In certain embodiments, one or more speaker drivers may be turned on and off automatically based on device orientation. A speaker driver may be turned off by electronically switching off the driver, or alternatively, by muting the speaker driver such that the driver is effectively turned off.
In certain embodiments, a playback device may have only one speaker driver with characteristics affected based on the orientation of the device.
In certain embodiments, sound shaping for reproduction and associated speaker driver configuration may be provided via a change or upgrade to software associated with the playback device. In one example, a playback device might not include an accelerometer or a similar type of hardware device to automatically determine its orientation, but the playback device may be configured in software to shape its sound based on an orientation input through a controller (or some other input mechanism, such as a button on the playback device itself). This is particularly useful for a playback device that is capable of receiving a software upgrade (though, it is understood that a new playback device may not require a software upgrade, but still may benefit from this technology) and has at least some capability of shaping its sound, but does not include an accelerometer or hardware to automatically compute an orientation. As such, a software upgrade can change the hardware functionality of the playback device by enabling sound shaping responsive to a speaker orientation.
In certain embodiments, the orientation is determined via an accelerometer or some other hardware device. In certain embodiments, the orientation is determined based on a user input via a controller or some other input mechanism, such as a button on the playback device itself. This is useful for new playback devices (or existing playback devices that are capable of receiving software upgrades to shape sound) that do not contain an accelerometer or similar hardware to provide an orientation reading. In certain embodiments, the orientation may be determined by the playback device either by analyzing an accelerometer reading or receiving a user input. In certain embodiments, an indicator (on the user interface of the controller and/or playback device, for example) may display the playback device's orientation to the user. The indicator may include a light, textual display, graphic, or any other sign that provides an indication to the user of the playback device's orientation.
For example, a playback device may not originally include an ability to modify its configuration based on orientation, but a software upgrade may add that capability to the device. In certain embodiments, frequencies played through the playback device may be changed based on the orientation, zone group, or both the orientation and zone group of another playback device.
In certain embodiments, a playback device may include an accelerometer or other sensor or mechanism to identify an orientation but only provide basic shaping of sound. A software update or upgrade may be provided to the playback device to improve sound shaping capabilities of the device.
In some instances, an orientation of the playback device is based on a rotation about an axis that is parallel to the front face (or a surface designated as the “front face”). An illustration of this type of rotation is shown in FIGS. 7A and 7B. As such, upon a rotation, the one or more speaker drivers may face a direction that is different from the particular direction. In FIG. 7A, the zone player 700 is generally aimed toward the listener. Upon rotation, as shown in FIG. 7B, the zone player 700 is now generally aimed away from the listener. It is understood that additional speaker drivers may be incorporated into the zone player 700, such that at least one speaker driver always faces the listener regardless of rotation. Then, certain frequencies may be routed to speakers that face the listener (directional frequencies) and certain frequencies may be routed to speakers that do not face the listener (non-directional frequencies).
In some instances, an orientation of a playback device is based on a rotation about more than one axis. That is, a playback device may be rotated about two or more axes. The sound output from the playback device or another playback device may be based on the particular rotation.
FIG. 8 shows an example functional block diagram of a zone player 802 in accordance with an embodiment. The functional block diagram in FIG. 8 is similar to the functional block diagram of the zone player 400 of FIG. 4, and further includes a sensor module 800. As such, many of the reference numerals are shared between figures.
In certain embodiments, the sensor module 802 includes an accelerometer to detect how the zone player 800, and in particular, how the speaker driver(s) are oriented. In certain embodiments, the accelerometer device is a three axes accelerometer. Based on the orientation, the sound output from the zone player 800 or another zone player(s), whose sound may depend on the orientation of the zone player 800, may be shaped.
In certain embodiments, other types of sensors may be employed to detect position and orientation of the zone player 800. For example, a sensor may be used to determine speaker position relative to any of: a floor, wall, and ceiling. This information may be used to, for example, determine the speaker height relative to a listener in a room or the speaker distance from a wall or corner, and based on that information, an audio characteristic of one or more playback devices may be determined. For example, an audio characteristic of one playback device might be determined, or an audio characteristic for any of a number of different playback devices within a local area may be determined to better optimize the sound environment based on the orientation.
FIG. 9 depicts an example flow diagram representative of process(es) that may be implemented using, for example, computer readable instructions that may be used to process an audio signal based on an orientation of a zone player and/or other playback device. The example process(es) of FIG. 9 may be performed using a processor, a controller and/or any other suitable processing device. For example, the example process(es) of FIG. 9 may be implemented using coded instructions (e.g., computer readable instructions) stored on a tangible computer readable medium such as a flash memory, a read-only memory (ROM), and/or a random-access memory (RAM). As used herein, the term tangible computer readable medium is expressly defined to include any type of computer readable storage and to exclude propagating signals. Additionally or alternatively, the example process(es) of FIG. 9 may be implemented using coded instructions (e.g., computer readable instructions) stored on a non-transitory computer readable medium such as a flash memory, a read-only memory (ROM), a random-access memory (RAM), a cache, or any other storage media in which information is stored for any duration (e.g., for extended time periods, permanently, brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term non-transitory computer readable medium is expressly defined to include any type of computer readable medium and to exclude propagating signals.
Alternatively, some or all of the example process(es) of FIG. 9 may be implemented using any combination(s) of application specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)), field programmable logic device(s) (FPLD(s)), discrete logic, hardware, firmware, and so on. Also, some or all of the example process(es) of FIG. 9 may be implemented manually or as any combination(s) of any of the foregoing techniques, for example, any combination of firmware, software, discrete logic and/or hardware. Further, although the example process(es) of FIG. 9 are described with reference to the flow diagram of FIG. 9, other methods of implementing the process(es) of FIG. 9 may be employed. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, sub-divided, or combined. Additionally, any or all of the example process(es) of FIG. 9 may be performed sequentially and/or in parallel by, for example, separate processing threads, processors, devices, discrete logic, circuits, and so on.
FIG. 9 shows a flowchart that illustrates an example method 900 for processing an audio signal based on an orientation of a zone player. The method 900 may be iteratively performed to accommodate a change in orientation. Further, although the method 900 is described about a rotation of a zone player detected by a sensor module 800, it is understood that the method 900 is equally applicable should the rotation be manually entered, or a height or other physical offset be provided. The method 900 may be understood in conjunction with the zone player of FIG. 8, and therefore, the description references FIG. 8 to facilitate easy understanding of the example method embodiment.
The method 900 starts at block 902 by determining an orientation of the zone player 400. Block 902 might be triggered when the zone player 400 is turned on, when the zone player 400 is ready to play audio, when a particular time interval expires, or upon some other programmed trigger point. Irrespective of the trigger point, the sensor module 800 is activated to detect the orientation of the zone player 400, and in particular, to detect the orientation of the speaker array that provides the sound. Depending on implementation, the sensor module 800 may output a sensor signal or a set of sensor signals. The sensor signal(s) may be provided to the processor 408, which is configured to determine the orientation based on the signal(s), and provides the orientation data to the audio processing component 412 to process the audio.
According to certain embodiments, when the audio is processed upstream from the zone player 400 based on the orientation of the zone player 400 or when the orientation of the zone player 400 is important to other connected zone players for group audio shaping, then the processor 408 may provide the orientation data from block 902 to another device or zone player via the network interface 402. In some embodiments, such as when the audio is processed upstream from the zone player 400, the audio processing component 412 may not need to provide any additional audio processing based on the orientation.
At block 904, the audio is configured and routed to the appropriate speaker based on the orientation. In some embodiments, the audio is configured by the zone player 400, itself, via the audio processing component 412, for example. In some embodiments, the audio is configured upstream from the zone player 400. The configured audio may then be sent to the zone player 400 for play. In some embodiments, the audio is configured and routed based on at least two states of the zone player 400: orientation and whether the zone player is paired, grouped, or consolidated with one or more additional zone players. At block 906, the audio is played from one or more zone players.
VI. Orientation-Based Equalization
In certain embodiments, an orientation sensor is used to provide different equalization (EQ) settings based on a detected orientation of a playback device in which the orientation sensor is positioned. For example, the playback device may have a vertical orientation, a horizontal orientation, or another angular orientation. The playback device may not be lying completely flat, for example, and may instead be positioned at a slight angle that should be treated as a horizontal or vertical orientation. A horizontal orientation and a vertical orientation are each associated with a different baseline for EQ settings for output of the playback device.
An orientation sensor, such as an accelerometer (e.g., a Freescale MMA7660 accelerometer and so on), may be used to determine an orientation of the playback device in the presence of environmental conditions, such as acoustic noise, and with respect to a playback device that is subject to a variation in tolerance based on at least one of temperature variation and manufacturing variation. For example, the orientation sensor is to provide an orientation determination in the presence of acoustic noise and vibration, as well as temperature.
In certain embodiments, different equalizer and stereo setting are applied depending upon an orientation of the playback device. For example, while operating in a non-stereo pair environment, a vertical unit provides sound in mono but a horizontal unit provides sound in stereo. In operation, the orientation sensor works with a processing algorithm to provide an orientation value to an equalizer.
In certain examples, pitch, roll, and yaw may be used to define an orientation. Roll pitch angles may be measured in reference to the “plane” of a front grille of the playback device (e.g., referenced to the plane formed by tangents at a center of the grille). For example, “interesting” positions in a wall mount are present when a front surface of the unit is most visible to the user and, thus, is likely to influence the angles at which the playback device is placed.
In certain examples, an accelerometer is mounted in a playback device such that axes of the accelerometer are either aligned with the grille plane or are orthogonal to the grille plan. In an example, when the playback device is positioned on a table top, the pitch angles (for purposes of example illustration only) are −5.5 degrees for a horizontal position and −13 degrees for a vertical position.
In certain examples, hysteresis (e.g. between two valid orientations) and resolution to a specific orientation may be applied to determine an orientation. In an orientation sensing state-machine, vertical is the default state in the event that the orientation cannot be determined. Thus, if a playback device is powered up or rebooted such that the actual orientation cannot be determined, a vertical orientation is reported. For ease of implementation, an entire unknown “region” (as a function of pitch and roll) is implemented as the region of hysteresis. This provides for an orientation determination state machine as shown in FIG. 10.
In the example of FIG. 10, a condition “V” represents conditions (e.g., roll, pitch) for which the accelerometer, together with a detection algorithm, renders a vertical orientation. Condition “H” represents conditions for which a horizontal orientation is rendered. The conditions of roll and pitch for which V is true and for which H is true should be non-overlapping. Under conditions for which either V or H is marginally true, the orientation should not revert to the other state. That is, if a unit is “rolled” from a horizontal orientation until the accelerometer registers a vertical orientation, the unit should not subsequently register a horizontal orientation under temperature changes or playing content.
In certain examples, the accelerometer may be affected by variables affecting tolerance. As a result, roll, pitch combinations that yield a definitive horizontal orientation or vertical orientation in view of tolerance concerns and operating temperature variances are limited.
FIG. 11 shows four regions of orientation determination based on a reference horizontal orientation. The graph of FIG. 11 shows the possible response of orientation sensing to most combinations of pitch and roll relative to the reference horizontal orientation (e.g., grille plane vertical and long edge of grille horizontal). FIG. 11 illustrates four areas defined for particular orientations. The example diagram 1100 depicts a first area 1110, in which an orientation sensor should indicate a horizontal orientation for the associated angles of pitch and roll. A second area 1120 indicates selected angles of pitch and roll for which a vertical orientation should be returned by the orientation sensor. For angles of pitch and roll illustrates in a third area 1130, the orientation sensor may return a horizontal orientation. A fourth area 1140 indicates angles of pitch and roll for which the orientation sensor may return a vertical or unknown orientation, but not a horizontal orientation.
FIG. 12 illustrates an example unknown orientation region produced by varying combinations of roll and pitch. The example of FIG. 12 shows a plot 1200 of smallest (e.g., due to tolerance stackup) roll, pitch combination for which a horizontal orientation is definitive. The smallest roll, pitch combination is indicated by line 1210. That is, for a given pitch angle, all roll angles under the dataline 1210 provide a horizontal orientation determination. The tolerance stackup also provides a correspondingly largest combination of roll, pitch which yields a vertical orientation. The largest combination of roll and pitch to yield a vertical orientation is indicated by line 1220. For a given pitch angle, a roll value that is above the line 1220 yield a vertical orientation. The gap between the two lines 1210, 1220 represents a hysteresis for this tolerance stackup.
In certain examples, in order to help ensure that orientation sensing is not adversely affected by acoustic vibration (e.g., through inducing mechanical stress which manifests as additional acceleration beyond that produced by gravity), filtering is provided on the raw acceleration values. The filtering leads to an increase in response time to an orientation change. Additionally, in certain examples, in order to help reduce or prevent frequent orientation changes in the presence of severe noise (e.g., poor wall mount), orientation changes may be limited to a certain period of time (e.g., limiting orientation changes to one every thirty seconds).
In certain examples, an algorithm may be used to determine a desired orientation indication (horizontal or vertical) in all reasonable orientations involving forward and back pitch. For example, a playback device having a warped cabinet may introduce vibration and false orientation changes that should be prevented using the accelerometer. As disclosed above, the accelerometer is mounted in the playback device such that, in a horizontal orientation, the Z-axis of the accelerometer is virtually vertical. The Y-axis runs from front-to-back of the accelerometer, while the X-axis runs from left to right of the accelerometer. The axes of the example accelerometer are shown with a line-drawing representation in a vertical table top position in FIG. 13.
In certain examples, electronics may be provided via one or more printed circuit boards (PCBs) mounted on one or more mounting surface(s) of a playback device. However, in an example, one or more printed circuit boards (PCBs) are not mounted parallel (or orthogonal) to the mounting surface(s) of the playback device, but, rather, are canted 5.5 degrees to the horizontal in the case of a horizontal orientation and 13 degrees to the horizontal in the case of a vertical orientation.
An offset may be introduced based on a canted or offset orientation of the playback device. Additionally, vibration and system non-linearity may introduce an offset, such as a direct current (DC) offset. An example method used to remove the effect of such a DC offset applies a rule to the review of each sample taken:

G=√(Xg2+Yg2+Zg2)  (Equation 1),

wherein G represents a gravity vector and X, Y, and Z represent three axes. That is, for any one sample of the three axes, a resulting gravity vector equals a single G. Applying Equation 1 can help reduce or remove offset vectors.

By accounting for audio noise and DC offset, the playback device may process available data and make orientation changes based on a user's desired pitch. Pitch is the horizontal axis across the surface of the grille independent of the orientation. Pitch becomes a factor when a playback device is used outside of a normal table top orientation. Examples include horizontal or vertical wall mounts where a unit is mounted above or below an average listening height, suggesting a forward pitch (e.g., angling downward) or backward pitch (e.g., angling upward). In certain examples, an increased pitch reduces an ability of the playback device to resolve an orientation.
In certain examples, experimental data may be used to determine minimum and maximum ranges for each axis (e.g., X, Y, Z). A line 1410 illustrates a horizontal resolution from a vertical position based on roll angle and pitch angle. A line 1420 illustrates a horizontal resolution from a change in vertical position based on roll angle and pitch angle. As illustrated, for example, in FIG. 14, as pitch increases (e.g., moving horizontally left and right in the graph of FIG. 14), a point is approached at which the roll angle (e.g., moving from a horizontal to vertical orientation) may no longer produce an orientation answer.
In certain examples, an X axis 1510, Y axis 1520, and Z axis 1530 may be defined with respect to a playback device 1540 as shown in FIG. 15. Using x, y, and z, the following may be applied to make an orientation decision. For a transition into a vertical orientation:

|x|>|z|+m+n(1−|y|)  (Equation 2).

For a transition into a horizontal orientation:

|z|>|x|+m+n(1−|y|)  (Equation 3).

In Equations 2 and 3, the m term defines a general hysteresis and noise level that would, even in extreme pitch values (e.g., a y very close to 1), still allow a reliable transition or help prevent an unreliable transition. The n term is used to provide a more usable hysteresis moving between orientations that are more the norm (e.g., very small y values with no added pitch).
Equations 2 and 3 may be used with Euler angles to express angles describing orientation graphically. Using Euler angles, a final relative orientation of an object moved in three dimensions may be solved by solving three unit rotations around a defined axis, for example. Euler angles may be used to represent a spatial orientation of the object as a composition of rotations from a frame of reference (e.g., a coordinate system). In the following, the fixed system is denoted in lower case (x,y,z) and the rotated system is denoted in upper case letters (X,Y,Z).
Given a reference frame and an object or other frame for which an orientation is to be described, a line of nodes (N) is defined as an intersection of the xy and the XY coordinate planes (e.g., a line of nodes is a line perpendicular to both the z and Z axis). Then, its Euler angles may be defined as:

    
    
        α (or) is the angle between the x-axis and the line of nodes.
        β (or θ) is the angle between the z-axis and the Z-axis.
        γ (or ψ) is the angle between the line of nodes and the X-axis.
    
    


In our case we are applying this method to find limits to a roll angle given an existing pitch angle. This is the result of the product of two Euler angle matrices:



  
    D
    =
    
      [
      
        
          
            
              cos
              ⁡
              
                (
                phi
                )
              
            
          
          
            
              sin
              ⁡
              
                (
                phi
                )
              
            
          
          
            0
          
        
        
          
            
              -
              
                sin
                ⁡
                
                  (
                  phi
                  )
                
              
            
          
          
            
              cos
              ⁡
              
                (
                phi
                )
              
            
          
          
            0
          
        
        
          
            0
          
          
            0
          
          
            1
          
        
      
      ]
    
  




  
    C
    =
    
      [
      
        
          
            1
          
          
            0
          
          
            0
          
        
        
          
            0
          
          
            
              cos
              ⁡
              
                (
                theta
                )
              
            
          
          
            
              sin
              ⁡
              
                (
                theta
                )
              
            
          
        
        
          
            0
          
          
            
              -
              
                sin
                ⁡
                
                  (
                  theta
                  )
                
              
            
          
          
            
              cos
              ⁡
              
                (
                theta
                )
              
            
          
        
      
      ]
    
  




  
    
      C
      *
      D
    
    =
    
      [
      
        
          
            
              cos
              ⁡
              
                (
                phi
                )
              
            
          
          
            
              sin
              ⁡
              
                (
                phi
                )
              
            
          
          
            0
          
        
        
          
            
              
                -
                
                  cos
                  ⁡
                  
                    (
                    theta
                    )
                  
                
              
              ⁢
              
                sin
                ⁡
                
                  (
                  phi
                  )
                
              
            
          
          
            
              
                cos
                ⁡
                
                  (
                  theta
                  )
                
              
              ⁢
              
                cos
                ⁡
                
                  (
                  phi
                  )
                
              
            
          
          
            
              sin
              ⁡
              
                (
                theta
                )
              
            
          
        
        
          
            
              
                sin
                ⁡
                
                  (
                  theta
                  )
                
              
              ⁢
              
                sin
                ⁡
                
                  (
                  phi
                  )
                
              
            
          
          
            
              
                -
                
                  sin
                  ⁡
                  
                    (
                    theta
                    )
                  
                
              
              ⁢
              
                cos
                ⁡
                
                  (
                  phi
                  )
                
              
            
          
          
            
              cos
              ⁡
              
                (
                theta
                )
              
            
          
        
      
      ]
    
  



solving for an angular velocity where phi=pitch (rotation around z axis) and theta=roll (rotation around y axis).

To transfer into a vertical orientation, the following equation may be used:

Theta>a sin((n+m−n sin(phi))/(sqrt(2)cos(phi)))  (Equation 4).

Using Equation 4 results in a usable range depicted in FIG. 16. As illustrated in FIG. 16, varying roll and pitch angles may be used to determine whether a playback device has a horizontal 1610 or vertical 1620 orientation. Analyzing a pitch angle between −75 and 75, a vertical mode may be found for a roll angle between zero (0) and thirty-five (35) degrees, for example. A horizontal mode may be found for a roll angle between fifty-five (55) and ninety (90) degrees, for example.

VII. Decentralized Synchrony Groups

In certain embodiments, one or more playback devices operate in a decentralized network to facilitate one or more synchrony groups with one or more interchangeable master-slave relationships. Using a decentralized network, communication, and control model, a playback device may provide content to another playback device even if the first playback device is not outputting that content for a listener. Additionally, a playback device may serve as a master device or control at one point in time and may receive instructions (e.g., content and/or synchronization) from another device serving as a master device at another point in time.
FIG. 17 depicts an illustrative network audio system 10 operating in accordance with a decentralized communication, organization, and control structure. With reference to the example of FIG. 17, the network audio system 10 includes a plurality of zone players 11(1) through 11(N) (generally identified by reference numeral 11(n)) interconnected by a local network 12, all of which operate under control of one or more user interface modules generally identified by reference numeral 13. The zone players 11(n) may be the same or similar to the playback device(s) described above. One or more of the zone players 11(n) may also be connected to one or more audio information sources, which will generally be identified herein by reference numeral 14(n)(s), and/or one or more audio reproduction devices, which will generally be identified by reference numeral 15(n)(r). In the reference numeral 14(n)(s), index “n” refers to the index “n” of the zone player 11(n) to which the audio information source is connected, and the index “s” (s=1, . . . , Sn) refers to the “s-th” audio information source connected to that “n-th” zone player 11(n). Thus, if, for example, a zone player 11(n) is connected to four audio information sources 14(n)(1) through 14(n)(4), the audio information sources may be generally identified by reference numeral 14(n)(s), with Sn=4. It will be appreciated that the number of audio information sources Sn may vary among the various zone players 11(n), and some zone players may not have any audio information sources connected thereto.
Similarly, in the reference numeral 15(n)(r), index “n” refers to the index “n” of the zone player 11(n) to which the audio reproduction device is connected, and the index “r” (r=1, . . . , Rn) refers to the “r-th” audio information source connected to that “n-th” zone player 11(n). In addition to the audio information sources 14(n)(s), the network audio system 10 may include one or more audio information sources 16(1) through 16(M) connected through appropriate network interface devices (not separately shown) to the local network 12. Furthermore, the local network 12 may include one or more network interface devices (also not separately shown) that are configured to connect the local network 12 to other networks, including a wide area network such as the Internet, the public switched telephony network (PSTN) or other networks, over which connections to audio information sources may be established.
The zone players 11(n) associated with system 10 may be distributed throughout an establishment such as residence, an office complex, a hotel, a conference hall, an amphitheater or auditorium, or other types of establishments. For example, if the zone players 11(n) and their associated audio information source(s) and/or audio reproduction device(s) are distributed throughout a residence, one may be located in a living room, another may be located in a kitchen, another may be located in a dining room, and yet others may be located in respective bedrooms, to selectively provide entertainment in those rooms. In certain examples, a place of application of the zone players 11(n) is not important, and the zone players 11(n) may be used in a variety of locations or environments including buildings, vehicles, outdoors, etc.
On the other hand, if the zone players 11(n) and their associated audio information source(s) and/or audio reproduction device(s) are distributed throughout an office complex, one may, for example, be provided in each office to selectively provide entertainment to the employees in the respective offices. Similarly, if the zone players 11(n) and associated audio information source(s) and/or audio reproduction device(s) are used in a hotel, they may be distributed throughout the rooms to provide entertainment to the guests. Similar arrangements may be used with zone players 11(n) and associated audio information source(s) and/or audio reproduction device(s) used in an amphitheater or auditorium. Other arrangements in other types of environments will be apparent to those skilled in the art. In each case, the zone players 11(n) may be used to selectively provide entertainment in the respective locations, for example.
The audio information sources 14(n)(s) and 16(m) may be any of a number of types of conventional sources of audio information, including, for example, compact disc (“CD”) players, AM and/or FM radio receivers, analog or digital tape cassette players, analog record turntables, and the like. In addition, the audio information sources 14(n)(s) and 16(m) may comprise digital audio files stored locally on, for example, personal computers (PCs), personal digital assistants (PDAs), or similar devices capable of storing digital information in volatile or non-volatile form. As noted above, the local network 12 may also have an interface to a wide area network, over which the network audio system 10 may obtain audio information. Moreover, one or more of the audio information sources 14(n)(s) may also include an interface to a wide area network such as the Internet, the public switched telephony network (PSTN), or any other source of audio information. In addition, one or more of the audio information sources 14(n)(s) and 16(m) may include interfaces to radio services delivered over, for example, satellite. Audio information obtained over the wide area network may include, for example, streaming digital audio information such as Internet radio, digital audio files stored on servers, and other types of audio information and sources.
Generally, the audio information sources 14(n)(s) and 16(m) provide audio information associated with audio programs to the zone players for playback. A zone player that receives audio information from an audio information source 14(n)(s) that is connected thereto may provide playback and/or forward the audio information, along with playback timing information, over the local network 12 to other zone players for playback. Similarly, each audio information source 16(m) that is not directly connected to a zone player may transmit audio information over the network 12 to any zone player 11(n) for playback.
In addition, the respective zone player 11(n) may transmit the audio information that it receives either from an audio information source 14(n)(s) connected thereto, or from an audio information source 16(m), to selected ones of the other zone players 11(n′), 11(n′′), . . . (n not equal to n′, n′′, . . . ) for playback by those other zone players. The other zone players 11(n′), 11(n′′), . . . to which the zone player 11(n) transmits the audio information for playback may be selected by a user using the user interface module 13. In that operation, the zone player 11(n) transmits the audio information to the selected zone players 11(n′), 11(n′′), . . . over the network 12. The zone players 11(n), 11(n′), 11(n′′), . . . operate such that the zone players 11(n′), 11(n′′), . . . synchronize their playback of the audio program with the playback by the zone player 11(n), so that the zone players 11(n), 11(n′), 11(n′′) provide the same audio program at the same time.
Users, using user interface module 13, may also enable different groupings or sets of zone players to provide audio playback of different audio programs synchronously. For example, a user, using a user interface module 13, may enable zone players 11(1) and 11(2) to play one audio program, audio information for which may be provided by, for example, one audio information source 14(1)(1). The same or a different user may, using the same or a different user interface module 13, enable zone players 11(4) and 11(5) to contemporaneously play another audio program, audio information for which may be provided by a second audio information source, such as audio information source 14(5)(2). Further, a user may enable zone player 11(3) to contemporaneously play yet another audio program, audio information for which may be provided by yet another audio information source, such as audio information source 16(1). As yet another possibility, a user may contemporaneously enable zone player 11(1) to provide audio information from an audio information source connected thereto, such as audio information source 14(1)(2), to another zone player, such as zone player 11(6) for playback.
In the following, the term “synchrony group” is used to refer to a set of one or more zone players that are to play the same audio program synchronously. Thus, in the above example, zone players 11(1) and 11(2) comprise one synchrony group, zone player 11(3) comprises a second synchrony group, zone players 11(4) and 11(5) comprise a third synchrony group, and zone player 11(6) comprises yet a fourth synchrony group. Thus, while zone players 11(1) and 11(2) are playing the same audio program, the zones players 11(1) and 11(2) play the audio program synchronously. Similarly, while zone players 11(4) and 11(5) are playing the same audio program, zone players 11(4) and 11(5) play the audio program synchronously. On the other hand, zone players that are playing different audio programs may do so with unrelated timings. That is, for example, the timing with which zone players 11(1) and 11(2) play their audio program may have no relationship to the timing with which zone player 11(3), zone players 11(4) and 11(5), and zone player 11(6) play their audio programs. It will be appreciated that, since “synchrony group” is used to refer to sets of zone players that are playing the same audio program synchronously, zone player 11(1) is not part of zone player 11(6)'s synchrony group, even though zone player 11(1) is providing the audio information for the audio program to zone player 11(6).
In the network audio system 10, the synchrony groups are not fixed. Users may enable them to be established and modified dynamically. Continuing with the above example, a user may enable the zone player 11(1) to begin providing playback of the audio program provided thereto by audio information source 14(1)(1), and subsequently enable zone player 11(2) to join the synchrony group.
Similarly, a user may enable the zone player 11(5) to begin providing playback of the audio program provided thereto by audio information source 14(5)(2), and subsequently enable zone player 11(4) to join that synchrony group. In addition, a user may enable a zone player to leave a synchrony group and possibly join another synchrony group. For example, a user may enable the zone player 11(2) to leave the synchrony group with zone player 11(1), and join the synchrony group with zone player 11(6). As another example, the user may enable the zone player 11(1) to leave the synchrony group with zone player 11(2) and join the synchrony group with zone player 11(6). In connection with this example, the zone player 11(1) may continue providing audio information from the audio information source 14(1)(1) to the zone player 11(2) for playback thereby.
A user, using the user interface module 13, may enable a zone player 11(n) that is currently not a member of a synchrony group to join a synchrony group, after which the zone player 11(n) is enabled to play an audio program that is currently being played by that synchrony group. Similarly, a user, also using the user interface module 13, may enable a zone player 11(n) that is currently a member of one synchrony group to disengage from that synchrony group and join another synchrony group, after which that zone player plays the audio program associated with the other synchrony group.
For example, if a zone player 11(6) is currently not a member of any synchrony group, it, under control of the user interface module 13, may become a member of a synchrony group, after which the zone player plays the audio program being played by the other members of the synchrony group, in synchrony with the other members of the synchrony group. In becoming a member of the synchrony group, zone player 11(6) may notify the zone player that is the master device for the synchrony group that the zone player wishes to become a member of its synchrony group, after which that zone player also transmits audio information associated with the audio program, as well as timing information, to the zone player 11(6). As the zone player 11(6) receives the audio information and the timing information from the master device, the zone player 11(6) plays the audio information with the timing indicated by the timing information, which enables the zone player 11(6) to play the audio program in synchrony with the other zone player(s) in the synchrony group.
Similarly, if a user, using the user interface module 13, enables a zone player 11(n) associated with a synchrony group to disengage from that synchrony group, and, if the zone player 11(n) is not the master device of the synchrony group, the zone player 11(n) may notify the master device, after which the master device may terminate transmission of the audio information and timing information to the zone player lien). If the user also enables the zone player 11(n) to begin playing another audio program using audio information from an audio information source 14(n)(s) connected thereto, it acquires the audio information from the audio information source 14(n)(s) and initiate playback thereof. If the user enables another zone player 11(n′) to join the synchrony group associated with zone player 11(n), operations in connection therewith may proceed as described immediately above.
In another example, if a user, using the user interface module 13, enables a zone player 11(n) associated with a synchrony group to disengage from that synchrony group and join another synchrony group, and, if the zone player is not the master device of the synchrony group from which it is disengaging, the zone player 11(n) may notify the master device of the synchrony group from which it is disengaging, after which that zone player terminates transmission of audio information and timing information to the zone player 11(n) that is disengaging.
Contemporaneously, the zone player 11(n) may notify the master device of the synchrony group that it (that is, zone player 11(n)) is joining, after which the master device may begin transmission of audio information and timing information to that zone player 11(n). The zone player 11(n) may thereafter begin playback of the audio program defined by the audio information, in accordance with the timing information so that the zone player 11(n) plays the audio program in synchrony with the master device.
As another example, a user, using the user interface module 13, may enable a zone player 11(n) that is not associated with a synchrony group, to begin playing an audio program using audio information provided to it by an audio information source 14(n)(s) connected thereto. In that case, the user, also using the user interface module 13 or a user interface device that is specific to the audio information source 14(n)(s), may enable the audio information source 14(n)(s) to provide audio information to the zone player 11(n). After the zone player 11(n) has begun playback, or contemporaneously therewith, the user, using the user interface module 13, may enable other zone players 11(n′), 11(n′′), . . . to join zone player 11(n)'s synchrony group and enable that zone player (n) to transmit audio information and timing information thereto as described above, to facilitate synchronous playback of the audio program by the other zone players 11(n′), 11(n′′) . . . . A user may use the user interface module 13 to control other aspects of the network audio system 10, including but not limited to the selection of the audio information source 14(n)(s) that a particular zone player 11(n) is to utilize, the volume of the audio playback, and so forth. In addition, a user may use the user interface module 13 to turn audio information source(s) 14(n)(s) on and off and to enable them to provide audio information to the respective zone players 11(n).
VIII. Conclusion
The example embodiments described herein provide for numerous ways to shape sound within an environment based on a speaker orientation. For example, sound may be shaped by routing frequencies and channels to a particular speaker driver. In another example, sound may be further shaped by taking into account other states, such as whether the zone player is paired, grouped, or consolidated with one or more additional zone players. In yet another example, sound for a whole environment from a collection of zone players may be shaped based on the orientation of one or more of the zone players within the collection. Technology from the example embodiments may be used in any application where accurately reproduced sound is desired, such as in motorized vehicles, boats, airplanes, and in outdoor locations.
The components, elements, and/or functionality of the systems discussed above may be implemented alone or in combination in various forms in hardware, firmware, and/or as a set of instructions in software, for example. Certain embodiments may be provided as a set of instructions residing on a computer-readable medium, such as a memory, hard disk, CD-ROM, DVD, and/or EPROM, for execution on a processing device, such as a controller and/or playback device.
Various inventions have been described in sufficient detail with a certain degree of particularity. It is understood to those skilled in the art that the present disclosure of embodiments has been made by way of examples only and that numerous changes in the arrangement and combination of parts may be resorted without departing from the spirit and scope of the invention as claimed. While the embodiments discussed herein may appear to include some limitations as to the presentation of the information units, in terms of the format and arrangement, the embodiments have applicability well beyond such embodiment, which can be appreciated by those skilled in the art. Accordingly, the scope of the present invention is defined by the appended claims rather than the forgoing description of embodiments.

## Claims

1. A playback device comprising:
a network interface;
a processor;
a plurality of speaker drivers;
at least one orientation sensor; and
tangible, non-transitory computer-readable memory including instructions stored therein, wherein the instructions, when executed by the processor, cause the playback device to perform functions comprising:
receiving an audio data stream via the network interface;
determining, via the at least one orientation sensor, a change in orientation of the playback device from a first orientation to a second orientation, wherein the determining includes (i) detecting for a change in pitch relative to a pitch axis of the playback device and (ii) detecting for a change in roll relative to a roll axis of the playback device, wherein the roll axis is perpendicular to the pitch axis;
routing a first set of frequencies in the audio data stream to at least one of the plurality of speaker drivers when the playback device is in the first orientation; and
routing a second set of frequencies in the audio data stream to the at least one of the plurality of speaker drivers when the playback device is determined to be in the second orientation, wherein the first set of frequencies is different than the second set of frequencies.

2. The playback device of claim 1, the functions further comprising:
reproducing a stereophonic sound based on the audio data stream using the plurality of speaker drivers when the playback device is in the first orientation; and
reproducing a monaural sound based on the audio data stream using the plurality of speaker drivers when the playback device is determined to be in the second orientation.

3. The playback device of claim 1, wherein the first set of frequencies is below a threshold frequency and the second set of frequencies is above the threshold frequency.

4. The playback device of claim 1, the functions further comprising:
playing back the audio data stream via the plurality of speaker drivers.

5. The playback device of claim 1, wherein routing the first set of frequencies in the audio data stream to at least one of the plurality of speaker drivers when the playback device is in the first orientation comprises routing the first set of frequencies in the audio data stream to at least one of the plurality of speaker drivers based on the playback device being in the first orientation and a state of the playback device.

6. The playback device of claim 5, wherein the state of the playback device is selected from a plurality of states, wherein the plurality of states comprises (i) not paired and (ii) a paired state indicative of a pairing of the playback device with an additional playback device.

7. The playback device of claim 6, wherein when the playback device is in the paired state, the playback device and additional playback device have different playback roles.

8. The playback device of claim 5, the functions further comprising:
receiving, via the network interface from a network device, an indication of the state of the playback device.

9. The playback device of claim 1, the functions further comprising based on the detected change in pitch and the detected change in roll, removing an offset introduced by at least one of vibration and playback device non-linearity.

10. A method comprising:
receiving, by a playback device, an audio data stream;
determining, via at least one orientation sensor of the playback device, a change in orientation of the playback device from a first orientation to a second orientation, wherein the determining includes (i) detecting for a change in pitch relative to a pitch axis of the playback device and (ii) detecting for a change in roll relative to a roll axis of the playback device, wherein the roll axis is perpendicular to the pitch axis;
routing, by the playback device, a first set of frequencies in the audio data stream to at least one of a plurality of speaker drivers when the playback device is in the first orientation; and
routing, by the playback device, a second set of frequencies in the audio data stream to the at least one of the plurality of speaker drivers when the playback device is determined to be in the second orientation, wherein the first set of frequencies is different than the second set of frequencies.

11. The method of claim 10, further comprising:
reproducing a stereophonic sound based on the audio data stream using the plurality of speaker drivers when the playback device is in the first orientation; and
reproducing a monaural sound based on the audio data stream using the plurality of speaker drivers when the playback device is determined to be in the second orientation.

12. The method of claim 10, wherein the first set of frequencies is below a threshold frequency and the second set of frequencies is above the threshold frequency.

13. The method of claim 10, the method further comprising:
playing back the audio data stream via the plurality of speaker drivers.

14. The method of claim 10, wherein routing the first set of frequencies in the audio data stream to at least one of the plurality of speaker drivers when the playback device is in the first orientation comprises routing the first set of frequencies in the audio data stream to at least one of the plurality of speaker drivers based on the playback device being in the first orientation and a state of the playback device.

15. The method of claim 14, wherein the state of the playback device is selected from a plurality of states, wherein the plurality of states comprises (i) not paired and (ii) a paired state indicative of pairing of the playback device with an additional playback device.

16. The method of claim 15, wherein when the playback device is in the paired state, the playback device and additional playback device have different playback roles.

17. The method of claim 14, the method further comprising:
receiving, via a network interface from a network device, an indication of the state of the playback device.

18. The method of claim 10, the method further comprising based on the detected change in pitch and the detected change in roll, removing an offset introduced by at least one of vibration and playback device non-linearity.

19. A tangible, non-transitory computer-readable memory having instructions stored thereon, wherein the instructions, when executed, cause a playback device to perform functions comprising:
receiving, by the playback device, an audio data stream;
determining, via at least one orientation sensor of the playback device, a change in orientation of the playback device from a first orientation to a second orientation, wherein the determining includes (i) detecting for a change in pitch relative to a pitch axis of the playback device and (ii) detecting for a change in roll relative to a roll axis of the playback device, wherein the roll axis is perpendicular to the pitch axis;
routing, by the playback device, a first set of frequencies in the audio data stream to at least one of a plurality of speaker drivers when the playback device is in the first orientation; and
routing, by the playback device, a second set of frequencies in the audio data stream to the at least one of the plurality of speaker drivers when the playback device is determined to be in the second orientation, wherein the first set of frequencies is different than the second set of frequencies.

20. The tangible, non-transitory computer-readable memory of claim 19, the functions further comprising:
reproducing a stereophonic sound based on the audio data stream using the plurality of speaker drivers when the playback device is in the first orientation; and
reproducing a monaural sound based on the audio data stream using the plurality of speaker drivers when the playback device is determined to be in the second orientation.

21. The tangible, non-transitory computer-readable memory of claim 19, wherein the first set of frequencies is below a threshold frequency and the second set of frequencies is above the threshold frequency.

22. The tangible, non-transitory computer-readable memory of claim 19, wherein routing the first set of frequencies in the audio data stream to at least one of the plurality of speaker drivers when the playback device is in the first orientation comprises routing the first set of frequencies in the audio data stream to at least one of the plurality of speaker drivers based on the playback device being in the first orientation and a state of the playback device.

23. The tangible, non-transitory computer-readable memory of claim 22, wherein the state of the playback device is selected from a plurality of states, wherein the plurality of states comprises (i) not paired and (ii) a paired state indicative of a pairing of the playback device with an additional playback device, and wherein when the playback device is in the paired state, the playback device and additional playback device have different playback roles.