Audio Processing Algorithms and Databases
By using a database of audio processing algorithms tailored to each playback zone's acoustic characteristics, the system addresses inconsistent audio quality issues, ensuring optimized sound across varying environments.
Patent Information
- Application Number
- JP2022115789
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2014-09-09
- Filing Date
- 2022-07-20
- Publication Date
- 2025-01-20
- Estimated Expiration
- 2035-09-08
AI Technical Summary
Existing audio playback systems struggle to maintain consistent audio quality across different playback zones due to varying acoustic characteristics, such as dimensions and furniture arrangements, leading to inconsistent audio experiences.
A database of audio processing algorithms is maintained based on the acoustic characteristics of each playback zone, allowing playback devices to apply specific algorithms to enhance audio quality by adjusting amplification and equalization according to the zone's unique properties.
This approach ensures that audio playback in each zone achieves predetermined audio characteristics, providing consistent and optimized sound quality across different environments.
Smart Images

Figure 0007617875000009 
Figure 0007617875000010 
Figure 0007617875000011
Abstract
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Patent Application No. 14 / 481,505, filed September 9, 2014, and U.S. Patent Application No. 14 / 481,514, filed September 9, 2014, both of which are incorporated by reference in their entireties. [Technical field]
[0002] This application relates to consumer products, and in particular to methods, systems, products, features, services, and other elements directed to media playback, or aspects thereof. [Background technology]
[0003] Options for accessing and listening to digital audio in out-loud settings were limited until 2003, when Sonos Inc. filed one of its first patent applications, titled "Method for Synchronizing Audio Playback Among Multiple Networked Devices," and began selling its media playback system in 2005. Sonos wireless HiFi systems allow people to experience music from multiple sources through one or more networked playback devices. Through software control applications installed on a smartphone, tablet, or computer, people can play the music they want in any room equipped with a networked playback device. Also, using the controller, for example, they can stream different songs to each room equipped with a playback device, group multiple rooms for synchronized playback, or listen to the same song in all rooms in sync.
[0004] Given the ever-increasing interest in digital media, there is a need for further development of consumer-accessible technologies that can further enhance the listening experience.
[0005] The features, aspects, and advantages of the technology disclosed herein will become better understood with reference to the following description, the appended claims, and the accompanying drawings. [Brief description of the drawings]
[0006] [Figure 1] FIG. 1 illustrates an exemplary media playback system configuration in which some embodiments can be implemented. [Diagram 2] Functional block diagram of an exemplary playback device [Diagram 3] Functional block diagram of an exemplary control device [Figure 4] FIG. 1 illustrates an exemplary controller interface. [Diagram 5] 1 is an exemplary flow diagram of a first method for maintaining a database of audio processing algorithms; [Figure 6A] FIG. 1 shows an exemplary portion of a first database of audio processing algorithms. [Figure 6B] FIG. 1 shows an exemplary portion of a second database of audio processing algorithms. [Figure 7] 1 is an exemplary flow diagram of a second method for maintaining a database of audio processing algorithms. [Figure 8] FIG. 1 illustrates an exemplary playback zone for which a playback device may be calibrated. [Figure 9] 1 is an exemplary flow diagram of a first method for determining an audio processing algorithm based on one or more playback zone characteristics. [Figure 10] 1 is an exemplary flow diagram of a second method for determining an audio processing algorithm based on one or more playback zone characteristics. [Figure 11] Exemplary Flow Diagram for Identifying an Audio Processing Algorithm from a Database of Audio Processing Algorithms DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0007] The drawings are for the purpose of illustrating some exemplary embodiments, it being understood, however, that the invention is not limited to the arrangements and instrumentality shown in the drawings.
[0008] I. Overview When a playback device plays audio content in a playback zone, the quality of the playback may depend on the acoustic characteristics of the playback zone. In the description herein, a playback zone may include one or more playback devices or a group of playback devices. The acoustic characteristics of a playback zone may depend on the dimensions of the playback zone, the type of furniture in the playback zone, and the arrangement of the furniture in the playback zone, etc. Thus, different playback zones may have different acoustic characteristics. Because a given model of a playback device may be used in various different playback zones having different acoustic characteristics, a single audio processing algorithm may not provide consistent audio playback quality by the playback device in each of the different playback zones.
[0009] Examples described herein relate to determining an audio processing algorithm to be applied by a playback device based on acoustic characteristics of a playback zone in which the playback device resides. Application of the determined audio processing algorithm by the playback device when playing audio content in the playback zone can cause the audio content rendered by the playback device in the playback zone to have, at least to some extent, a predetermined audio characteristic. In one case, application of the audio processing algorithm is to modify the audio amplification at one or more audio frequencies of the audio content. Other examples are also possible.
[0010] In one example, a database of audio processing algorithms may be maintained, and audio processing algorithms in the database may be identified based on one or more characteristics of the reproduction zone, which may include one or more of the acoustic characteristics of the reproduction zone, and / or dimensions of the reproduction zone, flooring and / or wall materials of the reproduction zone, number and / or type of furniture in the reproduction zone, etc.
[0011] Maintaining the database of audio processing algorithms may include determining at least one audio processing algorithm that corresponds to one or more characteristics of the playback zone and adding the determined audio processing algorithm to the database. In an example, the database may be stored on one or more devices that maintain the database or on one or more other devices. In the description herein, unless otherwise stated, the functions for maintaining the database may be performed by one or more computing devices (i.e., servers), one or more playback devices, or one or more controller devices, among others. However, for simplicity, one or more devices that perform the functions may be generally referred to as a computing device.
[0012] In one example, determining such an audio processing algorithm may include the computing device determining acoustic characteristics of the playback zone. In some cases, the playback zone may be a model room used to simulate a playback zone in which the playback device may play audio content. In such cases, one or more physical characteristics of the model room (i.e., dimensions, flooring and wall materials, etc.) may be predetermined. In another case, the playback zone may be a room within the home of a user of the playback device. In such cases, the physical characteristics of the playback zone may be provided by the user or may be unknown.
[0013] In one example, the computing device may cause a playback device within the playback zone to play an audio signal. In one case, the played audio signal may include audio content having frequencies that substantially cover the entire frequency range that can be rendered by the playback device. The playback device may then detect the audio signal using a microphone of the playback device. The microphone of the playback device may be an internal microphone of the playback device. In one case, the detected audio signal may include a portion that corresponds to the played audio signal. For example, the detected audio signal may include a component of the played audio signal that is reflected within the playback zone. The computing device may receive the detected audio signal from the playback device and determine an acoustic response of the playback zone based on the detected audio signal.
[0014] The computing device may then determine acoustic characteristics of the reproduction zone by removing acoustic characteristics of the reproduction device from the acoustic response of the reproduction zone. The acoustic characteristics of the reproduction device may correspond to a model of the reproduction device. In some cases, the acoustic characteristics corresponding to the model of the reproduction device may be determined based on audio signals reproduced and detected by a reproduction device representative of the model in an anechoic chamber.
[0015] The computing device may then determine a corresponding audio processing algorithm based on the determined acoustic characteristics of the playback zone and the predetermined audio characteristics. The predetermined audio characteristics may include a particular frequency equalization that is considered good sounding. Once the corresponding audio processing algorithm is determined, application of the corresponding audio processing algorithm by the playback device when playing audio content in the playback zone may cause the audio content rendered by the playback device in the playback zone to have, at least to some extent, the predetermined audio characteristics. For example, if the acoustic characteristics of the playback zone are such that certain audio frequencies are attenuated more than other frequencies, the corresponding audio processing algorithm may include increased amplification of the certain audio frequencies. Other examples are also possible.
[0016] The association of the determined audio processing algorithm with the acoustic characteristics of the reproduction zone may then be stored as an entry in the database. In some cases, an association of the audio processing algorithm with one or more other characteristics of the reproduction zone may additionally or alternatively be stored in the database. For example, if the reproduction zone is of particular dimensions, an association of the audio processing algorithm with the particular room dimensions may be stored in the database. Other examples are also possible.
[0017] In one example, the database may be accessed by a computing device to identify an audio processing algorithm for the playback device to apply to the playback zone. In one example, the computing device that accesses the database to identify the audio processing algorithm may be the same computing device that maintains the database, as described above. In another example, the computing device may be a different computing device.
[0018] In some cases, accessing the database to identify audio processing algorithms for the playback device to apply to a playback zone may be part of a calibration of the playback device. Such a calibration of the playback device may be initiated by the playback device itself, by a server in communication with the playback device, or by a controller device. In some cases, calibration may be initiated because the playback device is new and calibration is part of the initial setup of the playback device. In other cases, the playback device may be relocated within the same playback zone or from one playback zone to another. In further cases, calibration may be initiated by a user of the playback device, such as via a controller device.
[0019] In one example, calibrating the playback device may include the computing device prompting a user of the playback device to indicate one or more characteristics of the playback zone, such as the approximate dimensions of the playback zone, floor or wall materials, amount of furniture, etc. The computing device may prompt the user via a user interface on the controller device. Based on the one or more characteristics of the playback zone provided by the user, an audio processing algorithm may be identified in the database that corresponds to the one or more characteristics of the playback zone, and the playback device may then apply the identified audio processing algorithm when playing audio content in the playback zone.
[0020] In another example, calibrating the playback device may include determining an acoustic characteristic of the playback zone and identifying a corresponding audio processing algorithm based on the acoustic characteristic of the playback zone. The determination of the acoustic characteristic of the playback zone may be similar to that described above. For example, the playback device in the playback zone in which the playback device is calibrated may detect a second audio signal using a microphone of the playback device after playing a first audio signal. The second audio signal may then be based on determining the acoustic characteristic of the playback zone. Based on the determined acoustic characteristic, a corresponding audio processing algorithm may be identified in the database, and the playback device may then apply the identified audio processing algorithm when playing audio content in the playback zone. As described above, the application of the corresponding audio processing algorithm by the playback device when playing audio content in the playback zone may cause the audio content rendered by the playback device in the playback zone to have, at least to some extent, a predetermined audio characteristic.
[0021] Although the above description of calibration of a playback device generally involves a database of audio processing algorithms, one skilled in the art will appreciate that a computing device may determine an audio processing algorithm for a playback zone without accessing a database. For example, instead of identifying a corresponding audio processing algorithm in a database, a computing device may determine the audio processing algorithm by calculating the audio processing algorithm based on acoustic characteristics of the playback zone (from the detected audio signal) and predetermined audio characteristics similar to those described above in connection with maintaining and generating audio processing algorithm entries for the database. Other examples are also possible.
[0022] In some cases, the playback device to be calibrated may be one of a plurality of playback devices configured to synchronously play audio content in the playback zone. In such a case, the determination of the acoustic characteristics of the playback zone may also include audio signals played by other playback devices in the playback zone. In one example, while determining the audio processing algorithm, each of the plurality of playback devices in the playback zone may simultaneously play an audio signal, and the audio signal detected by the microphone of the playback device may include a portion of the audio signal played by the other playback devices in the playback zone together with a portion corresponding to the audio signal played by the playback device. Based on the detected audio signals, the acoustic response of the playback zone may be determined, and the acoustic characteristics of the playback zone including the other playback devices may be determined by removing the acoustic characteristics of the playback device being calibrated from the acoustic response of the playback zone. The audio processing algorithm may then be calculated or specified in the database based on the acoustic characteristics of the playback zone and applied by the playback device.
[0023] In another case, two or more playback devices in a plurality of playback devices in a playback zone may each have a respective built-in microphone, each individually calibrated according to the above description. In one example, based on a set of audio signals detected by the respective microphones of the two or more playback devices, an acoustic characteristic of the playback zone may be determined, and an audio processing algorithm corresponding to the acoustic characteristic may be specified for each of the two or more playback devices. Other examples are also possible.
[0024] As discussed above, the present disclosure includes determining an audio processing algorithm to be applied by a playback device based on acoustic characteristics of a particular playback zone that includes the playback device. In one aspect, a computing device is provided. The computing device includes a processor and a memory storing instructions executable by the processor to cause the computing device to perform a function. The function includes causing a playback device in the playback zone to play a first audio signal and receiving data from the playback device indicative of a second audio signal detected by a microphone of the playback device. The second audio signal includes a portion that corresponds to the first audio signal. The function further includes determining an audio processing algorithm based on the second audio signal and the acoustic characteristics of the playback device, and sending data indicative of the determined audio processing algorithm to the playback device.
[0025] In another aspect, a computing device is provided. The computing device includes a processor and a memory storing instructions executable by the processor to cause the computing device to perform functions. The functions include causing a first playback device to play a first audio signal in a playback zone, causing a second playback device to play a second audio signal in the playback zone, and receiving data from the first playback device indicative of a third audio signal detected by a microphone of the first playback device. The third audio signal includes (i) a portion corresponding to the first audio signal and (ii) a portion corresponding to the second audio signal played by the second playback device. The functions also include determining an audio processing algorithm based on the third audio signal and an acoustic characteristic of the first playback device, and sending data indicative of the determined audio processing algorithm to the first playback device.
[0026] In another aspect, a playback device is provided. The playback device includes a processor, a microphone, and a memory having instructions executable by the processor to cause the playback device to perform functions. The functions include detecting a second audio signal with the microphone while playing a first audio signal in a playback zone. The second audio signal includes a portion corresponding to the first audio signal. The functions also include determining an audio processing algorithm based on the second audio signal and an acoustic characteristic of the playback device, and applying the determined audio processing algorithm to audio data corresponding to the media item when playing the media item in the playback zone.
[0027] In another aspect, a computing device is provided. The computing device includes a processor and a memory having instructions executable by the processor to cause the computing device to perform functions. The functions include causing a playback device in a playback zone to play a first audio signal and receiving data indicative of a second audio signal detected by a microphone of the playback device. The second audio signal includes a portion of the first audio signal played by the playback device. The functions also include determining acoustic characteristics of the playback zone based on the second audio signal and characteristics of the playback device, determining an audio processing algorithm based on the acoustic characteristics of the playback zone, and storing an association of the audio processing algorithm with the acoustic characteristics of the playback zone in a database.
[0028] In another aspect, a computing device is provided. The computing device includes a processor and a memory having instructions executable by the processor to cause the computing device to perform functions. The functions include causing a playback device in a playback zone to play a first audio signal, and receiving (i) data indicative of one or more characteristics of the playback zone and (ii) data indicative of a second audio signal detected by a microphone of the playback device. The second audio signal includes a portion corresponding to the audio signal played by the playback device. The functions also include determining an audio processing algorithm based on the second audio signal and the characteristics of the playback device, and storing an association of the determined audio processing algorithm with at least one of the one or more characteristics of the playback zone in a database.
[0029] In another aspect, a computing device is provided. The computing device includes a processor and a memory storing instructions executable by the processor to cause the playback device to perform functions. The functions include maintaining a database of (i) a plurality of audio processing algorithms and (ii) a plurality of playback zone characteristics. Each audio processing algorithm of the plurality of audio processing algorithms corresponds to at least one playback zone characteristic of the plurality of playback zone characteristics. The functions also include receiving data indicative of the one or more characteristics of the playback zone, identifying an audio processing algorithm in the database based on the data, and transmitting data indicative of the identified audio processing algorithm.
[0030] Although some examples described herein refer to functions performed by any entity, such as a "user" and / or other entity, it should be understood that this is for illustrative purposes only. The claims should not be construed as requiring the actions of such example entities unless expressly required by the recitation of the claims themselves. Those skilled in the art will recognize that the present disclosure includes other embodiments.
[0031] II. Operating environment examples 1 illustrates an exemplary configuration of a media playback system 100 that may be implemented in accordance with one or more embodiments disclosed herein. As illustrated, the media playback system 100 is associated with an exemplary home environment having multiple rooms and spaces, such as a master bedroom, an office, a dining room, and a living room. As illustrated in the example of FIG. 1, the media playback system 100 includes playback devices 102-124, control devices 126 and 128, and a wired or wireless network router 130.
[0032] Further descriptions of the different components of the exemplary media playback system 100 and how the different components interact to provide a media experience to a user are provided in the following sections. Although the description herein generally refers to the media playback system 100, the techniques described herein are not limited to application in a home environment as shown in Figure 1. For example, the techniques described herein are useful in environments where multi-zone audio is desired, such as commercial environments such as restaurants, malls, or airports, vehicles such as sports utility vehicles (SUVs), buses or cars, ships or boards, airplanes, and the like.
[0033] a. Exemplary Playback Devices 2 illustrates a functional block diagram of an exemplary playback device 200 constituting one or more of the playback devices 102-124 of the media playback system 100 of FIG. 1. The playback device 200 may include a processor 202, software components 204, memory 206, an audio processing component 208, an audio amplifier 210, a speaker 212, a microphone 220, and a network interface 214. The network interface 214 includes a wireless interface 216 and a wired interface 218. In some cases, the playback device 200 may not include the speaker 212 but may include a speaker interface for connecting the playback device 200 to an external speaker. In other cases, the playback device 200 may not include the speaker 212 or the audio amplifier 210 but may include an audio interface for connecting the playback device 200 to an external audio amplifier or audiovisual receiver.
[0034] In one example, the processor 202 may be a clocked computer component configured to process input data based on instructions stored in the memory 206. The memory 206 may be a non-transitory computer-readable recording medium configured to store instructions executable by the processor 202. For example, the memory 206 may be a data storage into which one or more of the software components 204 executable by the processor 202 may be loaded to perform a function. In one example, the function may include the playback device 200 reading audio data from an audio source or another playback device. In another example, the function may include the playback device 200 transmitting audio data to another device or playback device on a network. In yet another example, the function may include pairing the playback device 200 with one or more playback devices to create a multi-channel audio environment.
[0035] One function includes the playback device 200 synchronizing the playback of the audio content with one or more other playback devices. During the synchronized playback, preferably, a listener does not notice a delay between the playback of the audio content by the playback device 200 and the playback by the one or more other playback devices. U.S. Patent No. 8,234,395, entitled "System and Method for Synchronizing Operation Among Multiple Independently Clocked Digital Data Processing Devices," is incorporated herein by reference, and provides a more detailed example in which synchronizing audio playback among playback devices is described.
[0036] Memory 206 may further be configured to store data, such as data associated with playback device 200, such as playback device 200 included as part of one or more zones and / or zone groups, audio sources accessible by playback device 200, or playback queues that may be associated with playback device 200 (or other playback devices). The data may be periodically updated and stored as one or more state variables that indicate the state of playback device 200. Memory 206 may also include data associated with the state of other devices in the media system, and may be shared between devices from time to time so that one or more devices have more-current data associated with the system. Other embodiments are possible.
[0037] The audio processing component 208 may include one or more digital-to-analog converters (DACs), analog-to-digital converters (ADCs), audio processing components, audio enhancement components, and digital signal processors (DSPs), among others. In some embodiments, the one or more audio processing components 208 may be subcomponents of the processor 202. In some embodiments, audio content may be processed and / or purposefully altered by the audio processing component 208 to generate an audio signal. The generated audio signal is sent to the audio amplifier 210, amplified, and played through the speaker 212. In particular, the audio amplifier 210 may include a device configured to amplify the audio signal to a level capable of driving one or more speakers 212. The speaker 212 may comprise a complete speaker system, including a separate transducer (e.g., a "driver") or a housing that contains one or more drivers. Some drivers included in the speaker 212 may include, for example, a subwoofer (e.g., for low frequencies), a mid-range driver (e.g., for mid-frequency frequencies), and / or a tweeter (for high frequencies). In some cases, each transducer of the one or more speakers 212 may be driven by a corresponding individual audio amplifier of the audio amplifiers 210. In addition to generating analog signals for playback on the playback device 200, the audio processing component 208 processes audio content and sends the audio content to one or more other playback devices for playback.
[0038] Audio content to be processed and / or played by the playback device 200 may be received from an external source, such as via an audio line-in input connection (e.g., an auto-detecting 3.5 mm audio line-in connection) or via the network interface 214.
[0039] The microphones 220 may include audio sensors configured to convert detected sounds into electrical signals. The electrical signals may be processed by the audio processing component 208 and / or the processor 202. The microphones 220 may be positioned in one or more locations and in one or more orientations on the playback device 200. The microphones 220 may be configured to detect sounds within one or more frequency ranges. In some cases, the one or more microphones 220 may be configured to detect sounds within a frequency range of audio that the playback device 200 is capable of or rendering. In other cases, the one or more microphones 220 may be configured to detect sounds within a human hearing frequency range. Other examples are also possible.
[0040] The network interface 214 may be configured to enable data flow between the playback device 200 and one or more other devices over a data network. In this manner, the playback device 200 may be configured to receive audio content over a data network from one or more other playback devices in communication with the playback device, from network devices in a local area network, or from audio content sources on a wide area network, such as the Internet. In one example, audio content and other signals sent and received by the playback device 200 may be transmitted in the form of digital packets that include an Internet Protocol (IP)-based source address and an IP-based destination address. In such a case, the network interface 214 may parse the digital packet data so that data destined for the playback device 200 can be appropriately received and processed by the playback device 200.
[0041] As shown, the network interface 214 may include a wireless interface 216 and a wired interface 218. The wireless interface 216 provides a network interface function for the playback device 200 and may wirelessly communicate with other devices (e.g., other playback devices, speakers, receivers, network devices, control devices in a data network associated with the playback device 200) based on a communication protocol (e.g., any of the wireless standards (standards) including wireless standards IEEE 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, 802.15, 4G mobile communication standards, etc.). The wired interface 218 provides a network interface function for the playback device 200 and may communicate via a wired connection with other devices based on a communication protocol (e.g., IEEE 802.3). Although the network interface 214 shown in FIG. 2 includes both the wireless interface 216 and the wired interface 218, the network interface 214 may include only a wireless interface or only a wired interface in some embodiments.
[0042] In some examples, the playback device 200 and the other playback device may be paired to play two separate audio components of the audio content. For example, the playback device 200 may be configured to play a left channel audio component, while the other playback device may be configured to play a right channel audio component. This may create or enhance a stereo effect of the audio content. The paired playback device (also referred to as a "combined playback device") may also play the audio content in synchronization with the other playback device.
[0043] In another example, the playback device 200 may be acoustically integrated with one or more other playback devices to form a single integrated playback device (integrated playback device). The integrated playback device may be configured to process and reproduce sounds differently than non-integrated or paired playback devices because the integrated playback device may have additional speakers to play audio content. For example, if the playback device 200 is designed to play audio content in the low frequency range (e.g., a subwoofer), the playback device 200 may be integrated with a playback device designed to play full frequency range audio content. In this case, the full frequency range playback device may be configured to play only the mid-high frequency components of the audio content when integrated with the low frequency playback device 200, while the low frequency range playback device 200 plays the low frequency components of the audio content. Furthermore, the integrated playback device may be paired with a single playback device or with yet another integrated playback device.
[0044] As an example, Sonos Incorporated currently offers playback devices including "PLAY:1", "PLAY:3", "PLAY:5", "PLAYBAR", "CONNECT:AMP", "CONNECT", and "SUB". Any other past, present, and / or future playback devices may additionally or alternatively be implemented and used with the playback device embodiments disclosed herein. Furthermore, it is understood that the playback device is not limited to the specific example shown in FIG. 2 or the Sonos products provided. For example, the playback device may include wired or wireless headphones. In another example, the playback device may include or interact with a docking station for a personal mobile media playback device. In yet another example, the playback device may be integrated with another device or component, such as a television, a lighting fixture, or some other device for use indoors or outdoors.
[0045] b. Exemplary Play Zone Configurations Returning to the media playback system 100 of FIG. 1, an environment may have one or more playback zones, each containing one or more playback devices. The media playback system 100 may be formed with one or more playback zones, with one or more zones being added or removed later to form the exemplary configuration shown in FIG. 1. Each zone may be given a name based on a different room or space, e.g., office, bathroom, master bedroom, bedroom, kitchen, dining room, living room, and / or balcony. In some cases, a single playback zone may include multiple rooms or spaces. In other cases, a single room or space may include multiple playback zones.
[0046] 1, the balcony, dining room, kitchen, bathroom, office, and bedroom zones each have one playback device, while the living room and master bedroom zones each have multiple playback devices. The living room zone may be configured such that playback devices 104, 106, 108, and 110 play audio content synchronously as separate playback devices, as one or more combined playback devices, as one or more integrated playback devices, or any combination thereof. Similarly, in the case of the master bedroom, playback devices 122 and 124 may be configured such that playback devices synchronously play audio content as separate playback devices, as combined playback devices, or as an integrated playback device.
[0047] In one example, one or more playback zones in the environment of FIG. 1 each play different audio content. For example, a user may listen to hip hop music played by playback device 102 while grilling in the balcony zone, while another user may listen to classical music played by playback device 114 while preparing a meal in the kitchen zone. In another example, a playback zone may play the same audio content in synchronization with another playback zone. For example, when a user is in the office zone, playback device 118 in the office zone may play the same music as the music being played by playback device 102 in the balcony. In such a case, playback devices 102 and 118 are playing rock music in synchronization, so that the user can seamlessly (or at least nearly seamlessly) enjoy the audio content played out-loud as he moves between different playback zones. Synchronization between playback zones may be performed in a manner similar to synchronization between playback devices as described in the aforementioned U.S. Pat. No. 8,234,395.
[0048] As described above, the zone configuration of the media playback system 100 may change dynamically, and in some embodiments, the media playback system 100 supports multiple configurations. For example, if a user physically moves one or more playback devices into or out of a zone, the media playback system 100 may be reconfigured to accommodate the change. For example, if a user physically moves the playback device 102 from the balcony zone to the office zone, the office zone may include both the playback device 118 and the playback device 102. If necessary, the playback device 102 may be paired or grouped into the office zone and / or renamed via a control device, e.g., the control devices 126 and 128. On the other hand, if one or more playback devices are moved into an area in the home environment where a playback zone has not yet been established, a new playback zone may be formed in that area.
[0049] Furthermore, different playback zones of media playback system 100 may be dynamically combined into zone groups or split into separate playback zones. For example, dining room zone and kitchen zone 114 may be combined into a zone group for a dinner party so that playback devices 112 and 114 can play audio content synchronously. On the other hand, if some users want to watch TV while other users want to listen to music in the living room space, the living room zone may be divided into a TV zone including playback device 104 and a listening zone including playback devices 106, 108, and 110.
[0050] c. Exemplary Control Device 3 illustrates a functional block diagram of an exemplary control device 300 constituting one or both of the control devices 126 and 128 of the media playback system 100. As illustrated, the control device 300 may include a processor 302, a memory 304, a network interface 306, a user interface 308, and a microphone 310. In one example, the control device 300 may be a dedicated control device for the media playback system 100. In another example, the control device 300 may be a network device, such as an iPhone®, iPad®, or any other smartphone, tablet, or network device (e.g., a network computer such as a PC or Mac®) with media playback system controller application software installed.
[0051] The processor 302 may be configured to perform functions related to enabling user access, control, and configuration of the media playback system 100. The memory 304 may be configured to store instructions executable by the processor 302 to perform those functions. The memory 304 may also be configured to store media playback system controller application software and other data associated with the media playback system 100 and users.
[0052] The microphone 310 may include an audio sensor configured to convert detected sound into an electrical signal. The electrical signal may be processed by the processor 302. In some cases, if the control device 300 is a device that can also be used as a means for voice communication or voice recording, the one or more microphones 310 may be microphones that facilitate those functions. For example, the one or more microphones 310 may be configured to detect sounds within a frequency range that humans can produce and / or within a human audible frequency range. Other examples are also possible.
[0053] In one example, the network interface 306 may be based on an industry standard (e.g., infrared, wireless, wired standards such as IEEE 802.3, wireless standards such as IEEE 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, 802.15, 4G communication standards, etc.). The network interface 306 may provide a means for the control device 300 to communicate with other devices in the media playback system 100. In one example, data and information (e.g., state variables) may be communicated between the control device 300 and the other devices via the network interface 306. For example, the configuration of playback zones and zone groups in the media playback system 100 may be received by the control device 300 from a playback device or another network device, or may be transmitted by the control device 300 to another playback device or network device via the network interface 306. In one case, the other network device may be another control device.
[0054] Playback device control commands, such as volume control and audio playback controls, may be communicated from the control device 300 to the playback devices via the network interface 306. As described above, configuration changes to the media playback system 100 may be made by a user using the control device 300. Configuration changes may include adding one or more playback devices to a zone, removing one or more playback devices from a zone, adding one or more zones to a zone group, removing one or more zones from a zone group, forming a combined or unified player, splitting a combined or unified player into one or more playback devices, etc. Thus, the control device 300 may be referred to as a controller, and the control device 300 may be a dedicated controller with media playback system controller application software installed or a network device.
[0055] The user interface 308 of the control device 300 may be configured to enable user access and control of the media playback system 100 by providing a controller interface, such as the controller interface 400 shown in FIG. 4. The controller interface 400 includes a playback control area 410, a playback zone area 420, a playback status area 430, a playback queue area 440, and an audio content source area 450. The illustrated user interface 400 is merely one example of a user interface provided with a network device, such as the control device 300 of FIG. 3 (and / or the control devices 126 and 128 of FIG. 1), that may be accessed by a user to control a media playback system, such as the media playback system 100. Alternatively, other user interfaces of different formats, styles, and interaction sequences may be implemented on one or more network devices to provide similar control access to the media playback system.
[0056] The playback control area 410 may include selectable icons (e.g., by touch or using a cursor) that cause playback devices in the selected playback zone or zone group to play or stop, fast forward, rewind, skip forward, skip forward, turn shuffle mode on / off, turn repeat mode on / off, and turn crossfade mode on / off. The playback control area 410 may include other selectable icons that may change other settings, such as equalization settings, playback volume, etc.
[0057] The playback zones area 420 may include a representation of the playback zones within the media playback system 100. In some embodiments, the graphical representation of the playback zones may be selectable. By moving additional selectable icons, the playback zones within the media playback system may be managed or configured. For example, other management or configuration may be performed, such as creating combined zones, creating zone groups, splitting zone groups, and renaming zone groups.
[0058] For example, as shown, a "group" icon may be provided in each of the graphical representations of the playback zones. The "group" icon in the graphical representation of a zone may be selectable to provide an option to select and group one or more zones in the media playback system with the zone. Once grouped, playback devices in the zones grouped with the zone are configured to play audio content in sync with the playback devices in the zone. Similarly, a "group" icon may be provided in the graphical representation of a zone group. In this case, the "group" icon may be selectable to provide an option to deselect one or more zones in the zone group to remove one or more zones in the zone group from the zone group. Other interactions for grouping and ungrouping zones are possible and may be implemented via a user interface, such as user interface 400. The display of playback zones in playback zone area 420 may be dynamically updated as playback zone or zone group configurations change.
[0059] The playback status area 430 may include a graphical representation of currently played audio content, previously played audio content, or audio content scheduled to be played next in the selected playback zone or zone group. The selectable playback zones or groups may be visually distinguished on the user interface, for example, in the playback zone area 420 and / or the playback status area 430. The graphical representation may include track title, artist name, album name, album year, track length, and other relevant information useful to a user when controlling a media playback system via the user interface 400.
[0060] The playback queue area 440 may include a graphical representation of the audio content in a playback queue associated with a selected playback zone or zone group. In some embodiments, each playback zone or zone group may be associated with a playback queue that includes information corresponding to zero or more audio items to be played by the playback zone or zone group. For example, each audio item in the playback queue may include a Uniform Resource Identifier (URI), Uniform Resource Identifier (URL), or other identifier that can be used by a playback device in the playback zone or zone group to locate and / or retrieve the audio item from a local or network audio content source and play it by the playback device.
[0061] In one example, a playlist may be added to the play queue. In this case, information corresponding to each audio item in the playlist may be added to the play queue. In another example, the audio items in the play queue may be saved as a playlist. In yet another example, the play queue may be empty or "unused" but filled when the playback device continues to play streaming audio content, e.g., Internet radio, which plays continuously unless stopped, rather than audio items that have a play time and therefore do not play continuously. In another embodiment, the play queue may contain Internet radio and / or other streaming audio content items and may be "unused" when a playback zone or zone group is playing those items. Other examples are possible.
[0062] When a playback zone or zone group is "grouped" or "ungrouped", the playback queues associated with the affected playback zones or zone groups may be cleared or reassociated. For example, when a first playback zone containing a first playback queue is grouped with a second playback zone containing a second playback queue, the formed zone group may have an associated playback queue. The associated playback queue may initially be empty, contain audio items of the first playback queue (e.g., if the second playback zone is added to the first playback zone), contain audio items of the second playback queue (e.g., if the first playback zone is added to the second playback zone), or combine audio items of both the first and second playback queues. When the formed zone group is subsequently ungrouped, the ungrouped first playback zone may be reassociated with the previous first playback queue, may be associated with a new playback queue that is empty, or may be associated with a new playback queue that contains audio items of the playback queue that was associated with the zone group before the zone group was ungrouped. Similarly, the ungrouped second playback zone may be reassociated with the previous second playback queue, may be associated with an empty new playback queue, or may be associated with a new playback queue containing the audio items in the playback queue that were associated with the zone group before the zone group was ungrouped.
[0063] Returning to the user interface 400 of FIG. 4, the graphical representation of the audio content in the play queue area 440 may include track title, artist name, track length, and other relevant information associated with the audio content in the play queue. In some examples, the graphical representation of the audio content may include additional selectable icons that may be selected and moved to allow management and / or manipulation of the play queue and / or the audio content displayed in the play queue. For example, the displayed audio content may be removed from the play queue, moved to a different position in the play queue, selected to play immediately or after currently playing audio content, or other actions may be performed. The play queue associated with a play zone or zone group may be stored in memory of one or more playback devices in the play zone or zone group, in memory of a playback device not in the play zone or zone group, and / or in memory of other designated devices.
[0064] The audio content source area 450 may include a graphical representation of selectable audio content sources from which audio content may be retrieved and played by a selected playback zone or zone group, a description of which may be found in the following sections.
[0065] d. Exemplary Audio Content Sources As previously illustrated, one or more playback devices within a zone or zone group may be configured to retrieve audio content for playback from multiple available audio content sources (e.g., based on the audio content's corresponding URI or URL). In one example, the audio content may be retrieved by the playback device directly from the corresponding audio content source (e.g., a line-in connection). In another example, the audio content may be provided to the playback device over a network via one or more other playback devices or network devices.
[0066] Exemplary audio content sources may include memory of one or more playback devices in a media playback system, such as the media playback system 100 of FIG. 1, a local music library on one or more networked devices (e.g., a control device, a network-enabled personal computer, or a network-attached storage (NAS)), a streaming audio service that provides audio content over the Internet (e.g., the cloud), or an audio source connected to the media playback system via a line-in input connection of a playback device or a network device, or other possible system.
[0067] In some embodiments, audio content sources may be periodically added or removed from a media playback system, such as the media playback system 100 of FIG. 1. In some examples, audio item indexing may occur each time one or more audio content sources are added, removed, or updated. Indexing of audio items may include scanning for identifiable audio items in all folders / directories shared over a network, where the network is accessible by playback devices in the media playback system. Indexing of audio items may also include creating or updating an audio content database that includes metadata (e.g., title, artist, album, track length, etc.) and other related information, which may include, for example, a URI or URL for locating each identifiable audio item. Other examples for managing and maintaining audio content sources are also possible.
[0068] The above descriptions of playback devices, control devices, playback zone configurations, and media content sources provide only some example operating environments in which the functionality and methods described hereinafter may be practiced. The present invention may be applicable and suitable for practicing its functionality and methods in other operating environments and configurations of media playback systems, playback devices, and network devices not expressly described herein.
[0069] III. Maintaining a database of signal processing algorithms As mentioned above, some examples described herein relate to maintaining a database of audio processing algorithms. In some cases, maintaining the database may further include creating and / or updating audio processing algorithm entries for the database. Each of the audio processing algorithms in the database may correspond to one or more characteristics of a playback zone. In some examples, the one or more characteristics of a playback zone may include acoustic characteristics of the playback zone. The following description generally relates to determining audio processing algorithms to be stored as entries in the database. However, one skilled in the art will understand that similar functions may be performed to update existing entries in the database. The database may be accessed to identify audio processing algorithms that the playback device applies when playing audio content in a particular playback zone.
[0070] a. An exemplary database of audio processing algorithms and corresponding acoustic characteristics of playback zones FIG. 5 illustrates an example flow diagram of a method 500 for maintaining a database of audio processing algorithms and playback zone acoustic characteristics. As discussed above, maintaining a database of audio processing algorithms may include determining the audio processing algorithms to be stored in the database. The method 500 illustrated in FIG. 5 represents an embodiment of a method that may be implemented in an operating environment that includes, for example, the media playback system 100 of FIG. 1, one or more playback devices 200 of FIG. 2, and one or more control devices 300 of FIG. 3. In one example, the method 500 may be performed by a computing device in communication with a media playback system, such as the media playback system 100. In another example, some or all of the functions of the method 500 may alternatively be performed by one or more other computing devices, such as one or more servers, one or more playback devices, and / or one or more controller devices.
[0071] Method 500 may include one or more operations, functions, or actions, as constituted by one or more of blocks 502-510. Although the blocks are illustrated sequentially, the blocks may be performed in parallel and / or in a different order than described herein. Also, fewer, more, and / or more blocks may be divided and / or removed depending on the desired implementation. Moreover, the flow chart illustrates an example of possible functions and actions of the present embodiment with respect to method 500 and other processes and methods disclosed herein. In this regard, each block may represent a module, segment, or portion of program code that stores one or more instructions that, when executed by a processor, cause the processor to perform a particular logical function or step in the process. The program code may be stored in any type of computer-readable recording medium, such as a storage device including, for example, a disk or a hard drive.
[0072] The computer readable medium may include a non-transitory computer readable medium, such as a register memory, a processor cache, and a random access memory (RAM) that stores data for a short period of time. The computer readable medium may also include a non-transitory medium, such as a secondary or persistent storage device that is capable of long-term storage, such as a read-only memory (ROM), an optical disk, a magnetic disk, a compact disk read-only memory (CD-ROM), and the like. The computer readable medium may also be any other volatile or non-volatile storage system. The computer readable medium may be considered, for example, as a computer readable medium, i.e., a tangible storage device. Also, in the method 500 and other processes and methods disclosed herein, each block may represent a circuit, which is wired together to perform a certain logical function in the process.
[0073] As shown in FIG. 5, method 500 includes causing a playback device in a playback zone to play a first audio signal (block 502), receiving data indicative of a second audio signal detected by a microphone of the playback device (block 504), determining acoustic characteristics of the playback zone based on the second audio signal and characteristics of the playback device (block 506), determining an audio processing algorithm based on the acoustic characteristics of the playback zone (block 508), and storing an association between the audio processing algorithm and the acoustic characteristics of the playback zone in a database (block 510).
[0074] As previously discussed, the database can be accessed to identify audio processing algorithms that the playback device will apply when playing audio content in the playback zone. Thus, in one example, method 500 is performed for a variety of different playback zones to build a database of audio processing algorithms that correspond to a variety of different playback environments.
[0075] The method 500 includes, at block 502, causing a playback device in a playback zone to play a first audio signal. The playback device may be a playback device similar to the playback device 200 shown in FIG. 2. In one case, a computing device may cause the playback device to play the first audio signal by sending a command to play the first audio signal. In another case, a computing device may provide the first audio signal to the playback device to be played.
[0076] In one example, the first audio signal may be used to determine an acoustic response of a reproduction zone. As such, the first audio signal may be a test or measurement signal representative of audio content that may be reproduced by the reproduction device during normal use by a user. As such, the first audio signal may include audio content having frequencies that substantially cover the renderable frequency range of the reproduction device or the human audible frequency range.
[0077] In one example, a playback zone may represent one of a number of playback environments in which a playback device may play audio content during normal use by a user. With reference to Figure 1, a playback zone may represent any one of the different rooms and zone groups in media playback system 100. For example, a playback zone may represent a dining room.
[0078] In some examples, the playback zone may be a model playback zone constructed to simulate a listening environment in which a playback device may play audio content. In some examples, the playback zone may be one of multiple playback zones constructed to simulate multiple playback environments. Multiple playback zones may be constructed for the purpose of creating a database of such audio processing algorithms. In such cases, certain characteristics of the playback zone may be predetermined and / or known. For example, the dimensions of the playback zone, the floor or wall materials of the playback zone (or other features that may affect the audio reflection characteristics of the playback zone), the number of furniture in the playback zone, or the size and type of furniture in the playback zone, among other possibilities, may be predetermined and / or known characteristics of the playback zone.
[0079] In another case, the play zone may be a room in the home of a user of the playback device. For example, as part of building the database, a user of the playback device, such as a customer and / or a tester, may be asked to use the user's playback device to perform the functions of method 500 to build the database. In some cases, the specific characteristics of the user play zone may be unknown. In some other cases, some or all of the specific characteristics of the user play zone may be provided by the user. The database created by performing the functions of method 500 may include entries based on simulated play zones and / or user play zones.
[0080] Block 502 includes a computing device that causes the playback device to play the first audio signal. However, those skilled in the art will understand that the playback of the first audio signal by the playback device may not necessarily be triggered or initiated by the computing device. For example, a controller device may send a command to the playback device to cause the playback device to play the first audio signal. In another example, the playback device may play the first audio signal without receiving a command from the computing device or controller. Other examples are also possible.
[0081] The method 500 includes receiving data indicative of the second audio signal detected by a microphone of the playback device at block 504. As described above, the playback device may be a playback device similar to the playback device 200 shown in FIG. 2. As such, the microphone may be microphone 220. In one example, the computing device may receive the data from the playback device. In another example, the computing device may receive the data via another playback device, a controller device, or another server.
[0082] While the playback device is playing the first audio signal, or shortly thereafter, a microphone of the playback device may detect a second audio signal. The second audio signal may include a detectable audio signal present within the playback zone. For example, the second audio signal may include a portion that corresponds to the first audio signal played by the playback device.
[0083] In one example, when the microphone detects the second audio signal, the computing device may receive data indicative of the detected second audio signal from the playback device as a media stream. In another example, the computing device may receive data indicative of the second audio signal from the playback device upon completion of detection of the first audio signal by the microphone of the playback device. In either case, the playback device may process the detected second audio signal (via an audio processing component, such as audio processing component 208 of the playback device 200) to generate data indicative of the second audio signal and transmit the data to the computing device. In one example, generating data indicative of the second audio signal may include converting the second audio signal from an analog signal to a digital signal. Other examples are also possible.
[0084] The method 500 includes determining acoustic characteristics of the reproduction zone based on the second audio signal and characteristics of the reproduction device at block 506. As described above, the second audio signal may include a portion that corresponds to the first audio signal reproduced by the reproduction device in the reproduction zone.
[0085] The playback device characteristics may include one or more of playback device acoustic characteristics, playback device specifications (i.e., number of transducers, frequency range, amplifier wattage, etc.), and playback device model. In some cases, the playback device acoustic characteristics and / or playback device specifications may be associated with the playback device model. For example, a particular model of a playback device may have substantially identical specifications and acoustic characteristics. In some examples, a database of playback device models, playback device model acoustic characteristics, and / or playback device model specifications may be maintained on the computing device or another device in communication with the computing device.
[0086] In one example, the acoustic response from a playback device that plays a first audio signal in a playback zone can be expressed by a relationship between the first audio signal and a second audio signal. Mathematically, if the first audio signal is f(t), the second audio signal is s(t), and the acoustic response of the playback device that plays the first audio signal in the playback zone is h(t), then r In the case of (t), the following equation (1) is obtained.
[0087]
number
[0088] In one case, the first audio signal f(t) is reproduced by a reproduction device, so that the acoustic response h r (t) may include (i) the acoustic characteristics of the playback device and (ii) the acoustic characteristics of the playback zone independent of the playback device. Mathematically, this relationship can be expressed as Equation (2) below.
[0089]
number
[0090]
number
[0091] In one example, the acoustic characteristics of the playback device, h p (t) may be determined by placing the playback device or a representative playback device of the same model in an anechoic chamber, having the playback device play a measurement signal in the anechoic chamber, and detecting a response signal with a microphone of the playback device. The measurement signal played by the playback device in the anechoic chamber may be similar to the first audio signal f(t) described above. For example, the measurement signal may include audio content having frequencies that substantially cover the renderable frequency range of the playback device or the human audible frequency range.
[0092] The acoustic characteristics of the playback device p (t) can represent the relationship between the reproduced measurement signal and the detected response signal. For example, if the measurement signal has a first signal magnitude at a particular frequency and the detected response signal has a second signal magnitude at that particular frequency that is different from the first signal magnitude, then the acoustic characteristic h p (t) can indicate the amplification or attenuation of a signal at a particular frequency.
[0093] Mathematically, the measurement signal is x(t), the detected response signal is y(t) and the acoustic characteristics of the playback device in the anechoic chamber are h(t). p In the case of (t), the following equation (4) is obtained.
[0094]
number
[0095] In one example, as described above, the reference acoustic characteristic h P(t) may be stored in association with the model of the playback device and / or the specifications of the playback device. P (t) may be stored on a computing device. p (t) may be stored on the playback device and on other playback devices of the same model. p -1 h expressed as (t) p The reciprocal of (t) is h p It may be stored instead of (t).
[0096] Thus, referring back to block 506, the acoustic characteristic h of the playback zone room (t) is a function of the first audio signal f(t), the second audio signal s(t), and the acoustic characteristics of the playback device h p In one example, the reciprocal of the acoustic characteristics of the playback device, h p -1 (t) can be applied to equation (2). In other words, we get the following equation (5).
[0097]
number
[0098] where I(t) is the impulse signal, and the acoustic characteristic of the playback zone time h room (t) can be simplified as shown in equation (6) below.
[0099]
number
[0100] The method 500 includes determining an audio processing algorithm based on the acoustic characteristics of the reproduction zone and the predetermined audio signal at block 506. In one example, once the audio processing algorithm is determined, application of the determined audio processing algorithm by the reproduction device when reproducing the first audio signal in the reproduction zone may generate a third audio signal having audio characteristics substantially identical to the predetermined audio characteristics or at least to some extent the predetermined audio characteristics.
[0101] In one example, the predetermined audio characteristics may be an audio frequency equalization that is considered good sounding. In some cases, the predetermined audio characteristics may include substantially even equalization across the renderable frequency range of the playback device. In other cases, the predetermined audio characteristics may include equalization that is considered pleasing to a typical listener. In further cases, the predetermined audio characteristics may include a frequency response that is considered suitable for a particular music genre.
[0102] In either case, the computing device can determine an audio processing algorithm based on the acoustic characteristics and the predetermined audio characteristics. In one example, if the acoustic characteristics of the playback zone are such that certain audio frequencies are attenuated more than other frequencies and the predetermined audio characteristics include equalization whereby certain audio frequencies are minimally attenuated, the corresponding audio processing algorithm may include increased amplification at the certain audio frequencies.
[0103] If the predetermined audio characteristic is represented by a predetermined audio signal z(t) and the audio processing algorithm is represented by p(t), then the acoustic characteristic h(t) of the predetermined audio signal z(t), the audio processing algorithm and the reproduction zone are room The relationship between (t) can be mathematically described as follows:
[0104]
number
[0105] Therefore, the audio processing algorithm p(t) can be mathematically described as follows:
[0106]
number
[0107] In some cases, determining the audio processing algorithm may include determining one or more parameters (i.e., coefficients for p(t)) for the audio processing algorithm. For example, the audio processing algorithm may include a particular signal amplification gain at a particular corresponding frequency of the audio signal. As such, parameters indicative of a particular signal amplification and / or a particular corresponding frequency of the audio signal may be identified to determine the audio processing algorithm p(t).
[0108] The method 500 includes, at block 510, storing in a database an association between the audio processing algorithm and the acoustic characteristics of the reproduction zone. Thus, the acoustic characteristics h of the reproduction zone determined at blocks 504 and 506 are stored in a database. room An entry including the audio processing algorithm p(t) and the corresponding audio processing algorithm p(t) may be added to the database. In one example, the database may be stored in a memory storage local to the computing device. In another example, if the database is stored on another device, the computing device may transmit the audio processing algorithm and the acoustic characteristics of the playback zone to the other device to be stored in the database. Other examples are also possible.
[0109] As mentioned above, the playback zone for which the audio processing algorithms are determined may be a model playback zone used to simulate a listening environment in which the playback device may play audio content, or a room of a user of the playback device. In some cases, the database may include entries generated based on audio signals played and detected in the model playback zone as well as entries generated based on audio signals played and detected in the room of a user of the playback device.
[0110] 6A shows an exemplary portion of a database 600 of audio processing algorithms, in which the audio processing algorithm p(t) determined in the above description is stored in the database 600. As shown, the portion of the database 600 may include multiple entries 602-608. Entry 602 includes a reproduction zone acoustic characteristic h room -1 (t)-1 may be included. room -1 (t)-1 may be a mathematical representation of the acoustic properties of the reproduction zone, as calculated based on the audio signal detected by the reproduction device and the properties of the reproduction device as described above. room -1 As mentioned above, the acoustic characteristic h room -1 (t)-1 and coefficients w1, x1, y1 and z1 for an audio processing algorithm determined based on predetermined audio characteristics.
[0111] As further shown, the entries 604 in the database 600 include the playback zone acoustic characteristic h room -1 (t)-2 and processing algorithm coefficients w2, x2, y2, and z2. An entry 606 in the database 600 may include the reproduction zone acoustic characteristic h room -1(t)-3 and processing algorithm coefficients w3, x3, y3, and z3. An entry 608 in the database 600 may include the reproduction zone acoustic characteristic h room -1 (t)-4 and processing algorithm coefficients w4, x4, y4 and z4.
[0112] Those skilled in the art will appreciate that database 600 is just one example of a database that may be created and maintained by performing the functions of method 500. In some examples, the reproduction zone acoustic characteristics may be stored in different formats or mathematical states (i.e., inverted vs. non-inverted functions). In other examples, audio processing algorithms may be stored as functions and / or equalization functions. Other examples are also possible.
[0113] In some examples, some of the above functions may be performed multiple times for the same playback device in the same playback zone to determine the acoustic characteristics h room A combination of the acoustic characteristics of the reproduction zone h(t) and a corresponding processing algorithm p(t) may be determined. For example, multiple acoustic characteristics of the reproduction zone may be determined by executing blocks 502-506 multiple times. A composite (i.e., average) acoustic characteristic of the reproduction zone may be determined from the multiple acoustic characteristics, and a corresponding processing algorithm p(t) may be determined based on the composite acoustic characteristic of the reproduction zone. The corresponding processing algorithm p(t) and the acoustic characteristics of the reproduction zone h(t) may then be determined. room (t) or h room -1 The association with (t) may be stored in a database. In some cases, the first audio signal played by the playback device in the playback zone may be substantially the same audio signal in each of the iterations of the function. In some other cases, the first audio signal played by the playback device in the playback zone may be a different audio signal for some or each of the iterations of the function. Other examples are also possible.
[0114] The method 500 described above (or some variations of the method 500) may be further performed to generate other entries in the database. For example, given that the playback device is a first playback device, the playback zone is a first playback zone, and the audio processing algorithm is a first audio processing algorithm, the method 500 may additionally or alternatively be performed using a second playback device in a second playback zone. In one example, the second playback device may play a fourth audio signal in the second playback zone, and a microphone of the second playback device may detect a fifth audio signal that includes a portion of the fourth audio signal played by the second playback device. The computing device may then receive data indicative of the fifth audio signal and determine an acoustic characteristic of the second playback zone based on the fifth audio signal and characteristics of the second playback device.
[0115] The computing device may determine a second audio processing algorithm based on the acoustic characteristics of the second reproduction zone, where application of the determined second audio processing algorithm by the second reproduction device when reproducing the fourth audio signal in the reproduction zone produces a sixth audio signal, the sixth audio signal having substantially the same audio characteristics as the predetermined audio characteristics represented by the predetermined audio signal z(t) shown in equations (7) and (8). The computing device may then store an association between the second audio processing algorithm and the acoustic characteristics of the second reproduction zone in a database.
[0116] Although many playback zones may be similar in dimensions, construction materials, and / or furniture type and arrangement, it is unlikely that any two playback zones will have exactly the same playback zone acoustic characteristics. Therefore, since storing individual entries for each unique playback zone acoustic characteristic and each of their corresponding audio processing algorithms may require an impractical amount of memory storage, entries for similar or substantially identical playback zone acoustic characteristics are preferably combined.
[0117] In some cases, when two playback zones are substantially similar rooms, the acoustic characteristics of the two playback zones may be similar. In another case, the computing device may perform method 500, as alluded to above, for the same playback device multiple times in the same playback zone. In further cases, the computing device may perform method 500 for different playback devices in the same playback zone. In yet other cases, the computing device may perform method 500 for playback devices in the same playback zone but at other locations within the playback zone. Other examples are also possible.
[0118] In either case, in the process of generating the playback zone acoustic characteristics and corresponding audio processing algorithm entries, the computing device may determine that the two playback zones have substantially identical playback zone acoustic characteristics, and in response, the computing device may determine a third audio processing algorithm based on the first audio processing algorithm and the second audio processing algorithm. For example, the computing device may determine the third audio processing algorithm by averaging parameters of the first and second audio processing algorithms.
[0119] The computing device may then store an association of the third audio processing algorithm with the substantially identical acoustic characteristic in the database. In one example, the database entry for the third audio processing algorithm may have a corresponding acoustic characteristic determined based on an average value of the two substantially identical acoustic characteristics. In some cases, as suggested above, the database may have only one entry for the substantially identical acoustic characteristic in order to conserve storage memory. As such, the entries for the acoustic characteristics of the first and second playback zones may be discarded in favor of the entry for the third audio processing algorithm. Other examples are also possible.
[0120] Although the above description generally refers to method 500 as being performed by a computing device, those skilled in the art will appreciate that the functions of method 500 may alternatively be performed by one or more other devices, such as one or more servers, one or more playback devices, and / or one or more controller devices, as described above. In other words, one or more of blocks 502-510 may be performed by a computing device, while one or more other of blocks 502-510 may be performed by one or more other computing devices.
[0121] In one example, as described above, the playback of the first audio signal by the playback device in block 502 may be performed by the playback device without any external command. Alternatively, the playback device may play the first audio signal in response to a command from a controller device and / or another playback device. In another example, blocks 502-506 may be performed by one or more playback devices or one or more controller devices, and a computing device may perform blocks 508 and 510. In yet another example, blocks 502-508 may be performed by one or more playback devices or one or more controller devices, and a computing device may only perform the function of storing an audio processing algorithm in block 510. Other examples are also possible.
[0122] b. An exemplary database of audio processing algorithms and corresponding one or more characteristics of playback zones. As indicated above, a playback zone may have one or more playback zone characteristics. The one or more playback zone characteristics may include an acoustic characteristic of the playback zone, as described above. The one or more characteristics of the playback zone may also include one or more of: (a) dimensions of the playback zone, (b) audio reflection characteristics of the playback zone, (c) intended use of the playback zone, (d) number of pieces of furniture in the playback zone, (e) size of the furniture in the playback zone, and (f) type of furniture in the playback zone. In some cases, the audio reflection characteristics of the playback zone may be related to floor and / or wall materials of the playback zone.
[0123] In some examples, an association between the determined audio processing algorithm, such as p(t) described above, and one or more additional characteristics of the playback zone may be stored in a database. FIG. 7 illustrates an example flow diagram of a method 700 for maintaining a database of audio processing algorithms and one or more characteristics of the playback zone. The method 700 illustrated in FIG. 7 represents an embodiment of a method that may be implemented within an operating environment that includes, for example, the media playback system 100 of FIG. 1, one or more playback devices 200 of FIG. 2, and one or more control devices 300 of FIG. 3. In one example, the method 700 may be performed by a computing device in communication with a media playback system, such as the media playback system 100. Alternatively, in another example, some or all of the functions of the method 700 may be performed by one or more other computing devices, such as one or more servers, one or more playback devices, and / or one or more controller devices.
[0124] Method 700 may include one or more operations, functions, or actions as illustrated by one or more of blocks 702-708. Although the blocks are illustrated in sequence, these blocks may be performed in parallel and / or in orders different than those described herein. Additionally, various blocks may be combined into fewer blocks, divided into additional blocks, and / or removed based on the desired implementation.
[0125] As shown in FIG. 7, method 700 includes causing a playback device in a playback zone to play a first audio signal (block 702); receiving (i) data indicative of one or more characteristics of the playback zone and (ii) data indicative of a second audio signal detected by a microphone of the playback device (block 704); determining an audio processing algorithm based on the second audio signal and the characteristics of the playback device (block 706); and storing an association between the determined audio processing algorithm and at least one of the one or more characteristics of the playback zone in a database (block 708).
[0126] Method 700, at block 702, includes causing a playback device in a playback zone to play a first audio signal, by a computing device. In some examples, block 702 may include functionality that is the same or substantially the same as that of block 502 described in connection with FIG. 5. For example, the first audio signal may include audio content having frequencies that substantially cover a renderable frequency range of the playback device or a human audible frequency range. As such, the description above in connection with block 502 may be applicable to block 702.
[0127] Method 700 includes, at block 704, receiving (i) data indicative of one or more characteristics of the playback zone and (ii) data indicative of a second audio signal detected by a microphone of the playback device. In some examples, block 704 may include the same or substantially the same functionality as block 504 described in connection with FIG. 5. For example, the second audio signal may include a portion that corresponds to the first audio signal played by the playback device. As such, the discussion above in connection with block 504 may be applicable to block 704.
[0128] In addition to what has been described above in connection with block 504, block 704 includes receiving data indicative of one or more characteristics of the playback zone. As described above, the playback zone may be a model playback zone used to simulate a listening environment in which the playback device may play audio content. In such a case, some of the one or more playback zone characteristics for the playback zone may be known. For example, the dimensions, floor plan, construction materials, and furniture for the playback zone may be known. In some cases, the model playback zone may be constructed for the purpose of determining the audio processing algorithms for the database, in which case some of the one or more playback zone characteristics may be predetermined. In another case, the playback zone may be a room of a user of the playback device. As described above, such playback zone characteristics may contribute to the acoustic characteristics of the playback zone.
[0129] In one example, the computing device may receive data indicative of one or more playback zone characteristics via a controller interface of a controller device used by a user or sound engineer. In another example, the computing device may receive data indicative of one or more characteristics of the playback zone from a playback device within the playback zone. For example, the data indicative of the one or more characteristics may be received together with data indicative of the second audio signal. The data indicative of the one or more playback zone characteristics may be received before, during, or after playback of the first audio signal by the playback device in block 702. Other examples are also possible.
[0130] Method 700 includes, at block 706, determining an audio processing algorithm based on the second audio signal and characteristics of the playback device. In an example, block 706 may include functionality that is the same as or similar to that described above in blocks 506 and 508 of FIG. 5. For example, determining the audio processing algorithm may include determining acoustic characteristics of a playback zone based on the second audio signal and characteristics of the playback device, and thereafter determining the audio processing algorithm based on the acoustic characteristics of the playback zone. The characteristics of the playback device may include one or more of acoustic characteristics of the playback device, specifications of the playback device, and a model of the playback device, as described above.
[0131] As described above, application by the playback device of the determined audio processing algorithm when playing the first audio signal within the playback zone may result in a third audio signal being generated. The third audio signal may have audio characteristics substantially identical to the predetermined audio characteristics or at least to some extent have the predetermined audio characteristics. In some cases, the predetermined audio characteristics may be the same or substantially the same as the predetermined audio characteristics represented as the predetermined audio signal p(t) described above. Other examples are also possible.
[0132] Method 800 includes storing in a database an association between the determined audio processing algorithm and at least one of the one or more characteristics of the reproduction zone at block 708. In some examples, block 708 may include the same or similar functionality as described above in block 501. However, in this case, the computing device may store in the database the association between the audio processing algorithm and at least one of the one or more characteristics in addition to or instead of the acoustic characteristics of the reproduction zone.
[0133] As mentioned above, the playback zone for which the audio processing algorithms are determined may be a model playback zone used to simulate a listening environment in which the playback device may play audio content, or a room of a user of the playback device. In some cases, the database may include entries generated based on audio signals played and detected in the model playback zone as well as entries generated based on audio signals played and detected in the room of a user of the playback device.
[0134] 6B illustrates an exemplary portion of a database 650 of audio processing algorithms. The database 650 stores the audio processing algorithms determined above and their association with playback zone acoustic characteristics. As shown, a portion of the database 650 may include a number of entries 652-658 similar to the entries 602-608 of the database 600. For example, entries 652 and 602 may have the same playback zone acoustic characteristics and the same audio processing algorithm coefficients. Entries 654 and 604 may have the same playback zone acoustic characteristics and the same audio processing algorithm coefficients. Entries 656 and 606 may have the same playback zone acoustic characteristics and the same audio processing algorithm coefficients. Entries 658 and 608 may have the same playback zone acoustic characteristics and the same audio processing algorithm coefficients.
[0135] In addition to the reproduction zone acoustic characteristics, the database 650 may include zone dimension information indicating dimensions of a reproduction zone having a corresponding reproduction zone acoustic characteristic and an audio processing algorithm determined based on the corresponding reproduction zone acoustic characteristic. For example, as shown, entry 652 may have zone dimensions of a1×b1×c1, entry 654 may have zone dimensions of a2×b2×c2, entry 656 may have zone dimensions of a3×b3×c3, and entry 654 may have zone dimensions of a4×b4×c4. Thus, in this example, the one or more characteristics stored in association with the determined audio processing algorithm include the reproduction zone acoustic characteristics and the reproduction zone dimensions. Other examples are also possible.
[0136] Those skilled in the art will appreciate that database 650 is just one example of a database that may be created and maintained by performing the functions of method 700. In some examples, the reproduction zone acoustic characteristics may be stored in different formats or mathematical states (i.e., inverted vs. non-inverted functions). In other examples, the audio processing algorithms may be stored as functions and / or equalization functions. In yet other examples, database 650 may include only the zone dimensions and corresponding audio processing algorithms, but not the corresponding acoustic characteristics of the reproduction zones. Other examples are also possible.
[0137] Similar to method 500, method 700 (or some variations of method 700) described above may be further performed to generate other entries in the database. For example, given that the playback device is a first playback device, the playback zone is a first playback zone, and the audio processing algorithm is a first audio processing algorithm, method 600 may additionally or alternatively be performed using a second playback device in a second playback zone. In an example, the second playback device may play a fourth audio signal in the second playback zone, and a microphone of the second playback device may detect a fifth audio signal that includes a portion of the fourth audio signal played by the second playback device. The computing device may then receive (i) data indicative of one or more characteristics of the second playback zone and (ii) data indicative of the fifth audio signal detected by the microphone of the second playback device in the second playback zone.
[0138] The computing device may then determine an acoustic characteristic of the second reproduction zone based on the fifth audio signal and the characteristics of the second reproduction device. The computing device may then determine a second audio processing algorithm based on the acoustic characteristic of the second reproduction zone, where application of the determined second audio processing algorithm by the second reproduction device when reproducing the fourth audio signal in the reproduction zone produces a sixth audio signal, the sixth audio signal having substantially the same audio characteristics as the predetermined audio characteristics represented by the predetermined audio signal z(t) shown in equations (7) and (8). The computing device may then store an association of the second audio processing algorithm with at least one of the one or more characteristics of the second reproduction zone in a database.
[0139] In the course of generating entries for the database, similar to that described above in connection with method 500, the computing device may determine that two playback zones have similar or substantially identical playback zone acoustic characteristics. Thus, as described above, the computing device may combine (i.e., average) the playback zone acoustic characteristics and the determined audio processing algorithms that correspond to the playback zone acoustic characteristics, and store the combined playback zone acoustic characteristics and the combined audio processing algorithm as one entry in the database. Other examples are also possible.
[0140] As with method 500, the above description generally refers to method 700 as being performed by a computing device, but those skilled in the art will appreciate that the functions of method 700 may alternatively be performed by one or more other computing devices, such as one or more servers, one or more playback devices, and / or one or more controller devices. In other words, one or more of blocks 702-708 may be performed by a computing device, while one or more other of blocks 702-708 may be performed by one or more other computing devices. The other computing devices may include one or more playback devices, one or more controller devices, and / or one or more servers.
[0141] In one example, as described above, the playback of the first audio signal by the playback device in block 702 may be performed by the playback device without any external command. Alternatively, the playback device may play the first audio signal in response to a command from a controller device and / or another playback device. In another example, blocks 702-706 may be performed by one or more playback devices or one or more controller devices, and a computing device may perform block 708. Other examples are also possible.
[0142] IV. Calibration of the Regeneration Device Based on Regeneration Zone Characteristics As mentioned above, some examples described herein include calibration of a playback device for a playback zone. In some cases, calibration of the playback device may include determining audio processing algorithms that the playback device applies when playing audio content in the playback zone.
[0143] 8 illustrates an exemplary playback environment 800 in which a playback device can be calibrated. As shown, the playback environment 800 includes a computing device 802, playback devices 804 and 806, a controller device 808, and a playback zone 810. The playback devices 804 and 806 may be similar to the playback device 200 illustrated in FIG. 2. As such, the playback devices 804 and 806 may each include a microphone, such as the microphone 220. In some cases, only one of the playback devices 804 and 806 may include a microphone.
[0144] In one example, the playback devices 804 and 806 may be part of a media playback system and may be configured to synchronously play audio content, such as that shown and described above in connection with the media playback system 100 of FIG. 1. In some cases, the playback devices 804 and 806 may be grouped together to synchronously play audio content in a playback zone 810. Referring again to FIG. 1, the playback zone 810 may be any one or more of the different rooms and zone groups in the media playback system 100. For example, the playback zone 810 may be a master bedroom. In such a case, the playback devices 804 and 806 may correspond to the playback devices 122 and 124, respectively.
[0145] In one example, controller device 808 may be a device that may be used to control a media playback system. In some cases, controller device 808 may be similar to control device 300 of Figure 3. Although controller device 808 in Figure 8 is shown as being inside playback zone 810, controller device 808 may be outside playback zone 810 or may move in and out of playback zone 810 while communicating with playback device 804, playback device 806, and / or other devices in the media playback system.
[0146] In one example, the computing device 802 may be a server in communication with a media playback system. The computing device 802 may be configured to maintain a database of information related to the media playback system, such as registration numbers associated with playback devices 804 and 806. The computing device 802 may also be configured to maintain a database of audio processing algorithms as described in the previous section. Other examples are also possible.
[0147] Methods 900, 1000 and 1100 provide functions that may be performed for calibration of playback devices in a playback zone, such as playback devices 804 and 806 in playback zone 810, as described below.
[0148] a. First Exemplary Method for Determining an Audio Processing Algorithm Based on a Detected Audio Signal FIG 9 illustrates an example flow diagram of a method 900 for determining an audio processing algorithm based on one or more playback zone characteristics. The method 900 illustrated in FIG 9 represents an embodiment of a method that may be implemented within an operating environment that includes, for example, the media playback system 100 of FIG 1, one or more playback devices 200 of FIG 2, one or more control devices 300 of FIG 3, and the playback environment 800 of FIG 8. In one example, the method 900 may be performed by a computing device in communication with the media playback system. Alternatively, in another example, some or all of the functions of the method 900 may be performed by one or more other computing devices, such as one or more servers, one or more playback devices, and / or one or more controller devices associated with the media playback system.
[0149] Method 900 may include one or more operations, functions, or actions as illustrated by one or more of blocks 902-908. Although the blocks are illustrated in sequence, these blocks may be performed in parallel and / or in orders different than those described herein. Additionally, various blocks may be combined into fewer blocks, divided into additional blocks, and / or removed based on the desired implementation.
[0150] As shown in FIG. 9, method 900 includes causing a playback device in a playback zone to play a first audio signal (block 902), receiving data from the playback device indicative of a second audio signal detected by a microphone of the playback device (block 904), determining an audio processing algorithm based on the second audio signal and acoustic characteristics of the playback device (block 906), and transmitting data indicative of the determined audio processing algorithm to the playback device (block 908).
[0151] The method 900 includes, at block 902, causing a playback device in a playback zone to play a first audio signal. With reference to Figure 8, the playback device may be playback device 804 and the playback zone may be playback zone 810. As such, the playback device may be a playback device similar to playback device 200 shown in Figure 2.
[0152] In one example, the computing device 802 may determine that the playback device 804 should be calibrated for the playback zone 810 and, in response, cause the playback device 804 in the playback zone 810 to play the first audio signal. In one case, the computing device 802 may determine that the playback device 804 should be calibrated based on an input received from a user indicating that the playback device 804 should be calibrated. In one example, the input may be received from the user via the controller device 808. In another case, the computing device 802 may determine that the playback device 804 should be calibrated because the playback device 804 is a new playback device or has newly moved into the playback zone 810. In a further case, calibration of the playback device 804 (or any other playback device in the media playback system) may be performed periodically. As such, the computing device 802 may determine that the playback device 804 should be calibrated based on a calibration schedule for the playback device 804. Other examples are also possible. In response to determining that the playback device 804 should be calibrated, the computing device 802 may then cause the playback device 804 to play the first audio signal.
[0153] Although block 902 includes the computing device 802 causing the playback device 804 to play the first audio signal, one skilled in the art will understand that the playback of the first audio signal by the playback device 804 may not necessarily occur or be initiated by the computing device 802. For example, the controller device 808 may send a command to the playback device 804 to cause the playback device 804 to play the first audio signal. In another example, the playback device 806 may cause the playback device 804 to play the first audio signal. In a further example, the playback device 804 may play the first audio signal without receiving a command from the computing device 802, the playback device 806, or the controller device 808. In an example, the playback device 804 may determine that a calibration should be performed based on a movement of the playback device 804 or a change in the playback zone of the playback device 804, and in response, may play the first audio signal. Other examples are also possible.
[0154] As suggested, the first audio signal may be a test or measurement signal for calibrating the playback device 804 for the playback zone 810. As such, the first audio signal may represent audio content that may be played by the playback device during normal use by a user. Thus, the first audio signal may include audio content having frequencies that substantially cover the renderable frequency range of the playback device or the human audible frequency range. In another example, the first audio signal may be a favorite or commonly played audio track of a user of the playback device.
[0155] The method 900 includes receiving, at block 904, a second audio signal from the playback device, the second audio signal being detected by a microphone of the playback device. Continuing with the above example, considering that the playback device 804 is similar to the playback device 200 of FIG. 2, the microphone of the playback device 804 may be similar to the microphone 220 of the playback device 200. In one example, the computing device 802 may receive data from the playback device 804. In another example, the computing device 804 may receive data via another computing device, such as another playback device, such as the playback device 806, a controller device, such as the controller device 808, or another server.
[0156] While the playback device 804 is playing the first audio signal, or shortly thereafter, a microphone of the playback device 804 can detect a second audio signal. The second audio signal may include sounds present within the playback zone. For example, the second audio signal may include a portion that corresponds to the first audio signal played by the playback device 804.
[0157] In one example, the computing device 802 may receive data indicative of the first audio signal from the playback device 804 as a media stream when the microphone detects the second audio signal. In another example, the computing device 802 may receive data indicative of the second audio signal from the playback device 804 upon completion of detection of the second audio signal by the microphone of the playback device 804. In either case, the playback device 804 may process the detected second audio signal (via an audio processing component, such as the audio processing component 208 of the playback device 200) to generate data indicative of the second audio signal and transmit the data to the computing device 802. In one example, generating the data indicative of the second audio signal may include converting the second audio signal from an analog signal to a digital signal. Other examples are also possible.
[0158] The method 900 includes, at block 906, determining an audio processing algorithm based on the second audio signal and an acoustic characteristic of the playback device. In one example, the acoustic characteristic of the playback device may be, as described above in connection with block 506 of the method 500 shown in FIG. 5, p For example, as described above, the acoustic characteristics of the playback device can be determined by having a reference playback device in an anechoic chamber play a measurement signal, receiving data from the reference playback device indicative of an audio signal detected by a microphone of the reference playback device, and determining the acoustic characteristics of the playback device based on a comparison of the detected audio signal and the measurement signal.
[0159] As alluded to above, the reference playback device may be the same model as the playback device 804 being calibrated for the playback zone 810. And similar to what was discussed above in connection with block 506, the computing device may accordingly determine the acoustic characteristics of the playback zone based on the acoustic characteristics of the playback device and the second audio signal.
[0160] In one example, the computing device 802 may determine an audio processing algorithm based on acoustic characteristics of the reproduction zone similar to those described above in connection with block 508. As such, the computing device 802 may determine an audio processing algorithm based on the acoustic characteristics of the reproduction zone and the predetermined audio characteristics, where application by the playback device 804 of the determined audio processing algorithm when playing the first audio signal within the reproduction zone 810 produces a third audio signal, the third audio signal having audio characteristics substantially identical to the predetermined audio characteristics or at least to some extent having the predetermined audio characteristics.
[0161] In another example, the computing device 802 may select an audio processing algorithm from among a plurality of audio processing algorithms that correspond to the acoustic characteristics of the playback zone 810. For example, the computing device may access a database, such as databases 600 and 650 of FIGS. 6A and 6B, respectively, and may identify an audio processing algorithm based on the acoustic characteristics of the playback zone 810. For example, referring to database 600 of FIG. 6A, the acoustic characteristics of the playback zone 810 may be h room -1 If (t)-3 is determined, then an audio processing algorithm having coefficients w3, x3, y3, and z3 of database entry 606 can be identified.
[0162] In some cases, an exact match for the determined acoustic characteristics of the reproduction zone 810 may not be found in the database. In such cases, an audio processing algorithm may be identified that corresponds to the acoustic characteristics in the database that are most similar to the acoustic characteristics of the reproduction zone 810. Other examples are also possible.
[0163] The method 900 includes, at block 908, transmitting data indicative of the determined audio processing algorithm to the playback device. Continuing with the above example, the computing device 802 (or one or more other devices) may transmit data indicative of the determined audio processing algorithm to the playback device 804. The data indicative of the determined audio processing algorithm may also include a command to cause the playback device 804 to apply the determined audio processing algorithm when playing audio content in the playback zone 810. In one example, applying the audio processing algorithm to the audio content may change a frequency equalization of the audio content. In another example, applying the audio processing algorithm to the audio content may change a volume range of the audio content. Other examples are also possible.
[0164] In some cases, a playback zone may include multiple playback devices configured to synchronously play audio content. For example, as described above, playback devices 804 and 806 may be configured to synchronously play audio content in playback zone 810. In such cases, a configuration of one of the playback devices may include the other playback device.
[0165] In one example, a playback zone, such as playback zone 810, may include a first playback device, such as playback device 804, and a second playback device, such as playback device 806, configured to synchronously play audio content. Calibration of playback device 804, as performed in coordination with computing device 802, may include causing playback device 804 to play the first audio signal and causing playback device 806 to play the second audio signal.
[0166] In one case, the computing device 802 may cause the playback device 806 to play the second audio signal synchronously with the playback of the first audio signal by the playback device 804. In one example, the second audio signal may be orthogonal to the first audio signal, such that components of audio content that are synchronously played by either of the playback devices 804 and 806 may be identifiable. In another case, the computing device may cause the playback device 806 to play the second audio signal after the playback of the first audio signal by the playback device 804 has finished. Other examples are also possible.
[0167] The computing device 802 may then receive a third audio signal from the playback device 804 detected by a microphone of the playback device 804, similar to that described in connection with block 904. However, in this case, the third audio signal may include both a portion corresponding to the first audio signal played by the playback device 804 and a portion corresponding to the second audio signal played by the playback device 806.
[0168] The computing device 802 may then determine an audio processing algorithm based on the third audio signal and the acoustic characteristics of the playback device 804 and send data indicative of the determined audio processing algorithm to the playback device 804. The determined audio processing algorithm is one that the playback device 804 applies when playing audio content in the playback zone 810, similar to that described above in connection with blocks 906 and 908.
[0169] In some cases, as described above, the playback device 806 may have a microphone and may be calibrated similarly as described above. As shown, the first audio signal played by the playback device 804 and the second audio signal played by the playback device 806 may be orthogonal or distinguishable. For example, and as described above, the playback device 806 may play the second audio signal after playback of the first audio signal by the playback device 804 has finished. In another example, the second audio signal may have a phase that is orthogonal to the phase of the first audio signal. In yet another example, the second audio signal may have a different and / or changing frequency range than the first audio signal. Other examples are also possible.
[0170] In either case, the distinguishable first and second audio signals enable the computing device 802 to analyze, from the third audio signal detected by the playback device 804, the contribution of the playback device 804 to the detected third audio signal and the contribution of the playback device 806 to the detected third audio signal. Then, respective audio processing algorithms may be determined for the playback device 804 and the playback device 806.
[0171] Each audio processing algorithm may be determined in a manner similar to that described above in connection with block 508. In some cases, a first acoustic characteristic of the playback zone may be determined based on a third audio signal detected by the playback device 604, and a second acoustic characteristic of the playback zone may be determined based on a fourth audio signal detected by the playback device 806. Similar to the third audio signal, the fourth audio signal may include a portion corresponding to the first audio signal reproduced by the playback device 804 and a portion corresponding to the second audio signal reproduced by the playback device 806.
[0172] Each audio processing algorithm for the playback device 804 and the playback device 806 may then be determined based on the first acoustic characteristic of the playback zone and the second acoustic characteristic of the playback zone individually or in combination. In some cases, the combination of the first acoustic characteristic of the playback zone and the second acoustic characteristic of the playback zone may represent a more comprehensive acoustic characteristic of the playback zone than either the first or second acoustic characteristic of the playback zone individually. Each audio processing algorithm is then transmitted to the playback device 804 and the playback device 806 to be applied when playing audio content in the playback zone 810. Other examples are also possible.
[0173] Although the above description generally refers to the method 900 as being performed by the computing device 802 of Figure 8, those skilled in the art will appreciate that the functions of the method 900 may alternatively be performed by one or more other computing devices, such as one or more servers, one or more playback devices, and / or one or more controller devices, as described above. For example, the functions of the method 900 for calibrating the playback device 804 for the playback zone 810 may be performed by the playback device 804, the playback device 806, the controller device 808, or other devices not shown in Figure 8 but in communication with the playback device 804.
[0174] Further, in some cases, one or more of blocks 902-908 may be performed by computing device 802, while one or more other of blocks 902-908 may be performed by one or more other devices. For example, blocks 902 and 904 may be performed by one or more of playback device 804, playback device 806, and playback device 808. In other words, an adjustment device other than computing device 802 can adjust the calibration of playback device 804 for playback zone 810.
[0175] In some cases, in block 906, the adjustment device may send the second audio signal to the computing device 802, which may determine an audio processing algorithm based on the second audio signal and the acoustic characteristics of the playback device. The acoustic characteristics of the playback device may be provided to the computing device 802 by the adjustment device or from another device in which the characteristics of the playback device are stored. In some cases, the computing device 802 may perform the calculations of block 906 because the computing device 802 has more processing power than the adjustment device.
[0176] In one example, once the computing device 802 has determined the audio processing algorithm, it may transmit the determined audio processing algorithm directly to the playback device 804 for the playback device 804 to apply when playing audio content in the playback zone 810. In another example, once the computing device 802 has determined the audio processing algorithm, it may transmit the determined audio processing algorithm to an adjustment device, which may perform block 908 and transmit the determined audio processing algorithm to the playback device 804 (if the adjustment device is not the playback device 804). Other examples are also possible.
[0177] b. Second Exemplary Method for Determining an Audio Processing Algorithm Based on a Detected Audio Signal In some cases, as described above, the calibration of the playback devices in the playback zone may be coordinated and performed by a computing device, such as a server or controller device. In some other cases, as described above, the calibration of the playback devices may be coordinated and / or performed by the playback devices being calibrated.
[0178] FIG 10 illustrates an example flow diagram of a method 1000 for determining an audio processing algorithm based on one or more playback zone characteristics as performed by a playback device being calibrated. The method 1000 illustrated in FIG 10 represents an embodiment of a method that may be implemented within an operating environment including, for example, the media playback system 100 of FIG 1, one or more playback devices 200 of FIG 2, one or more control devices 300 of FIG 3, and the playback environment 800 of FIG 8. As shown, the method 800 may be performed by the playback device to be calibrated for the playback zone. In some cases, some of the functions of the method 1000 may alternatively be performed by one or more other computing devices, such as one or more servers, one or more other playback devices, and / or one or more controller devices.
[0179] Method 1000 may include one or more operations, functions, or actions as illustrated by one or more of blocks 1002-1008. Although the blocks are illustrated in sequence, these blocks may be performed in parallel and / or in orders different than those described herein. Additionally, various blocks may be combined into fewer blocks, divided into additional blocks, and / or removed based on the desired implementation.
[0180] As shown in FIG. 10, method 1000 includes the steps of playing a first audio signal in a playback zone (block 1002), detecting a second audio signal by a microphone (block 1004), determining an audio processing algorithm based on the second audio signal and acoustic characteristics of the playback device (block 1006), and applying the determined audio processing algorithm to audio data corresponding to the media item when playing the media item (block 1008).
[0181] Method 1000 includes playing a first audio signal in a playback zone, at block 1002. With reference to FIG. 8 , the playback device performing method 1000 may be playback device 804 while playback device 804 is within playback zone 810. In one example, block 1002 is similar to block 902, but may be performed by playback device 804, which is calibrated, rather than computing device 802. Nevertheless, the discussion above related to block 902 is applicable to block 1002, sometimes with some modification.
[0182] The method 1000 includes detecting, by a microphone, a second audio signal at block 1004. The second audio signal may include a portion corresponding to the first audio signal played by the playback device. In one example, block 1004 is similar to block 904, but may be performed by the playback device 804 being calibrated rather than the computing device 802. Nevertheless, the above description related to block 904 is applicable to block 1004, sometimes with some modification.
[0183] Method 1000 includes determining an audio processing algorithm based on the second audio signal and acoustic characteristics of the playback device, at block 1006. In one example, block 1006 is similar to block 906, but may be performed by the playback device 804 being calibrated rather than the computing device 802. Nevertheless, the discussion above related to block 906 is applicable to block 1006, sometimes with some modification.
[0184] In some cases, the function of determining the audio processing algorithm may be performed entirely by the playback device 804, which has been calibrated for the playback zone 810, as described in relation to block 906. For example, the playback device 804 may determine the acoustic characteristics of the playback zone 610 based on the second audio signal and the acoustic characteristics of the playback device 804. In some cases, the playback device 804 may locally store the acoustic characteristics of the playback device 804. In other cases, the playback device 804 may receive the acoustic characteristics of the playback device 804 from another device.
[0185] In one example, the playback device 804 may then select from among a plurality of audio processing algorithms an audio processing algorithm that corresponds to the acoustic characteristics of the playback zone 610. For example, the playback device 804 may access a database, such as databases 600 and 650 shown and described above in connection with Figures 6A and 6B, respectively, to identify audio processing algorithms in the database that correspond to acoustic characteristics substantially similar to the acoustic characteristics of the playback zone 610.
[0186] In another example, similar to the functionality described above in connection with block 906 of method 900 and / or block 508 of method 500, the playback device 804 may calculate an audio processing algorithm based on the acoustic characteristics of the playback zone 610 and the predetermined audio characteristics, where application by the playback device 804 of the determined audio processing algorithm when playing the first audio signal in the playback zone 810 generates a third audio signal, the third audio signal having audio characteristics substantially identical to the predetermined audio characteristics or at least some degree of the predetermined audio characteristics.
[0187] In further examples, other devices than the playback device 804 may perform some or all of the functions of block 1006, as described in the previous section. For example, the playback device 804 may send data indicative of the detected second audio signal to a computing device, such as the computing device 802, another playback device, such as the playback device 806, a controller device, such as the controller device 808, and / or some other device in communication with the playback device 804, to request an audio processing algorithm. In another example, the playback device 804 may determine acoustic characteristics of the playback zone 810 based on the detected audio signal and send data indicative of the determined acoustic characteristics of the playback zone 810 to another device in response to a request for an audio processing algorithm based on the determined acoustic characteristics of the playback zone 810.
[0188] In other words, in one embodiment, the playback device 804 may determine the audio processing algorithm by requesting an audio processing algorithm from the other device based on the acoustic characteristics of the detected second audio signal and / or the playback zone 810 provided to the other device by the playback device 804.
[0189] If the playback device 804 provides data indicative of the detected second audio signal but not the acoustic characteristics of the playback zone 810, the playback device 804 may transmit the acoustic characteristics of the playback device 804 along with the data indicative of the detected second audio signal so that other devices can determine the acoustic characteristics of the playback zone 810. In another case, the device receiving the data indicative of the detected second audio signal may determine a model of the playback device 804 transmitting the data based on the data, and determine the acoustic characteristics of the playback device 804 based on the model of the playback device 804 (i.e., the playback device acoustic characteristics database). Other examples are also possible.
[0190] The playback device 804 may then receive the determined audio processing algorithm. In some cases, the playback device 804 may send the second audio signal to the other device because the other device has more processing power than the playback device 804. In other cases, the playback device 804 and the one or more other devices may perform calculations and functions in parallel for efficient use of processing power. Other examples are also possible.
[0191] The method 800 includes applying the determined audio processing algorithm to the audio data corresponding to the media item when playing the media item, at block 1008. In one example, application of the audio processing algorithm by the playback device 804 to the audio data of the media item when playing the media item in the playback zone 810 may change the frequency equalization of the media item. In another example, application of the audio processing algorithm by the playback device 804 to the audio data of the media item when playing the media item in the playback zone 810 may change the volume range of the media item. In one example, the playback device 804 may store the determined audio processing algorithm in local memory storage and may apply the audio processing algorithm when playing audio content in the playback zone 810.
[0192] In some examples, the playback device 804 may be calibrated for different configurations of the playback device 804. For example, the playback device 804 may be calibrated for a first configuration including individual playback in the playback zone 810 and a second configuration including synchronous playback with the playback device 806 in the playback zone 810. In such cases, a first audio processing algorithm is determined, stored, and applied for the first playback configuration of the playback device, and a second audio processing algorithm is determined, stored, and applied for the second playback configuration of the playback device.
[0193] The playback device 804 may then determine an audio processing algorithm based on the playback configuration of the playback device 804 at a given time to apply when playing audio content in the playback zone 810. For example, when the playback device 804 is playing audio content in the playback zone 810 without the playback device 806, the playback device 804 may apply a first audio processing algorithm, whereas when the playback device 804 is playing audio content in the playback zone 810 in sync with the playback device 806, the playback device 804 may apply a second audio processing algorithm. Other examples are also possible.
[0194] c. Exemplary Method for Determining Audio Processing Algorithms Based on Playback Zone Characteristics In the above description, the determination of the audio processing algorithm may generally be based on determining the acoustic characteristics of the reproduction zone, such as determined based on audio signals detected by a reproduction device within the reproduction zone. In some cases, the audio processing algorithm may be specified based on other characteristics of the reproduction zone in addition to or instead of the acoustic characteristics of the reproduction zone.
[0195] Figure 11 illustrates an example flow diagram for providing an audio processing algorithm from a database of audio processing algorithms based on one or more characteristics of a playback zone. The method 1100 illustrated in Figure 11 represents an embodiment of a method that may be implemented within an operating environment that includes, for example, the media playback system 100 of Figure 1, one or more playback devices 200 of Figure 2, one or more control devices 300 of Figure 3, and the playback environment 800 of Figure 8. In an example, the method 1100 may be performed, individually or collectively, by one or more playback devices, one or more controller devices, one or more servers, or one or more computing devices in communication with the playback device that is to be calibrated for the playback zone.
[0196] Method 1100 may include one or more operations, functions, or actions, as illustrated by one or more of blocks 1102-1108. Although the blocks are illustrated in sequence, these blocks may be performed in parallel and / or in orders different than those described herein. Additionally, various blocks may be combined into fewer blocks, divided into additional blocks, and / or removed based on the desired implementation.
[0197] As shown in FIG. 11, method 1100 includes maintaining a database of (i) a plurality of audio processing algorithms and (ii) a plurality of playback zone characteristics (block 1102), receiving data indicative of one or more characteristics of the playback zones (block 1104), identifying an audio processing algorithm in the database based on the data (block 1106), and transmitting data indicative of the identified audio processing algorithm (block 1108).
[0198] Method 1100 includes, at block 1102, maintaining a database of (i) a plurality of audio processing algorithms and (ii) a plurality of playback zone characteristics. In one example, the database may be similar to databases 600 and 650 as shown and described above in connection with Figures 6A and 6B, respectively. As such, each audio processing algorithm of the plurality of audio processing algorithms may correspond to one or more playback zone characteristics of the plurality of playback zone characteristics. Maintenance of the database may be as described above in connection with methods 500 and 700 of Figures 5 and 7, respectively. As noted above, the database may or may not be stored locally on a device maintaining the database.
[0199] Method 1100 includes receiving data indicative of one or more characteristics of the playback zone at block 1104. In one example, the one or more characteristics of the playback zone may include acoustic characteristics of the playback zone. In another example, the one or more characteristics of the playback zone may include dimensions of the playback zone, flooring material of the playback zone, wall material of the playback zone, intended use of the playback zone, number of pieces of furniture in the playback zone, size of the furniture in the playback zone, and types of furniture in the playback zone, among other possibilities.
[0200] 8, the playback device 804 may be calibrated for the playback zone 810. As mentioned above, the method 1100 may be performed individually or collectively by the playback device 804 being calibrated, the playback device 806, the controller device 808, the computing device 802, or other devices in communication with the playback device 804.
[0201] In some cases, the one or more characteristics may include acoustic characteristics of the playback zone 810. In such a case, the playback device 804 in the playback zone 810 may play a first audio signal and detect a second audio signal including a portion corresponding to the first audio signal by a microphone of the playback device 804. In one example, the data indicative of the one or more characteristics may be data indicative of the detected second audio signal. In another example, based on the detected second audio signal and the acoustic characteristics of the playback device 804, the acoustic characteristics of the playback zone 810 may be determined similar to those described above. The data indicative of the one or more characteristics may then be indicative of the acoustic characteristics of the playback zone. In either case, the data indicative of the one or more characteristics may then be received by at least one of the one or more devices performing the method 1100.
[0202] In another case, the one or more characteristics may include dimensions of the play zone, flooring of the play zone, wall material of the play zone, etc. In such a case, the user may be prompted to input or select one or more characteristics of the play zone 810 via a controller interface provided by a controller device, such as controller device 808. For example, the controller interface may provide a list of play zone dimensions and / or a list of furniture arrangements, among other possibilities, for the user to select from. Data indicative of the one or more characteristics of the play zone 810 as provided by the user may then be received by at least one of the one or more devices performing method 1100.
[0203] The method 1100 includes, at block 1106, identifying an audio processing algorithm in the database based on the data. With reference to the case where the one or more characteristics include an acoustic characteristic of the reproduction zone 810, the audio processing algorithm may be identified in the database based on the acoustic characteristic of the reproduction zone 810. For example, with reference to the database 600 of FIG. 6A, the received data may include room -1(t)-3 or h room -1 If the data indicative of the one or more characteristics of the reproduction zone 810 is substantially identical to (t)-3, then an audio processing algorithm for the database entry 606 having coefficients w3, x3, y3, and z3 may be identified. For example, the data indicative of the one or more characteristics of the reproduction zone may simply include data indicative of the detected second audio signal, and the acoustic characteristics of the reproduction zone may further be determined as described above prior to identifying the audio processing algorithm. Other examples are also possible.
[0204] With reference to the case where the one or more characteristics include, among other characteristics, dimensions of the playback zone, an audio processing algorithm may be identified in the database based on the dimensions of the playback zone. For example, with reference to database 650 of FIG. 6B, if the received data indicates dimensions of playback zone 810 as a4×b4×c4 or substantially equal to a4×b4×c4, an audio processing algorithm entry for database entry 658 having coefficients w4, x4, y4, and z4 may be identified. Other examples are also possible.
[0205] In some cases, multiple audio processing algorithms may be identified based on one or more characteristics of the reproduction zone indicated in the received data. For example, if the acoustic characteristics of the reproduction zone 810 are room -1 (t)-3, while the dimensions provided by the user for the play zone 810 may be a4×b4×c4, where h room -1 (t)-3 corresponds to the audio processing algorithm parameters w3, x3, y3 and z3 as provided in entry 656 of database 650 of FIG. 6, and a4×b4×c4 corresponds to the audio processing algorithm parameters w4, x4, y4 and z4 as provided in entry 658.
[0206] In one example, the audio processing algorithm that corresponds to the matching or substantially matching acoustic characteristics may be prioritized. In another example, an average of the audio processing algorithms (i.e., an average of the parameters) may be calculated, and the average audio processing algorithm may be the identified audio processing algorithm. Other examples are also possible.
[0207] Method 1100 includes transmitting data indicative of the identified audio processing algorithm at block 1108. Continuing with the above example, the data indicative of the identified audio processing algorithm may be transmitted to the playback device 804 that has been calibrated for the playback zone 810. In one case, the data indicative of the identified audio processing algorithm may be transmitted directly to the playback device 804. In another case, if the calibration of the playback device 804 is adjusted by the controller device 808 and the audio processing algorithm was identified by the computing device 802, the data indicative of the identified audio processing algorithm may be transmitted from the computing device 802 to the playback device 804 via the controller device 808. Other examples are also possible.
[0208] As described above, the functions of the method 1100 may be performed by one or more of the server(s), the playback device(s), and / or the controller device(s). In one example, maintaining the database in block 1102 is performed by the computing device 802. Receiving data indicative of one or more characteristics of the playback zone in block 1104 is performed by the controller device 808 (the data is provided to the controller device 808 by the playback device 804 being calibrated in the playback zone 810). Block 1106 is performed by the controller device 808 in communication with the computing device 802, accessing a database maintained by the computing device 802 to identify the audio signal processing. Block 1108 includes the computing device 802 sending data indicative of the identified audio processing algorithm to the playback device 804, either directly or via the controller device 808.
[0209] In another example, the functions of method 1100 may be performed entirely or substantially entirely by one device. For example, computing device 802 may maintain a database as described in connection with block 1102.
[0210] The computing device 802 may then adjust the calibration of the playback device 804. For example, the computing device 802 may cause the playback device 804 to play a first audio signal and detect a second audio signal, receive data from the playback device 804 indicative of the detected second audio signal, and determine acoustic characteristics of the playback zone 810 based on the data from the playback device 804. In another case, the computing device 802 may cause the controller device 808 to prompt a user to provide one or more characteristics of the playback zone 810 (i.e., dimensions, etc., as discussed above), and receive data indicative of the user-provided characteristics of the playback zone 810.
[0211] The computing device may then identify an audio processing algorithm based on the received data, at block 1106, and may send data indicative of the identified audio processing algorithm to the playback device 804, at block 1108. The computing device 802 may also send a command for the playback device 804 to apply the identified audio processing algorithm when playing audio content within the playback zone 810. Other examples are also possible.
[0212] IV. Conclusion This specification discloses various example systems, methods, apparatus, articles of manufacture, and the like, which include, among other components, firmware and / or software executing on hardware. It is understood that such examples are merely illustrative and should not be considered limiting. For example, it is contemplated that some or all of these firmware, hardware, and / or software aspects or components may be implemented exclusively in hardware, exclusively in software, exclusively in firmware, or any combination of hardware, software, and / or firmware. Thus, the examples provided are not the only ways to implement these systems, methods, apparatus, and / or articles of manufacture.
[0213] Furthermore, in this specification, the term "embodiment" indicates that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one example of the present invention. Although the phrase is used in various places in this specification, not all refer to the same embodiment, nor are they separate or alternative embodiments exclusive of other embodiments. Thus, it is understood that the embodiments described in this specification can be combined with other embodiments by those skilled in the art, both explicitly and implicitly.
[0214] The following examples describe further or alternative aspects of the present disclosure. The device in any of the following examples can be an element of any of the devices described herein or any configuration of the devices described herein. (Feature 1) A computing device comprising a processor and a memory storing instructions executable by the processor to cause the computing device to perform functions, The function is causing playback devices in the playback zone to play the first audio signal; receiving data from the playback device indicative of a second audio signal detected by a microphone of the playback device, the second audio signal including a portion corresponding to the first audio signal; determining an audio processing algorithm based on the second audio signal and an acoustic characteristic of the playback device; and transmitting data to the playback device indicative of the determined audio processing algorithm; 1. A computing device comprising: (Feature 2) A computing device of any preceding feature, wherein application of the determined audio processing algorithm by the playback device when playing the first audio signal within the playback zone generates a third audio signal having audio characteristics substantially identical to a predetermined audio characteristic. (Feature 3) Determining the audio processing algorithm further comprises: determining an acoustic characteristic of the playback zone based on the second audio signal and an acoustic characteristic of the playback device; and selecting an audio processing algorithm from a plurality of audio processing algorithms that corresponds to the determined acoustic characteristic of the reproduction zone; A computing device of any preceding character. (Feature 4) Determining the audio processing algorithm further comprises: determining an acoustic characteristic of the playback zone based on the second audio signal and an acoustic characteristic of the playback device; and calculating the audio processing algorithm based on acoustic characteristics of the reproduction zone and predetermined audio characteristics; A computing device of any preceding character. (Feature 5) The computing device of any preceding feature, wherein determining the audio processing algorithm includes determining one or more parameters for the audio processing algorithm. (Feature 6) The function further comprises: Reproducing the measurement signal on a reference reproduction device in an anechoic chamber; receiving data from the reference reproduction device indicative of an audio signal detected by a microphone of the reference reproduction device, where the detected audio signal includes a portion corresponding to a measurement signal reproduced in the anechoic chamber; and determining an acoustic characteristic of the reproduction device based on a comparison of the detected audio signal and the measurement signal; 2. A computing device according to any preceding feature, comprising: (Feature 7) A computing device comprising a processor and a memory storing instructions executable by the processor to cause the computing device to perform functions, The function is causing a first playback device to play a first audio signal in the playback zone; causing a second playback device to play a second audio signal in the playback zone; receiving data from the first playback device indicative of a third audio signal detected by a microphone of the first playback device, the third audio signal including (i) a portion corresponding to the first audio signal and (ii) a portion corresponding to the second audio signal played by a second playback device; determining an audio processing algorithm based on the third audio signal and an acoustic characteristic of the first playback device; and transmitting data indicative of the determined audio processing algorithm to the first playback device; 1. A computing device comprising: (Feature 8) 8. The computing device of claim 7, wherein applying the determined audio processing algorithm by the first playback device when playing the first audio signal in the playback zone generates a fourth audio signal having audio characteristics substantially identical to a predetermined audio characteristic. (Feature 9) Determining the audio processing algorithm further comprises: determining an acoustic characteristic of the reproduction zone based on the third audio signal and an acoustic characteristic of the first reproduction device; and selecting an audio processing algorithm from a plurality of audio processing algorithms corresponding to the acoustic characteristics of the reproduction zone; 9. The computing device of feature 7 or feature 8, comprising: (Feature 10) 10. The computing device of any of features 7 to 9, wherein causing a second playback device to play the second audio signal includes causing the second playback device to play the second audio signal synchronously with playback of the first audio signal by the first playback device. (Feature 11) 11. The computing device of any of features 7 to 10, wherein causing a second playback device to play the second audio signal includes causing the second playback device to play the second audio signal after the first playback device has finished playing the first audio signal. (Feature 12) 12. The computing device of any of features 7 to 11, wherein the first audio signal is orthogonal to the second audio signal. (Feature 13) 13. The computing device of any of features 7 to 12, wherein the first playback device and the second playback device are included in a zone group of playback devices configured to synchronously play audio content. (Feature 14) A playback device comprising a processor, a microphone, and a memory storing instructions executable by the processor to cause the playback device to perform a function, The function is playing a first audio signal within a playback zone; detecting a second audio signal by the microphone, wherein the second audio signal includes a portion corresponding to the first audio signal; determining an audio processing algorithm based on the second audio signal and an acoustic characteristic of the playback device; applying the determined audio processing algorithm to audio data corresponding to the media item when playing the media item within the playback zone; A playback device having a (Feature 15) 15. The computing device of feature 14, generating a third audio signal having audio characteristics substantially identical to the predetermined audio characteristics by applying the determined audio processing algorithm when playing the first audio signal within the playback zone. (Feature 16) Determining the audio processing algorithm further comprises: determining one or more characteristics of the reproduction zone based on the second audio signal and an acoustic characteristic of the reproduction device; and selecting an audio processing algorithm from a plurality of audio processing algorithms corresponding to one or more characteristics of the playback zone; 16. The computing device of feature 14 or feature 15, (Feature 17) Determining the audio processing algorithm comprises: (i) transmitting the second audio signal and (ii) transmission data indicative of a characteristic of the playback device to a computing device; and receiving data from the computing device indicative of the audio processing algorithm; 17. The computing device of any of features 14 to 16, comprising: (Feature 18) 18. The computing device of any of features 14 to 17, wherein the functionality further includes storing the determined audio processing algorithm in the memory. (Feature 19) 19. The computing device of any of features 14 to 18, wherein applying the audio processing algorithm to the audio data includes modifying a frequency equalization of the media item. (Feature 20) 20. The computing device of any of features 14 to 19, wherein applying the audio processing algorithm to the audio data includes modifying a volume range of the media item. (Feature 21) A processor, and a memory storing instructions executable by said processor to cause a computing device to perform functions; A computing device comprising: The function is causing playback devices in the playback zone to play the first audio signal; receiving data indicative of a second audio signal detected by a microphone of the playback device, the second audio signal including a portion corresponding to the first audio signal played by the playback device; determining acoustic characteristics of the reproduction zone based on the second audio signal and characteristics of the reproduction device; determining an audio processing algorithm based on the acoustic characteristics of the reproduction zone; and storing in a database an association between said audio processing algorithm and the acoustic characteristics of said reproduction zone; 1. A computing device comprising: (Feature 22) A computing device of any preceding feature, wherein application of the determined audio processing algorithm by the playback device when playing the first audio signal within the playback zone generates a third audio signal having audio characteristics substantially identical to a predetermined audio characteristic. (Feature 23) The playback device is a first playback device; The regeneration zone is a first regeneration zone; the audio processing algorithm is a first audio processing algorithm; The function further comprises: causing a second playback device in the second playback zone to play the fourth audio signal; receiving data indicative of a fifth audio signal detected by a microphone of the second playback device, where the fifth audio signal includes a portion corresponding to the fourth audio signal played by the second playback device; determining an acoustic characteristic of the second reproduction zone based on the fifth audio signal and characteristics of the second reproduction device; determining a second audio processing algorithm based on an acoustic characteristic of the second reproduction zone; and storing an association between the second audio processing algorithm and an acoustic characteristic of the second reproduction zone in a database; 2. A computing device according to any preceding feature, comprising: (Feature 24) applying, by the first playback device, the first determined audio processing algorithm when playing the first audio signal within a first playback zone, to generate a third audio signal having audio characteristics substantially identical to the predetermined audio characteristics. applying, by the second playback device, the second determined audio processing algorithm when playing the fourth audio signal within the second playback zone to generate a sixth audio signal having audio characteristics substantially identical to the predetermined audio characteristics. Feature 3: Computing device. (Feature 25) The function further comprises: determining that an acoustic characteristic of the second playback zone is substantially identical to an acoustic characteristic of the first playback zone; in response, determining a third audio processing algorithm based on the first audio processing algorithm and the second audio processing algorithm; and storing an association between the third audio processing algorithm and an acoustic characteristic of the first reproduction zone in a database; 4. The computing device of claim 3, (Feature 26) 26. The computing device of any of features 21 to 25, wherein determining the audio processing algorithm includes determining one or more parameters for the audio processing algorithm. (Feature 27) The function further comprises: receiving data indicative of one or more characteristics of the regeneration zone; and storing an association between the one or more characteristics of the playback zone and the second audio processing algorithm in a database; 27. The computing device of any of features 21 to 26, comprising: (Feature 28) 28. The computing device of feature 27, wherein the one or more characteristics of the playback zone include one or more of: (a) dimensions of the playback zone; (b) audio reflection characteristics of the playback zone; (c) intended use of the playback zone; (d) number of pieces of furniture in the playback zone; (e) size of the furniture in the playback zone; and (f) type of furniture in the playback zone. (Feature 29) A processor, and a memory storing instructions executable by said processor to cause a computing device to perform functions; A computing device comprising: The function is causing playback devices in the playback zone to play the first audio signal; receiving (i) data indicative of one or more characteristics of the playback zone and (ii) data indicative of a second audio signal detected by a microphone of the playback device, the second audio signal including a portion corresponding to the audio signal played by the playback device; determining an audio processing algorithm based on the second audio signal and characteristics of the playback device; and storing an association between the determined audio processing algorithm and at least one of the one or more characteristics of the playback zone in a database; A computing device comprising: (Feature 30) Determining the audio processing algorithm further comprises: determining an acoustic characteristic of the reproduction zone based on the second audio signal and characteristics of the reproduction device; and determining an audio processing algorithm based on an acoustic characteristic of the reproduction zone, wherein applying the determined audio processing algorithm by the reproduction device when reproducing the second audio signal within the reproduction zone results in a third audio signal having audio characteristics substantially identical to the predetermined audio characteristics. Features 29 computing devices. (Feature 31) The playback device is a first playback device; The regeneration zone is a first regeneration zone; the audio processing algorithm is a first audio processing algorithm; The function further comprises: causing a second playback device in the second playback zone to play the third audio signal; receiving (i) data indicative of one or more characteristics of the second playback zone and (ii) data indicative of a fourth audio signal detected by a microphone of a second playback device in the second playback zone, the fourth audio signal including a portion corresponding to the third audio signal played by the playback device; determining an audio processing algorithm based on the fourth audio signal and characteristics of the second playback device; and storing an association between the second audio processing algorithm and at least one of the one or more characteristics of the second playback zone in a database; 31. The computing device of feature 29 or feature 30, comprising: (Feature 32) Determining the second audio processing algorithm may further include: determining an acoustic characteristic of the reproduction zone based on the fourth audio signal and characteristics of the reproduction device; and determining an audio processing algorithm based on an acoustic characteristic of the reproduction zone, wherein applying the determined audio processing algorithm by the second reproduction device when reproducing the third audio signal within the reproduction zone results in a fifth audio signal having audio characteristics substantially identical to a predetermined audio characteristic. Features 29 computing devices. (Feature 33) The function further comprises: determining that an acoustic characteristic of the second playback zone is substantially identical to an acoustic characteristic of the first playback zone; in response, determining a third audio processing algorithm based on the first audio processing algorithm and the second audio processing algorithm; and storing an association between the third audio processing algorithm and at least one of the one or more characteristics of the first playback zone in a database; 33. The computing device of claim 32, (Feature 34) 34. The computing device of any of features 29 to 33, wherein the one or more characteristics of the playback zone include one or more of: (a) dimensions of the playback zone; (b) audio reflection characteristics of the playback zone; (c) intended use of the playback zone; (d) number of pieces of furniture in the playback zone; (e) size of the furniture in the playback zone; (f) type of furniture in the playback zone; and (g) acoustic characteristics of the playback zone. (Feature 35) A processor, and a memory storing instructions executable by said processor to cause a playback device to perform functions; A computing device comprising: The function is maintaining a database of (i) a plurality of audio processing algorithms and (ii) a plurality of playback zone characteristics, where each audio processing algorithm of the plurality of audio processing algorithms corresponds to at least one playback zone characteristic of the plurality of playback zone characteristics; receiving data indicative of one or more characteristics of the regeneration zone; identifying an audio processing algorithm in the database based on the data; and transmitting data indicative of said identified audio processing algorithm; 1. A computing device comprising: (Feature 36) 36. The computing device of feature 35, wherein the data is further indicative of an audio signal detected by a microphone of a playback device within the playback zone. (Feature 37) Identifying the audio processing algorithm in the database further comprises: determining acoustic characteristics of the playback zone based on the detected audio signal and characteristics of the playback device; and identifying an audio processing algorithm in the database based on the determined acoustic characteristics of the reproduction zone; 36. A computing device comprising: (Feature 38) 36. The computing device of claim 35, wherein the plurality of playback zone characteristics include one or more of: (a) dimensions of the playback zone; (b) audio reflection characteristics of the playback zone; (c) intended use of the playback zone; (d) number of pieces of furniture in the playback zone; (e) size of the furniture in the playback zone; (f) type of furniture in the playback zone; and (g) acoustic characteristics of the playback zone. (Feature 39) The computing device of feature 35, wherein data indicative of one or more characteristics of the play zone is received from a controller device. (Feature 40) 36. The computing device of feature 35, wherein data indicative of one or more characteristics of the playback zone is received from a playback device within the playback zone.
[0215] The present specification has been broadly described in terms of example environments, systems, procedures, steps, logic blocks, processes, and other symbolic representations, which are analogous to the operation of data processing devices directly or indirectly connected to a network. These process descriptions and representations are commonly used by those skilled in the art to most effectively convey the substance of their work to others skilled in the art. Many specific details have been provided to aid in understanding the present disclosure. However, those skilled in the art will understand that certain embodiments of the present disclosure may be practiced without certain, specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail to avoid unnecessarily obscuring the embodiments. Thus, the scope of the present disclosure is defined by the appended claims rather than by the embodiments described above.
[0216] If any of the appended claims are read to cover implementations solely in software and / or firmware, then one or more of the elements in at least one example are expressly defined herein to include a tangible, non-transitory storage medium, e.g., memory, DVD, CD, Blu-ray®, etc., that stores the software and / or firmware.
Claims
1. A method performed by a first computing device, comprising: storing in a database a plurality of audio processing algorithms determined in association with acoustic characteristics of the reproduction zone for each of the plurality of reproduction zones; receiving data indicative of one or more first characteristics of the particular playback zone detected by one or more microphones located on a second computing device, functioning as a playback or controller device, within the particular playback zone; identifying a first audio processing algorithm from a database based on one or more first characteristics of the particular playback zone; transmitting data indicative of the identified first audio processing algorithm to a particular playback device in the particular playback zone; receiving data indicative of one or more second characteristics of the particular playback zone detected by one or more microphones of the second computing device within the particular playback zone when the particular playback device is moved within the particular playback zone; identifying a second audio processing algorithm from a database based on one or more second characteristics of the particular playback zone; transmitting data indicative of the identified second audio processing algorithm to a particular playback device in the particular playback zone. The method according to claim 1,
2. The method of claim 1 , wherein the one or more first characteristics of the particular playback zone include an acoustic characteristic.
3. 2. The method of claim 1, further comprising determining one or more first acoustic characteristics of the particular reproduction zone based on an audio signal detected by a microphone of a particular reproduction device of the particular reproduction zone.
4. 3. The method of claim 1 or 2, further comprising the step of playing a first audio signal by the particular playback device, and the audio signal detected by a microphone of the particular playback device is a second signal comprising a recording of the first audio signal played in the playback zone.
5. 5. The method according to claim 1, further comprising the step of determining a first acoustic characteristic of the particular reproduction zone based on an audio signal detected by a microphone of the particular reproduction device and on an acoustic characteristic of the particular reproduction device.
6. The method according to any of the preceding claims, further comprising the step of sending to a particular playback device in a particular playback zone an instruction to apply the first audio processing algorithm during playback of the media item.
7. 7. The method of claim 1, further comprising the step of determining, for each of a plurality of reproduction zones, a respective audio processing algorithm based on a respective microphone signal recorded in the reproduction zone, before storing the plurality of audio processing algorithms in the database.
8. The method according to any one of claims 1 to 7, wherein the particular playback zone is different from a plurality of playback zones for which audio processing algorithms are stored in the database.
9. The method according to any one of claims 1 to 8, further comprising the step of causing a reproduction device of the particular reproduction zone to reproduce a first audio signal for determining an acoustic characteristic of the particular reproduction zone.
10. The method of any preceding claim, wherein the step of identifying a particular audio processing algorithm comprises identifying a plurality of audio processing algorithms.
11. and one of the following steps: prioritizing the identified plurality of audio processing algorithms; and averaging the identified plurality of audio processing algorithms; 11. The method of claim 10, comprising:
12. A computing device for implementing the method according to any one of claims 1 to 9.
13. The computing device of claim 12 , wherein the computing device is one of a server, a playback device, and a control device.
14. A system comprising a computing device, a playback device and a server configured to store a database of a plurality of audio processing algorithms, the system implementing the method according to any of claims 1 to 11.
Citation Information
Patent Citations
Characteristic compensation device of listening space
JP1994086380A
On-vehicle audio service method
JP2002067815A
Acoustic information providing system and onboard acoustic device
JP2009288260A
Sound reproduction device including auditory scenario simulation
JP2014519274A
System and Method for Device Playback Calibration
US20140003625A1