CN109716795B - Networked microphone device, method thereof and media playback system - Google Patents
Networked microphone device, method thereof and media playback system Download PDFInfo
- Publication number
- CN109716795B CN109716795B CN201780057093.3A CN201780057093A CN109716795B CN 109716795 B CN109716795 B CN 109716795B CN 201780057093 A CN201780057093 A CN 201780057093A CN 109716795 B CN109716795 B CN 109716795B
- Authority
- CN
- China
- Prior art keywords
- playback
- audio
- calibration
- sound
- configuration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S7/00—Indicating arrangements; Control arrangements, e.g. balance control
- H04S7/30—Control circuits for electronic adaptation of the sound field
- H04S7/301—Automatic calibration of stereophonic sound system, e.g. with test microphone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R27/00—Public address systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R2227/00—Details of public address [PA] systems covered by H04R27/00 but not provided for in any of its subgroups
- H04R2227/005—Audio distribution systems for home, i.e. multi-room use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R2227/00—Details of public address [PA] systems covered by H04R27/00 but not provided for in any of its subgroups
- H04R2227/007—Electronic adaptation of audio signals to reverberation of the listening space for PA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R29/00—Monitoring arrangements; Testing arrangements
- H04R29/007—Monitoring arrangements; Testing arrangements for public address systems
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Circuit For Audible Band Transducer (AREA)
- Circuits Of Receivers In General (AREA)
Abstract
Example techniques may involve performing aspects of spectral calibration using applied spatial calibration. Example implementations may include: data representing spatial filters corresponding to respective playback configurations is received. The implementation may also involve: causing the audio driver to output calibration audio divided into a repeating set of frames including a respective frame for each playback configuration. Causing the audio driver to output the calibration audio may involve: the audio stage is caused to apply a spatial filter corresponding to the respective playback configuration during each frame. The implementation may further include: data representing spectral filters corresponding to respective playback configurations is received, the spectral filters based on the calibrated audio output by the audio driver. When playing back audio content in a given playback configuration, the audio stage may apply a particular spectral filter corresponding to that configuration.
Description
Cross Reference to Related Applications
This application claims priority from U.S. patent application No. 15/211,835 filed on 2016, 7, 15 and U.S. patent application No. 15/211,822 filed on 2016, 7, 15, which are incorporated herein by reference in their entirety. Additional incorporation is made by reference throughout the disclosure.
Technical Field
The present disclosure relates to consumer products, and more particularly, to methods, systems, products, features, services, and other elements directed to media playback or some aspect thereof.
Background
Until one of its first patent applications entitled "Method for Synchronizing Audio Playback Multiple network Devices" was filed by SONOS corporation in 2003, and when a media Playback system was offered for sale in 2005, options for accessing and listening to digital Audio at loud settings were limited. Sonos wireless hi-fi systems enable one to experience music from many sources via one or more networked playback devices. Through a software control application installed on a smartphone, tablet computer, or computer, a person can play his or her desired content in any room with a networked playback device. In addition, using the controller, for example, different songs may be streamed to each room with the playback device, the rooms may be grouped together for synchronized playback, or the same song may be listened to in all rooms simultaneously.
In view of the growing interest in digital media, there remains a need to develop consumer accessible technologies to further enhance the listening experience.
Drawings
The features, aspects, and advantages of the disclosed technology will become better understood with regard to the following description, appended claims, and accompanying drawings where:
FIG. 1 illustrates an example media playback system configuration in which certain embodiments may be practiced;
FIG. 2 shows a functional block diagram of an example playback device;
FIG. 3 shows a functional block diagram of an example control device;
FIG. 4 illustrates an example controller interface;
FIG. 5 illustrates an example control device;
FIG. 6 illustrates a smartphone displaying an example control interface according to an example implementation;
FIG. 7 illustrates example movements of an example environment in which an example media playback system is located;
fig. 8 shows an example chirp (chirp) with increasing frequency over time;
FIG. 9 shows an example Brown noise spectrum;
10A and 10B illustrate transition frequency ranges of an example hybrid calibration sound;
FIG. 11 shows a frame illustrating an iteration of an example periodic calibration sound;
FIG. 12 shows a series of frames illustrating an iteration of an example periodic calibration sound;
FIG. 13 illustrates an example flow diagram that facilitates spatial calibration;
FIG. 14 shows an example frame illustrating calibration audio divided into frames and slots;
FIG. 15 illustrates a smartphone displaying an example control interface according to an example implementation;
FIG. 16 illustrates a smartphone displaying an example control interface according to an example implementation;
FIG. 17 illustrates a smartphone displaying an example control interface according to an example implementation;
FIG. 18 illustrates a smartphone displaying an example control interface according to an example implementation;
FIG. 19 illustrates an example flow diagram for facilitating spatial calibration using an applied spatial calibration;
FIG. 20 illustrates an example flow diagram for facilitating spatial calibration using an applied spatial calibration; and
fig. 21 illustrates a smartphone that is displaying an example control interface, according to an example implementation.
The drawings are for purposes of illustrating the exemplary embodiments, and it is to be understood that the invention is not limited to the arrangements and instrumentality shown in the drawings.
Detailed Description
I. Overview
Embodiments described herein relate, inter alia, to techniques to facilitate calibration of a media playback system. Some calibration procedures contemplated herein involve: a recording device (e.g., a Networked Microphone Device (NMD)) detects sound waves (e.g., one or more calibration sounds) emitted by one or more playback devices of a media playback system. A processing device, such as a recording device, playback device, or another device communicatively coupled to the media playback system, may analyze the detected sound waves to determine one or more calibrations for one or more playback devices of the media playback system. When applied, such calibration may configure one or more playback devices to a given listening area (i.e., the environment in which one or more playback devices are located while sound waves are emitted).
In some embodiments contemplated herein, the processing device may determine a first type of calibration. For example, the processing device may determine a spatial calibration that spatially configures one or more playback devices to a given listening area. Such calibration may configure one or more playback devices to one or more particular locations within the environment (e.g., one or more preferred listening locations, such as favorite seat locations), possibly by adjusting time delays and/or loudness for those particular locations. The spatial calibration may include one or more filters that include delay and/or phase adjustments, gain adjustments, and/or any other adjustments to correct the spatial placement of one or more playback devices relative to one or more particular locations within the environment.
As described above, during the calibration process, one or more playback devices of the media playback system may output calibration sounds. Some example media playback systems may include multiple audio drivers that may be divided among one or more playback devices of the media playback system in various arrangements. For example, an example media playback system may include a soundbar type playback device having a plurality of audio drivers (e.g., nine audio drivers). Another playback device may include multiple different types of audio drivers (e.g., tweeters and woofers, which may have different sizes). Other example playback devices may include a single audio driver (e.g., a single full range woofer in a playback device, or a large low frequency woofer in a subwoofer-type device).
In operation, the multiple audio drivers of the media playback system may form multiple "sound axes". Each such "sound axis" may correspond to a respective input channel of the audio content. In some implementations, two or more audio drivers may be arranged to form a sound axis. For example, a soundbar type device may include nine audio drivers forming multiple sound axes (e.g., front surround channel, left surround channel, and right surround channel). Any audio driver may contribute to any number of acoustic axes. For example, the left axis of the surround sound system may be formed by the contributions of all nine audio drivers in the example soundbar type device. Alternatively, the shaft may be formed by a single audio driver.
The example media playback systems described herein may employ various playback configurations that represent respective groups of sound axes. Example playback configurations may include respective configurations based on the number of input channels (e.g., mono, stereo, surround sound, or any combination thereof with subwoofers). Other example playback configurations may be based on the content type. For example, a first axis set may be formed by an audio driver of the media playback system when playing music and a second axis set may be formed by an audio driver when playing audio paired with video (e.g., television audio). Other playback acknowledgements may result from various groupings of playback devices within the media playback system. Many examples are possible.
During some example calibration processes, multiple audio drivers of a media playback system may form multiple sound axes such that each sound axis outputs sound during the calibration process. For example, calibration audio emitted by multiple audio drivers may be divided into component frames. Each frame may in turn be divided into time slots. During each time slot of a given frame, a corresponding acoustic axis may be formed by outputting audio. In this way, the NMD recording the audio output of the audio driver can obtain samples from each acoustic axis. The frame may be repeated to produce multiple samples for each acoustic axis as recorded by the NMD.
Another type of calibration that may be produced by the example calibration processes described herein is a spectral calibration. The spectral calibration may spectrally configure one or more playback devices of the media playback system across a given listening area. Such calibration may generally help compensate for the acoustic properties of the environment, rather than pointing relatively more to a particular listening position as with spatial calibration. The spectral calibration may include one or more filters that adjust the frequency response of the playback device. In operation, one of two or more calibrations may be applied to the playback of one or more playback devices, possibly for different use cases. Example use cases may include music playback or surround sound (i.e., home theater), etc.
In some example calibration processes contemplated herein, a media playback system may perform a first calibration to determine a spatial calibration for one or more playback devices of the media playback system. The media playback system may then apply a spatial calibration during a second calibration while the playback device is emitting audio to determine a spectral calibration. Such a calibration process may result in a calibration that includes both spatial and spectral corrections.
Example techniques may involve performing aspects of spatial calibration. The first implementation may include: a trigger condition is detected that initiates calibration of a media playback system that includes a plurality of audio drivers that form a plurality of sound axes, each sound axis corresponding to a respective channel of multi-channel audio content. The first implementation may further include causing the plurality of audio drivers to emit calibration audio divided into component frames, the plurality of sound axes emitting the calibration audio during respective time slots of each of the component frames. The first implementation may also include recording the emitted calibration audio via a microphone. The first implementation may include: causing a determination of a delay for each of a plurality of acoustic axes, the determined delay for each acoustic axis being based on a time slot of the recorded calibration audio corresponding to the acoustic axis; and causing the plurality of acoustic axes to be calibrated. Calibrating the plurality of acoustic axes may involve: such that audio output for a plurality of acoustic axes is delayed according to the determined respective delays.
The second implementation may include: data representing one or more spatial filters corresponding to respective playback configurations is received. Each playback configuration may represent a particular set of sound axes formed via one or more audio drivers, and each sound axis may correspond to a respective channel of audio content. The second implementation may also involve causing the one or more audio drivers to output calibration audio that is divided into a repeating set of frames that includes a respective frame for each playback configuration. Causing the one or more audio drivers to output the calibration audio may involve: the audio stage is caused to apply a spatial filter corresponding to the respective playback configuration during each frame. The second implementation may further include: data representing one or more spectral filters corresponding to respective playback configurations is received, the one or more spectral filters based on the calibrated audio output by the one or more audio drivers. When playing back audio content in a given playback configuration, the audio stage may apply a particular spectral filter corresponding to the given playback configuration.
The third implementation may include: a trigger condition is detected that initiates calibration of the media playback system for a plurality of playback configurations. Each playback configuration represents a particular set of sound axes formed via a plurality of audio drivers of the media playback system, and each sound axis may correspond to a respective channel of audio content. The third implementation may also involve causing the plurality of audio drivers to output calibration audio that is divided into a repeating set of frames that includes a respective frame for each playback configuration. Causing the plurality of audio drivers to output the calibration audio may involve: such that a respective set of spatial filters is applied to the plurality of audio drivers during each frame of the set of frames, each set of spatial filters comprising a respective spatial filter for each acoustic axis. The third implementation may also involve: the method includes recording, via a microphone, calibration audio output by a plurality of audio drivers, and causing a processing device to determine, based on the recorded calibration audio, respective sets of spectral filters for a plurality of playback configurations, each set of spectral filters including a respective spectral filter for each sound axis.
Each of these example implementations may be embodied as a method, a device configured to perform the implementations, a system configured to perform the implemented device, or a non-transitory computer-readable medium containing instructions executable by one or more processors to perform the implementations, among other examples. One of ordinary skill in the art will appreciate that the present disclosure includes many other embodiments, including combinations of the example features described herein. Moreover, any example operations described as being performed by a given device to illustrate the techniques may be performed by any suitable device, including the devices described herein. Further, any device may cause another device to perform any of the operations described herein.
While some examples described herein may relate to functions performed by a given actor, e.g., "user," and/or other entity, it should be understood that this description is for illustrative purposes only. The claims should not be construed as requiring the action of any such example actor unless expressly required by the language of the claim itself.
Example operating Environment
Fig. 1 illustrates an example configuration of a media playback system 100 in which one or more embodiments disclosed herein may be practiced or implemented. The illustrated media playback system 100 is associated with an example home environment having several rooms and spaces, such as a master bedroom, office, dining room, and living room. As shown in the example of fig. 1, media playback system 100 includes playback device 102 through playback device 124, control devices 126 and 128, and wired or wireless network router 130.
Further discussion regarding different components of the example media playback system 100 and how the different components may interact to provide a media experience to a user may be found in the following sections. While the discussion herein may generally refer to an example media playback system 100, the techniques described herein are not limited to application within a home environment or the like as shown in fig. 1. For example, the techniques described herein may be useful in the following environments where multi-region audio may be desired: such as a commercial environment, e.g., a restaurant, mall or airport, a vehicle, e.g., a Sport Utility Vehicle (SUV), a bus or automobile, a ship or boat, an aircraft, etc.
a.Example playback device
Fig. 2 shows a functional block diagram of an example playback device 200, which example playback device 200 may be configured as one or more of playback devices 102-124 of media playback system 100 of fig. 1. The playback device 200 may include: a processor 202, a software component 204, a memory 206, an audio processing component 208, an audio amplifier 210, a speaker 212, a network interface 214 including a wireless interface 216 and a wired interface 218. In one case, 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 another case, the playback device 200 may include neither the speaker 212 nor the audio amplifier 210, but may include an audio interface for connecting the playback device 200 to an external audio amplifier or audiovisual receiver.
In one example, the processor 202 may be a clock driven computing component configured to process input data according to instructions stored in the memory 206. The memory 206 may be a tangible computer-readable medium configured to store instructions executable by the processor 202. For example, the memory 206 may be a data storage device that may be loaded with one or more of the software components 204 that can be executed by the processor 202 to implement certain functions. In one example, the function may involve the playback device 200 retrieving audio data from an audio source or another playback device. In another example, the function may involve the playback device 200 sending audio data to another device or playback device on the network. In yet another example, the functionality may involve pairing of the playback device 200 with one or more playback devices to create a multi-channel audio environment.
Certain functions may involve the playback device 200 synchronizing playback of audio content with one or more other playback devices. During synchronized playback, the listener will preferably not be able to perceive the time delay difference between the playback of the audio content by the playback device 200 and the playback of the audio content by one or more other playback devices. Some examples for audio playback synchronization between playback devices are provided in more detail in U.S. patent No. 8,234,395 entitled "System and method for synchronizing operations, amplitude a complexity of independent locked digital data processing devices" which is incorporated herein by reference.
The memory 206 may also be configured to store data associated with the playback device 200, such as one or more zones and/or groups of zones of which the playback device 200 is a part, audio sources accessible by the playback device 200, or a playback queue that may be associated with the playback device 200 (or some other playback device). The data may be stored as one or more state variables that are periodically updated and used to describe the state of the playback device 200. The memory 206 may also include such data: the data is associated with the state of other devices of the media system and is shared between the devices from time to time such that one or more of the devices has up-to-date data associated with the system. Other embodiments are also possible.
The audio processing component 208 may include one or more digital-to-analog converters (DACs), audio pre-processing components, audio enhancement components, or Digital Signal Processors (DSPs), among others. In one implementation, one or more of the audio processing components 208 may be a subcomponent of the processor 202. In one example, the audio processing component 208 may process and/or intentionally alter audio content to produce an audio signal. The resulting audio signal may then be provided to an audio amplifier 210 for amplification and playback through a speaker 212. In particular, the audio amplifier 210 may include a device configured to amplify an audio signal to a level for driving one or more of the speakers 212. The speaker 212 may include a separate transducer (e.g., a "driver"), or a complete speaker system including a housing with one or more drivers. Particular drivers for the speaker 212 may include, for example, a subwoofer (e.g., for low frequencies), a midrange driver (e.g., for mid-range frequencies), and/or a tweeter (e.g., for high frequencies). In some cases, each transducer of the one or more speakers 212 may be driven by a separate respective audio amplifier of the audio amplifier 210. In addition to generating analog signals for playback by the playback device 200, the audio processing component 208 may be configured to process audio content to be sent to one or more other playback devices for playback.
Audio content to be processed and/or played back by the playback device 200 may be received from an external source, for example, via an audio line in connection (e.g., an auto-detect 3.5mm audio line in connection) or the network interface 214.
The network interface 214 may be configured to facilitate data flow between the playback device 200 and one or more other devices on a data network. Likewise, the playback device 200 can be configured to receive audio content over a data network from one or more other playback devices in communication with the playback device 200, a network device within a local area network, or an audio content source over a wide area network, such as the internet. In one example, audio content and other signals transmitted and received by the playback device 200 may be transmitted in the form of digital packet data containing an Internet Protocol (IP) based source address and an IP based destination address. In such a case, the network interface 214 may be configured to parse the digital packet data so that the playback device 200 properly receives and processes the data destined for the playback device 200.
As shown, the network interface 214 may include a wireless interface 216 and a wired interface 218. The wireless interface 216 may provide network interface functionality for the playback device 200 to wirelessly communicate with other devices (e.g., other playback devices, speakers, receivers, network devices, control devices within a data network associated with the playback device 200) according to a communication protocol (e.g., any wireless standard, including IEEE 802.11a, 802.11b, 802.11G, 802.11n, 802.11ac, 802.15, 4G mobile communication standards, etc.). The wired interface 218 may provide network interface functionality for the playback device 200 to communicate with other devices over a wired connection according to a communication protocol (e.g., IEEE 802.3). Although the network interface 214 shown in fig. 2 includes both a wireless interface 216 and a wired interface 218, in some implementations, the network interface 214 may include only a wireless interface or only a wired interface.
In one example, the playback device 200 can be paired with one other playback device to play two separate audio components of audio content. For example, the playback device 200 may be configured to play a left channel audio component, while other playback devices may be configured to play a right channel audio component, thereby creating or enhancing a stereo effect of the audio content. Paired playback devices (also referred to as "bound playback devices") can also play audio content in synchronization with other playback devices.
In another example, the playback device 200 may be acoustically joined with one or more other playback devices to form a single joined playback device. Because the federated playback device may have additional speaker drivers through which audio content may be rendered, the federated playback device may be configured to process and reproduce sound differently than the non-federated playback device or the paired playback device. For example, if the playback device 200 is a playback device designed to present low-range audio content (i.e., subwoofer), the playback device 200 can be joined with a playback device designed to present full-range audio content. In such a case, when coupled with the low frequency playback device 200, the full range playback device may be configured to present only the mid-frequency component and the high-frequency component of the audio content, while the low frequency range playback device 200 presents the low frequency component of the audio content. The federated playback device may also be paired with a single playback device or another federated playback device.
For example, SONOS companies currently publicly sell (or have publicly sold) certain playback devices, including "PLAY: 1 "," PLAY: 3 "," PLAY: 5 "," PLAYBAR "," CONNECT: AMP "," CONNECT ", and" SUB ". Additionally or alternatively, any other past, present, and/or future playback devices may be used to implement the playback devices of the example embodiments disclosed herein. Additionally, it should be understood that the playback device is not limited to the example shown in fig. 2 or the SONOS product offering. For example, the playback device may include a wired or wireless headset. 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 into another device or component, such as a television, a lighting fixture, or some other device for indoor or outdoor use.
b.Example playback zone configuration
Referring back to the media playback system 100 of fig. 1, the environment may have one or more playback zones, each having one or more playback devices. The media playback system 100 may be established with one or more playback zones, after which one or more zones may be added or removed to arrive at the example configuration shown in fig. 1. Each zone may be named according to a different room or space, such as an office, bathroom, master bedroom, kitchen, dining room, living room, and/or balcony. In one case, a single playback zone may include multiple rooms or spaces. In another case, a single room or space may include multiple playback zones.
As shown in fig. 1, each of the balcony, restaurant, kitchen, bathroom, office and bedroom areas has one playback device, and each of the living room area and main bedroom area has a plurality of playback devices. In the living room zone, the playback devices 104, 106, 108, and 110 may be configured to: the audio content is played synchronously as a separate playback device, as one or more bound playback devices, as one or more joined playback devices, or any combination thereof. Similarly, in the case of a master bedroom, playback devices 122 and 124 may be configured to: the audio content is played synchronously as individual playback devices, as bundled playback devices, or as a joint playback device.
In one example, one or more playback zones in the environment of fig. 1 may each be playing different audio content. For example, a user may be grilling in the balcony area and listening to hip-hop music being played by the playback device 102, while another user may be preparing food in the kitchen area and listening to classical music being played by the playback device 114. In another example, the playback zone may play the same audio content in synchronization with another playback zone. For example, the user may be in an office zone where the playback device 118 is playing the same rock music as the playback device 102 in the balcony zone. In such a case, the playback device 102 and the playback device 118 may play the rock music in synchronization such that the audio content being played loudly may be enjoyed seamlessly (or at least substantially seamlessly) as the user moves between different playback zones. As described in the previously cited U.S. patent No. 8,234,395, synchronization between playback zones may be achieved in a manner similar to the manner of synchronization between playback devices.
As set forth above, the zone configuration of the media playback system 100 may be dynamically modified, and in some implementations, the media playback system 100 supports many configurations. For example, if a user physically moves one or more playback devices to or from a zone, the media playback system 100 may be reconfigured to accommodate the change. For example, if a user physically moves playback device 102 from a balcony area to an office area, the office area may now include both playback device 118 and playback device 102. If desired, the playback device 102 may be paired or grouped with an office zone and/or the playback device 102 renamed via control devices such as control device 126 and control device 128. On the other hand, if one or more playback devices are moved to a particular zone in the home environment that is not yet a playback zone, a new playback zone may be created for the particular zone.
Further, different playback zones of the media playback system 100 may be dynamically combined into a group or divided into separate playback zones. For example, the restaurant zone and the kitchen zone 114 may be combined into a group for a dinner party so that the playback devices 112 and 114 may present audio content in synchronization. On the other hand, if a user wishes to listen to music in the living room space and another user wishes to watch television, the living room zone may be divided into a television zone that includes playback device 104 and a listening zone that includes playback devices 106, 108, and 110.
c.Example control device
Fig. 3 illustrates a functional block diagram of an example control device 300, which example control device 300 may be configured as one or both of the control device 126 and the control device 128 of the media playback system 100. The control device 300 may also be referred to as a controller 300. As shown, the control device 300 may include a processor 302, a memory 304, a network interface 306, a user interface 308. In one example, the control device 300 may be a dedicated controller for the media playback system 100. In another example, control device 300 may be a network device that may have media playback system controller application software installed, e.g., an iPhoneTM、iPadTMOr any other smart phone, tablet computer, or network device (e.g., networked computer such as a PC or Mac)TM)。
The processor 302 may be configured to perform functions related to facilitating user access, control, and configuration of the media playback system 100. The memory 304 may be configured to store instructions that are 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 the user.
In one example, the network interface 306 may be based on an industry standard (e.g., infrared, radio, wired standards including IEEE802.3, wireless standards including IEEE 802.11a, 802.11b, 802.11G, 802.11n, 802.11ac, 802.15, 4G mobile communication standards, etc.). The network interface 306 may provide a means for controlling the device 300 to communicate with other devices in the media playback system 100. In one example, data and information (e.g., such as state variables) may be communicated between the control device 300 and other devices via the network interface 306. For example, the control device 300 may receive the playback zone and group configuration in the media playback system 100 from a playback device or another network device via the network interface 306 or the control device 300 may transmit the playback zone and group configuration in the media playback system 100 to another playback device or network device via the network interface 306. In some cases, the other network device may be another control device.
Playback device control commands, such as volume control and audio playback control, may also be communicated from the control device 300 to the playback device via the network interface 306. As set forth above, the user may also use the control device 300 to perform changes to the configuration of the media playback system 100. The configuration change may include: adding or removing one or more playback devices to or from a zone; adding or removing one or more regions to or from a granule; form bound or affiliated players; separating one or more playback devices from bound or affiliated players, and the like. Thus, the control device 300 may sometimes be referred to as a controller, regardless of whether the control device 300 is a dedicated controller or a network device having media playback system controller application software installed.
The user interface 308 of the control device 300 may be configured to facilitate 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 region 410, a playback region 420, a playback state region 430, a playback queue region 440, and an audio content source region 450. The illustrated user interface 400 is merely one example of a user interface that may be provided on a network device, such as the control device 300 of fig. 3 (and/or the control devices 126 and 128 of fig. 1), and 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 comparable control access to the media playback system.
The playback control area 410 may include selectable (e.g., by touch or by use of a cursor) icons for causing the playback device in the selected playback zone or group to play or pause, fast forward, rewind, skip to next, skip to previous, enter/exit random mode, enter/exit repeat mode, enter/exit crossfade mode. Playback control area 410 may also include selectable icons for modifying equalization settings and playback volume, among other possibilities.
For example, as shown, a "grouping" icon may be provided within each of the graphical representations of the playback zones. The "grouping" icon provided within the graphical representation of a particular zone may be selectable to generate an option for selecting one or more other zones in the media playback system to be grouped with the particular zone. Once grouped, the playback devices in the zone that have been grouped with the particular zone will be configured to play audio content in synchronization with the playback devices in the particular zone. Similarly, a "group" icon may be provided within the graphical representation of the granule. In this case, the "group" icon may be selectable to generate an option to deselect one or more zones in the granule to be removed from the granule. Other interactions and implementations for grouping and ungrouping regions via a user interface, such as user interface 400, are also possible. The representation of the playback zone in playback zone 420 may be dynamically updated as the playback zone or zone group configuration is modified.
The playback status region 430 may include a graphical representation of the audio content in the selected playback zone or group that is currently being played, previously played, or scheduled to be played next. The selected playback zone or group may be visually distinguished on the user interface, e.g., within the playback zone region 420 and/or the playback status region 430. The graphical representation may include track name, artist name, album year, track length, and other relevant information useful to the user in knowing when to control the media playback system via the user interface 400.
The playback queue region 440 may include a graphical representation of the audio content in the playback queue associated with the selected playback zone or group. In some implementations, each playback zone or group may be associated with a playback queue that contains information corresponding to zero or more audio items for playback by the playback zone or group. For example, each audio item in the playback queue may include a Uniform Resource Identifier (URI), a Uniform Resource Locator (URL), or some other identifier that may be used by the playback devices in the playback zone or group to find and/or retrieve the audio item from a local audio content source or a networked audio content source, possibly for playback by the playback devices.
In one example, a playlist may be added to the playback queue, in which case information corresponding to each audio item in the playlist may be added to the playback queue. In another example, the audio items in the playback queue may be saved as a playlist. In yet another example, the playback queue may be empty or filled but "out of use" when the playback zone or group is continuously playing streaming audio content — e.g., an internet broadcast that may continue to play until otherwise stopped, rather than playing a discrete audio item having a playback duration. In an alternative embodiment, the playback queue may include internet broadcast and/or other streaming audio content items and be "in use" when the playback zone or group is playing those items. Other examples are also possible.
When a playback zone or group is "packetized" or "ungrouped," the playback queue associated with the affected playback zone or group may be cleared or re-associated. For example, if a first playback zone that includes a first playback queue is grouped with a second playback zone that includes a second playback queue, the established granule may have an associated playback queue that is initially empty, contains audio items from the first playback queue (e.g., if the second playback zone is added to the first playback zone), contains audio items from the second playback queue (e.g., if the first playback zone is added to the second playback zone), or a combination of audio items from both the first playback queue and the second playback queue. Subsequently, if the established granule is ungrouped, the resulting first playback zone may be re-associated with the previous first playback queue, or may be associated with a new playback queue that is empty or contains audio items from the playback queue associated with the established granule prior to the established granule being ungrouped. Similarly, the resulting second playback zone may be re-associated with the previous second playback queue or associated with a new playback queue that is empty or contains audio items from the playback queue associated with the established granule before the established granule was ungrouped. Other examples are also possible.
Referring back to the user interface 400 of fig. 4, the graphical representation of the audio content in the playback queue region 440 may include the track name, the artist name, the track length, and other relevant information associated with the audio content in the playback queue. In one example, the graphical representation of the audio content may be selectable to generate additional selectable icons to manage and/or manipulate the playback queue and/or the audio content presented in the playback queue. For example, the presented audio content may be removed from the playback queue, may be moved to a different location within the playback queue, or selected to play immediately or after any currently playing audio content, among other possibilities. The playback queue associated with a playback zone or group may be stored in memory on one or more playback devices in the playback zone or group, in memory on a playback device not in the playback zone or group, and/or in memory on some other designated device. Playback of such a playback queue may involve one or more playback devices playing back the media items of the queue, possibly in a continuous or random order.
The audio content source region 450 may include a graphical representation of a selectable audio content source from which audio content may be retrieved and played by a selected playback region or group. A discussion of audio content sources may be found in the following sections.
Fig. 5 depicts a smartphone 500 that includes one or more processors, a tangible computer-readable memory, a network interface, and a display. Smartphone 500 may be an example implementation of control device 126 or 128 of fig. 1 or control device 300 of fig. 3 or other control devices described herein. By way of example, reference will be made to smartphone 500 and certain control interfaces, prompts, and other graphical elements that smartphone 500 may display when operating as a control device of a media playback system (e.g., media playback system 100). Within examples, such interfaces and elements may be displayed by any suitable control device, such as a smartphone, tablet, laptop or desktop computer, personal media player, or remote control device.
When operating as a control device for a media playback system, smartphone 500 may display one or more controller interfaces, such as controller interface 400. Similar to the playback control zone 410, playback zone 420, playback status zone 430, playback queue zone 440, and/or audio content source zone 450 of fig. 4, the smartphone 500 may display one or more respective interfaces, such as a playback control interface, playback zone interface, playback status interface, playback queue interface, and/or audio content source interface. An example control device might utilize, for example, a smart phone or other handheld device to display a separate interface (rather than an area) with a relatively limited screen size.
d.Example Audio content Source
As previously indicated, one or more playback devices in a zone or group of zones may be configured to retrieve audio content for playback from various available audio content sources (e.g., according to a respective URI or URL of the audio content). In one example, audio content may be retrieved by the playback device directly from a corresponding audio content source (e.g., a line-in connection). In another example, audio content may be provided to a playback device over a network via one or more other playback devices or network devices.
Example audio content sources may include: a media playback system such as the memory of one or more playback devices in the media playback system 100 of fig. 1, a local music library on one or more network devices (e.g., such as a control device, a network-enabled personal computer, or a Network Attached Storage (NAS)), a streaming audio service that provides audio content via the internet (e.g., the cloud), or an audio source connected to the media playback system via a line-in connection on a playback device or network device, among other possibilities.
In some implementations, audio content sources may be added or removed from a media playback system, such as media playback system 100 of fig. 1, on a regular basis. In one example, indexing audio items may be performed each time one or more audio content sources are added, removed, or updated. Indexing an audio item may involve: scanning identifiable audio items in all folders/directories shared on a network accessible by playback devices in a media playback system; and generating or updating an audio content database containing metadata (e.g., name, artist, album, track length, etc.) and other associated information, such as a URI or URL of each identifiable audio item found. Other examples for managing and maintaining audio content sources are possible.
e.Example calibration sequences
As described above, an example calibration process may involve: one or more playback devices emit calibration sounds that can be detected by the recording device (or devices).
In some implementations, the detected calibration sound can be analyzed over a frequency range (i.e., a calibration range) in which the playback device is to be calibrated. Thus, the particular calibration sound emitted by the playback device covers the calibration frequency range. The calibration frequency range may include a frequency range that the playback device is capable of emitting (e.g., 15Hz to 30000Hz), and may include frequencies that are considered to be within the human hearing range (e.g., 20Hz to 20000 Hz). By emitting and then detecting calibration sounds covering such a frequency range, a frequency response comprising the range can be determined for the playback device. Such a frequency response may represent an environment in which the playback device emits calibration sounds.
In some implementations, the playback device may repeatedly emit the calibration sound during the calibration process such that the calibration sound covers the calibration frequency range during each repetition. With a moving microphone, repetitions of calibration sounds are detected continuously at different physical locations within the environment. For example, the playback device may emit periodic calibration sounds. Each cycle of the calibration sound may be detected by the recording device at a different physical location within the environment, providing a sample at that location (i.e. representing a repeating frame). Such calibration sounds may thus facilitate calibration of the spatial average of the environment. When multiple microphones are used, each microphone may cover a respective portion of the environment (possibly with some overlap).
Furthermore, the recording device may measure both moving and stationary samples. For example, the recording device may move within the environment when one or more playback devices output calibration sounds. During such movement, the recording device may pause at one or more locations to measure a stationary sample. Such a position may correspond to a preferred listening position. In another example, the first recording device and the second recording device may include a first microphone and a second microphone, respectively. When the playback device emits calibration sounds, the first microphone may move and the second microphone may remain stationary, possibly at a particular listening position (e.g., a favorite chair) within the environment.
In some cases, one or more playback devices may join a packet, such as a bind or group. In such a case, the calibration process may calibrate one or more playback devices as a group. Example packets include groups or binding pairs, among other example configurations.
The calibrated one or more playback devices may initiate a calibration process based on a trigger condition. For example, a recording device, such as the control device 126 of the media playback system 100, may detect a trigger condition that causes the recording device to initiate calibration of one or more playback devices (e.g., one or more of the playback devices 102-124). Alternatively, a playback device of the media playback system may detect such a trigger condition (and possibly forward an indication of the trigger condition to the recording device).
In some embodiments, detecting the trigger condition may involve: input data indicating a selection of a selectable control is detected. For example, a recording device, such as control device 126, may display an interface (e.g., control interface 400 of fig. 4) that includes one or more controls that, when selected, initiate calibration of a playback device or group of playback devices (e.g., zone).
To illustrate such controls, fig. 6 shows a smartphone 500 displaying an example control interface 600. The control interface 600 includes: the prompt clicks on the graphical area 602 of the selectable control 604 (start) when ready. When selected, selectable control 604 can initiate a calibration process. As shown, selectable control 604 is a button control. Although button controls are shown by way of example, other types of controls are also contemplated.
The control interface 600 also includes a graphics area 606 that includes video depicting how to assist in the calibration process. Some calibration procedures may involve: the microphone is moved within the environment to obtain samples of calibration sound at a plurality of physical locations. To prompt the user to move the microphone, the control device may display a video or animation depicting one or more steps to be performed during calibration.
To illustrate the movement of the control device during calibration, fig. 7 shows the media playback system 100 of fig. 1. Fig. 7 illustrates a path 700 along which a recording device (e.g., control device 126) may move during calibration. As mentioned above, the recording device may indicate in various ways how to perform such movements, e.g. by means of video or animation or the like. The recording device may detect iterations of calibration sounds emitted by one or more playback devices of the media playback system 100 at different points along the path 700, which may facilitate calibration of the spatial average of those playback devices.
In other examples, detecting the trigger condition may involve: the playback device detects that the playback device has become uncalibrated, which may be caused by moving the playback device to a different location. For example, the playback device may detect the physical movement via one or more sensors (e.g., accelerometers) that are sensitive to movement. As another example, the playback device may detect that it has been moved to a different zone (e.g., moved from a "kitchen" zone to a "living room" zone), may be moved to a different zone by receiving an indication from the control device to cause the playback device to leave the first zone and join the second zone.
In further examples, detecting the trigger condition may involve: a recording device (e.g., a control device or a playback device) detects a new playback device in the system. Such playback devices may not have been calibrated for the environment. For example, the recording device may detect the new playback device as part of a setup process for the media playback system (e.g., a process that configures one or more playback devices into the media playback system). In other cases, the recording device may detect a new playback device by: input data indicative of a request to configure a media playback system (e.g., a request to configure a media playback system with an additional playback device) is detected.
In some cases, the first recording device (or another device) may instruct one or more playback devices to emit calibration sound. For example, a recording device such as the control device 126 of the media playback system 100 may send a command that causes a playback device (e.g., one of the playback devices 102-124) to emit calibration sound. The control device may send the command via a network interface (e.g., a wired network interface or a wireless network interface). The playback device may receive such commands, possibly via a network interface, and responsively emit calibration sounds.
The acoustic effect (Acoustics) of an environment may vary with location within the environment. Due to this variation, some calibration procedures may be improved by positioning the playback device to be calibrated within the environment in the same way as the playback device is operated later. In this position, the environment may affect the calibration sound emitted by the playback device in a similar manner as the environment would affect playback during operation.
Further, some example calibration procedures may involve: one or more recording devices detect calibration sounds at multiple physical locations within the environment, which may further help capture acoustic effect variability within the environment. To facilitate detection of calibration sounds at multiple points within the environment, some calibration processes involve a moving microphone. For example, a microphone that is detecting the calibration sound may be moving within the environment while the calibration sound is being emitted. Such movement may facilitate detection of calibration sounds at multiple physical locations within the environment, which may provide a better understanding of the overall environment.
In some implementations, the one or more playback devices may repeatedly emit the calibration sound during the calibration process such that the calibration sound covers the calibration frequency range during each repetition. Using a moving microphone, repetitions of calibration sounds are detected at different physical locations within the environment, providing samples spaced throughout the environment. In some cases, the calibration sound may be a periodic calibration signal, where each period covers a calibration frequency range.
To facilitate determining the frequency response, the calibration sound should be emitted at each frequency with sufficient energy to overcome background noise. To increase the energy at a given frequency, a tone at that frequency may be emitted for a longer duration. However, by extending the period of the calibration sound, the spatial resolution of the calibration process is reduced because the moving microphone moves farther (assuming a relatively constant velocity) during each period. As another technique to increase the energy at a given frequency, the playback device may increase the intensity of the tone. However, in some cases, attempting to emit sufficient energy for a short period of time may damage the speaker drivers of the playback device.
Some implementations may balance these considerations by: instructing the playback device to emit a calibration sound having a period of approximately 3/8 seconds in duration (e.g., in the range of 1/4 seconds to 1 second in duration). In other words, the calibration sound may be repeated at a frequency of 2Hz to 4 Hz. Such a duration may be long enough to provide enough energy tones at each frequency to overcome background noise in a typical environment (e.g., a quiet room), but short enough to keep spatial resolution within an acceptable range (e.g., less than a few feet assuming normal walking speeds).
In some implementations, one or more playback devices may emit a mixed calibration sound that combines first and second components having respective waveforms. For example, an example mixed calibration sound may include: with a first component of noise at certain frequencies and a second component sweeping other frequencies (e.g., swept sinusoids). The noise component may cover a relatively low frequency of the calibration frequency range (e.g., 10Hz to 50Hz), while the sweep signal component covers a higher frequency of the range (e.g., above 50 Hz). Such a mixed calibration sound may combine the advantages of its component signals.
A swept signal (e.g., chirp or swept sinusoid) is a waveform in which the frequency increases or decreases with time. Including such a waveform as a component of the mixed calibration sound may facilitate coverage of the calibration frequency range, as the sweep signal may be selected to increase or decrease within the calibration frequency range (or a portion thereof). For example, chirps emit each frequency within the chirp in a relatively short period of time, enabling the chirp to more effectively cover a calibration range relative to some other waveform. Fig. 8 shows a graph 800 illustrating an example chirp. As shown in fig. 8, the frequency of the waveform increases with time (plotted on the X-axis), and a tone is emitted at each frequency in a relatively short period of time.
However, because each frequency within the chirp is emitted in a relatively short duration, the amplitude (or sound intensity) of the chirp must be relatively high at low frequencies to overcome typical background noise. Some speakers may not be able to output such high intensity tones without risk of damage. Furthermore, such high intensity tones may be unpleasant within the audible range of the playback device, as would be expected during a calibration procedure involving a mobile microphone. Thus, some embodiments of the calibration sound may not include chirps that extend to relatively low frequencies (e.g., below 50 Hz). Alternatively, the chirp signal or sweep signal may cover frequencies between a relatively low threshold frequency (e.g., a frequency of about 50Hz to 100 Hz) and a maximum of the calibration frequency range. The maximum value of the calibration range may correspond to the physical capability of the channel emitting the calibration sound, which may be 20000Hz or higher.
The sweep signal may also facilitate the reversal of phase distortion caused by moving microphones. As mentioned above, moving the microphone causes phase distortion, which may interfere with determining the frequency response from the detected calibration sound. However, with a sweep signal, the phase at each frequency is predictable (in terms of doppler shift). This predictability helps to invert the phase distortion so that the detected calibration sounds can be correlated with the emitted calibration sounds during analysis. Such correlation may be used to determine the effect of the environment on the calibration sound.
As described above, the scanning signal may cause the frequency to increase or decrease over time. In some implementations, the recording device may instruct one or more playback devices to emit a chirp that falls from (or above) the maximum value of the calibration range to (or below) the threshold frequency. Due to the physical shape of the human ear canal, a falling chirp may be more pleasant to some listeners than a rising chirp. While some implementations may use a falling scan signal, a rising scan signal may also be effective for calibration.
As described above, the example calibration sound may include a noise component in addition to the sweep signal component. Noise refers to a random signal that is filtered to have equal energy per octave in some cases. In embodiments where the noise component is periodic, the noise component of the mixed calibration sound may be considered pseudo-random. The noise component of the calibration sound may be emitted substantially throughout the entire period or repetition of the calibration sound. This causes each frequency covered by the noise component to be emitted for a longer duration, which reduces the signal strength that is typically required to overcome background noise.
Furthermore, the noise component may cover a smaller frequency range than the chirp component, which may increase the sound energy at each frequency within the range. As described above, the noise component may cover frequencies between the minimum of the frequency range and a threshold frequency, which may be, for example, a frequency of about 50Hz to 100 Hz. As with the maximum value of the calibration range, the minimum value of the calibration range may correspond to the physical capability of the channel emitting the calibration sound, which may be 20Hz or lower.
Fig. 9 shows a graph 900 illustrating an example brownian noise. Brownian noise is a noise based on brownian motion. In some cases, the playback device may emit calibration sound that includes brownian noise in its noise component. Brownian noise has a "soft" characteristic similar to a waterfall or strong precipitation, which may be pleasant to some listeners. While some embodiments may implement the noise component using brownian noise, other embodiments may implement the noise component using other types of noise (e.g., pink noise or white noise). As shown in fig. 9, the intensity of the example brownian noise decreases by 6dB per octave (20 dB per decade).
Some implementations of mixing the calibration sound may include a transition frequency range where the noise component and the sweep component overlap. As described above, in some examples, the control device may instruct the playback device to emit a calibration sound that includes a first component (e.g., a noise component) and a second component (e.g., a sweep signal component). The first component may include noise at a frequency between a minimum of the calibration frequency range and a first threshold frequency, and the second component may sweep through frequencies between a second threshold frequency and a maximum of the calibration frequency range.
To overlap the signals, the second threshold frequency may be a lower frequency than the first threshold frequency. In such a configuration, the transition frequency range includes frequencies between the second threshold frequency and the first threshold frequency, which may be, for example, 50Hz to 100 Hz. By overlapping these components, the playback device may avoid emitting potentially objectionable sound associated with harsh transitions between the two types of sound.
Fig. 10A and 10B show components of an example hybrid calibration signal covering a calibration frequency range 1000. Fig. 10A shows a first component 1002A (i.e., a noise component) and a second component 1004A of an example calibration sound. The component 1002A covers frequencies from a minimum 1006A of the calibration range 1000 to a first threshold frequency 1008A. Component 1004A covers frequencies from the second threshold 1010A to the maximum of the calibration frequency range 1000. As shown, threshold frequency 1008A and threshold frequency 1010A are the same frequency.
Fig. 10B shows a first component 1002B (i.e., a noise component) and a second component 1004B of another example calibration sound. The component 1002B covers frequencies from a minimum 1006B of the calibration range 1000 to a first threshold frequency 1008B. The component 1004A covers frequencies from the second threshold 1010B to the maximum 1012B of the calibration frequency range 1000. As shown, threshold frequency 1010B is a lower frequency than threshold frequency 1008B, such that component 1002B and component 1004B overlap in a transition frequency range extending from threshold frequency 1010B to threshold frequency 1008B.
Fig. 11 illustrates one example iteration (e.g., period or loop) of an example hybrid calibration sound represented as a frame 1100. Frame 1100 includes a scan signal component 1102 and a noise component 1104. The sweep signal component 1102 is shown as a downwardly sloping line to show the sweep signal falling within the frequency of the calibration range. The noise component 1104 is shown as a region to show low frequency noise throughout the frame 1100. As shown, the sweep signal component 1102 and the noise component overlap in the transition frequency range. The period 1106 of the calibration sound is approximately 3/8 seconds (e.g., in the range of 1/4 seconds to 1/2 seconds), which in some implementations is a time sufficient to cover the calibration frequency range for mono.
Fig. 12 illustrates an example periodic calibration sound 1200. Five iterations (e.g., periods) of the blended calibration sound 1100 are represented as frames 1202, 1204, 1206, 1208, and 1210. The periodic calibration sound 1200 covers the calibration frequency range using two components (e.g., a noise component and a sweep signal component) at each iteration or each frame.
In some embodiments, a spectral adjustment may be applied to the calibration sound to make the calibration sound have a desired shape or roll off, which may avoid overloading the speaker driver. For example, the calibration sound may be filtered to roll off at 3dB or 1/f per octave. Such spectral modification may not be suitable for altering low frequencies to prevent overloading of speaker drivers.
In some embodiments, the calibration sound may be generated in advance. Such pre-generated calibration sounds may be stored on a control device, a playback device, or a server (e.g., a server that provides cloud services to a media playback system). In some cases, the control device or server may transmit the pre-generated calibration sound to the playback device via a network interface, and the playback device may retrieve the calibration sound via its own network interface. Alternatively, the control device may send an indication (e.g., a URI) of the source of the calibration sound to the playback device, which the playback device may use to obtain the calibration sound.
Alternatively, the control device or the playback device may generate the calibration sound. For example, for a given calibration range, the control device may generate a sweeping sinusoid covering at least frequencies between a minimum value of the calibration frequency range and a first threshold frequency and covering at least frequencies between a second threshold frequency and a maximum value of the calibration frequency range. The control device may combine the swept sinusoid and the noise into a periodic calibration sound by applying a cross-filtering function. The cross-filtering function may combine portions of the generated noise that include frequencies below a first threshold frequency with portions of the generated swept sinusoid that include frequencies above a second threshold frequency to obtain a desired calibration sound. The device generating the calibration sound may have analog circuitry and/or a digital signal processor to generate and/or combine components of the mixed calibration sound.
Additional example calibration procedures are described in the following applications: U.S. patent application No. 14/805,140 entitled "Hybrid Test Tone For Space-accessed from Audio restriction Using A Moving Microphone", filed 21 7/2015, U.S. patent application No. 14/805,340 entitled "Current Multi-Loudmaker restriction with a Single Measurement", filed 21/2015, and U.S. patent application No. 14/864,393 entitled "restricting restriction of an Audio Playback Device", filed 24/9/2015, the entire contents of which are incorporated herein.
Calibration may be facilitated via one or more control interfaces as displayed by one or more devices. Example interfaces are described in the following applications: U.S. patent application No. 14/696,014 entitled "Speaker Calibration" filed 24/4/2015 and U.S. patent application No. 14/826,873 entitled "Speaker Calibration User Interface" filed 14/8/2015, the entire contents of which are incorporated herein.
Turning now to several example implementations, implementations 1300, 1900, and 2000 shown in fig. 13, 19, and 20, respectively, present example implementations of the techniques described herein. These example embodiments 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, or one or more control devices 300 of fig. 3, as well as other devices described herein, and/or other suitable devices. Further, the operations shown by way of example as being performed by a media playback system may be performed by any suitable device, such as a playback device or a control device of a media playback system. Implementations 1300, 1900, and 2000 may include one or more operations, functions, or actions as illustrated by one or more of the blocks shown in fig. 13, 19, and 20. Although the blocks are shown in a sequential order, these blocks may also be performed in parallel, and/or in a different order than depicted. Further, the various blocks may be combined into fewer blocks, divided into additional blocks, and/or removed based on the desired implementation.
Further, for the implementations disclosed herein, the flow chart illustrates the functions and operations of one possible implementation of the present embodiments. In this regard, each block may represent a module, segment, or portion of program code, which comprises one or more instructions executable by a processor for implementing the specified logical function or step in the process. The program code may be stored on any type of computer readable medium, such as a storage device including a diskette or hard drive. The computer readable medium may include a non-transitory computer readable medium, for example, a computer readable medium that stores data for a short time, such as register memory, processor cache, and Random Access Memory (RAM). The computer readable medium may also include non-transitory media such as secondary or persistent long term storage devices, e.g., Read Only Memory (ROM), optical or magnetic disks, compact disk read only memory (CD-ROM). The computer readable medium may also be any other volatile or non-volatile storage system. The computer-readable medium may be considered, for example, a computer-readable storage medium or a tangible storage device. Additionally, for implementations disclosed herein, each block may represent a circuit wired to perform a particular logical function in the process. Example techniques for facilitating spatial calibration
As described above, embodiments described herein may facilitate calibration of one or more playback devices by determining a spatial calibration. Fig. 13 illustrates an example implementation 1300 by which a media playback system facilitates such calibration.
a.Detecting a trigger condition
At block 1302, implementation 1300 involves detecting a trigger condition. For example, a networked microphone device may detect a trigger condition that initiates calibration of a media playback system (or possibly a group of playback devices in the media playback system). Example networked microphone devices include any suitable device having a network interface and a microphone. For example, a playback device (e.g., playback device 200) and a control device (e.g., control device 300) may each operate as a networked microphone device. Other example networked microphone devices include control devices 126 and 128 of fig. 1.
The trigger condition may initiate calibration of the plurality of audio drivers. In some cases, multiple audio drivers may be housed in a single playback device. For example, a soundbar type playback device may include multiple audio drivers (e.g., nine audio drivers). In other cases, the multiple audio drivers may be divided between two or more playback devices. For example, a soundbar having multiple audio drivers may be calibrated with one or more other playback devices, each having one or more respective audio drivers. Some example playback devices include multiple different types of audio drivers (e.g., tweeters and woofers, which may have different sizes).
The particular playback device (and audio driver) that is calibrated may correspond to a zone of the media playback system. For example, an example trigger condition may initiate calibration of a given zone of a media playback system (e.g., the living room zone of the media playback system 100 shown in fig. 1). According to this example, the living room zone includes playback devices 104, 106, 108, and 110 that together include multiple audio drivers, and the example trigger condition may thus initiate calibration of the multiple audio drivers.
As described above in connection with the example calibration sequences, various trigger conditions are contemplated herein. Some example trigger conditions include input data instructing the media playback system to initiate calibration. Such input data may be received via a user interface of the networked microphone device (e.g., control interface 600 of fig. 6), as shown in fig. 6, or possibly via another device that communicates instructions to the networked microphone device and/or the calibrated playback device.
Other example trigger conditions may be based on sensor data. For example, sensor data from an accelerometer or other suitable sensor may indicate that a given playback device has moved, which may prompt calibration of the playback device (and possibly other playback devices associated with the given playback device, such as playback devices in a binding zone or group of zones having the playback device).
Some trigger conditions may involve a combination of input data and sensor data. For example, the sensor data may indicate a change in the operating environment of the media playback system, which may result in a prompt to initiate calibration being displayed on the networked microphone device. The media playback system may be calibrated after receiving such input data: the input data indicates a confirmation to initiate calibration with a prompt.
Further example trigger conditions may be based on changes in the configuration of the media playback system. For example, example trigger conditions include adding or removing a playback device from a media playback system (or a grouping thereof). Other example trigger conditions include receiving a new type of input content (e.g., receiving multi-channel audio content).
In operation, multiple audio drivers may form multiple acoustic axes. For example, two playback devices each having a respective audio driver may form a respective sound axis. In some cases, two or more audio drivers may be arranged to form a sound axis. For example, a playback device having multiple audio drivers (e.g., a sound bar having nine audio drivers) may form multiple sound axes (e.g., three sound axes). Any audio driver may contribute to any number of acoustic axes. For example, a given sound axis may be formed by the contributions of all nine audio drivers of a soundbar.
Each sound axis may correspond to a respective input channel of the audio content. For example, an audio driver of a media playback system may form two sound axes corresponding to a left channel and a right channel of stereo content, respectively. As another example, the audio driver may form sound axes corresponding to respective channels (e.g., a center channel, a front left channel, a front right channel, a rear left channel, and a rear right channel) of surround sound content.
Arranging two or more audio drivers to form a given sound axis may enable the two or more audio drivers to "steer" the sound output of the given sound axis in a particular direction. For example, where nine audio drivers of a sound bar each contribute a portion of the sound axis corresponding to the left channel of surround sound content, the nine audio drivers may be arranged in such a way (i.e., summed acoustically, possibly using a DSP): the net polar response (polar response) of the nine audio drivers directs the sound to the left. The nine audio drivers may also form sound axes corresponding to the center channel and the right channel of the surround sound content, simultaneously with the sound axis corresponding to the left channel, to direct sound to the center and right, respectively.
The particular set of sound axes formed by the playback devices of the media playback system may be referred to as a playback configuration. In operation, a playback device of the media playback system may be configured to a given playback configuration of a plurality of possible playback configurations. The audio drivers of the playback devices may form a particular set of sound axes given a playback configuration. In some cases, the configuration of the playback device may be used as a trigger condition to initiate calibration of the playback device.
To illustrate, referring back to fig. 1, the playback devices 104, 106, 108, and 110 of the living room zone may be configured into a plurality of playback configurations. In a first playback configuration, which may be associated with surround sound audio content, the playback device 104 may form one or more sound axes (e.g., front, left, and right channels) while the playback devices 108 and 110 form corresponding sound axes (e.g., left and right surround channels). The playback device 110, which is a subwoofer-type device, may contribute a separate low frequency sound axis or a low frequency portion of the sound axis formed by the playback devices 104, 106 and/or 108. In another playback configuration, the audio drivers of playback devices 104, 106, 108, and 110 may combine to form sound axes corresponding to left and right channels of stereo audio content. Another playback configuration may involve: the audio drivers form a single sound axis corresponding to the mono audio content.
In operation, a playback device may utilize a given playback configuration depending on various factors. Such factors may include zone configuration (e.g., whether the playback device is in a 5.1, 5.0 or other surround sound configuration, stereo pairing configuration, playbar-only configuration, etc.). These factors may also include the particular type and capabilities of the playback device. These factors may also include the particular type of content that is provided to (or expected to be provided by) the playback device. For example, the playback device may employ a first playback configuration when playing surround sound content and a further playback configuration when playing stereo content. As another example, a playback device may use a given playback configuration when playing music and another playback configuration when playing audio (e.g., television content) paired with video. Further example playback configurations include any of the above example configurations with (or without) a subwoofer-type playback device, as adding (or subtracting) such devices from the playback configuration can change the acoustic characteristics and/or allocation of playback responsibilities in the playback configuration.
Some example calibration sequences involve: the playback device is calibrated for a plurality of playback configurations. Such a calibration sequence may produce a plurality of calibration profiles (profiles) that are applied to playback devices in a given playback configuration. For example, a given calibration process may calibrate the living room zone of the media playback system 100 for a surround sound playback configuration and a music playback configuration. In the surround-sound playback configuration, the playback devices of the living room zone may apply a first calibration profile (e.g., one or more filters that adjust one or more of amplitude response, frequency response, phase, etc.) corresponding to the surround-sound playback configuration. Likewise, in the music playback configuration, the playback device of the living room zone may apply a second calibration profile corresponding to the music playback configuration.
b.Causing multiple audio drivers to emit calibration audio
In fig. 13, at block 1304, implementation 1300 involves causing the plurality of audio drivers to emit calibration audio. For example, the NMD may instruct one or more playback devices that include a plurality of audio drivers to emit calibration audio via the plurality of audio drivers. For example, the control device 126 of the media playback system 100 may send a command that causes a playback device (e.g., one of the playback devices 102-124) to issue calibration audio. The NMD may send the command via a network interface (e.g., a wired network interface or a wireless network interface). The playback device may receive such commands, possibly via a network interface, and responsively issue calibration audio.
The calibration audio may include one or more calibration sounds, such as a frequency sweep ("chirp"), brown noise, or other types of noise or songs, among other example sounds. Additional details regarding example calibration sounds are described above in connection with the example calibration sequences described in section ii.e and generally throughout the entire disclosure.
In some examples, the calibration audio is divided into frames. As shown in fig. 11 and 12 and described herein, a frame may represent an iteration (e.g., a period or loop) of an example calibration sound. When recorded, the frames may produce respective samples of calibration sound as emitted by one or more audio drivers.
As described above, in some cases, the calibration sequence involves calibration of multiple acoustic axes. An example calibration audio for calibrating multiple acoustic axes may be divided into constituent frames, where each frame includes calibration audio for each acoustic axis that is calibrated. Thus, when recorded, each frame may comprise a sample of the calibration audio produced by each acoustic axis. The frame may be repeated to produce multiple samples for each acoustic axis.
To include the calibrated audio for each sound axis being calibrated, each frame may be further divided into time slots. Each time slot may include calibration audio for a respective sound axis being calibrated. For example, an example frame of a play bar type playback device (e.g., playback device 104 shown in fig. 1) that forms three sound axes, such as a left channel, a right channel, and a center channel, may include three time slots. For example, if the device is to be calibrated with a subwoofer type device, each frame may include four time slots, one for each sound axis formed by the play bar type playback device and one for the sound axis produced by the subwoofer. As another example, where a play bar type playback device is calibrated with two additional playback devices that produce respective sound axes (e.g., a left back channel and a right channel), each frame may include five time slots (or six time slots if a subwoofer calibration is utilized).
As described above, each time slot may include the calibrated audio for the respective sound axis being calibrated. The calibration audio in each time slot may include a frequency sweep ("chirp"), brown noise, or other types of noise, among other examples. For example, referring back to fig. 11 and 12, the calibration audio in each sound may include a mixed calibration sound. The time slots may occur sequentially in a known order to facilitate matching the time slots within the recorded calibration audio to the respective acoustic axes. Each time slot may have a known duration, which may also facilitate matching the time slots within the recorded calibration audio to the respective acoustic axes. In other examples, each time slot and/or frame may include a watermark (e.g., a particular sound pattern) identifying the time slot or frame, which may be used to match the time slot within the recorded calibration audio to the corresponding sound axis.
For illustration, fig. 14 shows an example calibration audio 1400. The calibration sound 1400 includes frames 1402, 1404, and 1406. Frames 1402, 1404, and 1406 are divided into respective three respective time slots. In particular, frame 1402 includes time slots 1402A, 1402B, and 1402C. Likewise, frames 1404 and 1406 include slots 1404A, 1404B, and 1404C and 1406A, 1406B, and 1406C, respectively. Each time slot includes an iteration of the mixed calibration sound 1100 of fig. 11. During the calibration process, the calibration sound in each time slot may be emitted by a respective sound axis (possibly formed via a plurality of audio drivers). For example, time slots 1402A, 1404A, and 1406A may correspond to a first acoustic axis (e.g., a left channel), while time slots 1402B, 1404B, and 1406B correspond to a second acoustic axis (and time slots 1402C, 1404C, and 1406C correspond to a third acoustic axis). In this manner, when recorded, the calibration audio 1400 may produce three samples for each acoustic axis, assuming that sufficient portions of the frames 1402, 1404, and 1406 are recorded.
As described above, in some example calibration processes, a playback device of a media playback system may be calibrated for multiple playback configurations. Alternatively, different playback configurations for a set of audio drivers may be calibrated in respective calibration sequences. An example calibration audio for calibrating multiple playback configurations may include a repeating series of frames. Each frame in the series may correspond to a respective playback configuration. For example, an example calibration audio for calibrating three playback configurations may include a series of three frames (e.g., frames 1402, 1404, and 1406 of fig. 14).
As shown in fig. 14, each frame of the series may be divided into time slots corresponding to the sound axis of the playback configuration corresponding to the frame. Since different playback configurations may form different sound axis groups, possibly with different numbers of overall axes, the frames in a series may have different numbers of time slots. The series of frames may be repeated to produce multiple samples for each acoustic axis for each playback configuration.
c.Recording calibration audio
In fig. 13, at block 1306, implementation 1300 involves recording emitted calibration audio. For example, the NMD may record, via a microphone, calibration audio as emitted by a playback device of a media playback system (e.g., media playback system 100). As described above, an example NMD includes a control device (e.g., control device 126 or 128 of fig. 1), a playback device, or any suitable device having a microphone or other sensor to record calibration audio. In some cases, multiple NMDs may record calibration audio via respective microphones.
In practice, some of the calibration sounds may be attenuated or overwhelmed by environmental or other conditions, which may interfere with the recording device that records the entire calibration sound. In this way, the NMD may measure a portion of the calibration sound as emitted by the playback device of the media playback system. The calibration audio may be any of the example calibration sounds described above with respect to the example calibration process, as well as any suitable calibration sound.
In some cases, one or more NMDs may remain more or less stationary while the calibration audio is recorded. For example, the NMD may be located at one or more specific locations (e.g., preferred listening locations). Such positioning may help to record calibration audio as perceived by the listener at that particular location.
Certain playback configurations may suggest a particular preferred listening position. For example, a playback configuration corresponding to surround sound audio or audio coupled with video may suggest a location where a user will watch television (e.g., on a couch or chair) while listening to the playback device. In some examples, the NMD may prompt movement to a particular location (e.g., a preferred listening location) to begin calibration. When multiple playback configurations are calibrated, the NMD may prompt movement to certain listening positions corresponding to each playback configuration.
To illustrate such a prompt, in fig. 15, smartphone 500 is displaying a control interface 1500 that includes a graphics area 1502. The graphical area 1502 prompts movement to a particular location (i.e., where the user is typically watching television in a room). Such a prompt may be displayed to guide the user to begin the calibration sequence at the preferred location. Control interface 1500 also includes selectable controls 1504 and 1506 that advance and retract, respectively, in the calibration sequence.
Fig. 16 depicts a smartphone 500 displaying a control interface 1600 that includes a graphics area 1602. The graphical area 1602 prompts the user to raise the recording device to a gaze level. Such prompts may be displayed to guide the user in positioning the phone at a location that facilitates measurement of the calibration audio. Control interface 1600 also includes selectable controls 1604 and 1606 that advance and retract, respectively, in a calibration sequence.
Next, fig. 17 depicts smartphone 500 displaying a control interface 1700 that includes a graphical region 1702. The graphical region 1702 prompts the user to "set the optimal location" (i.e., the preferred location in the environment). After the smartphone 500 detects selection of the selectable control 1704, the smartphone 500 may begin measuring calibration sounds (and possibly also instruct one or more playback devices to output calibration audio) at its current location. As shown, the control interface 1700 also includes a selectable control 1706 that advances the calibration sequence (e.g., by causing the smartphone to begin measuring the calibration sound at its current location, such as with selectable control 1704).
In fig. 18, the smartphone 500 displays a control interface 1800 that includes a graphics area 1802. Graphical area 1802 indicates that smartphone 500 is recording calibration audio. The control interface 1800 also includes a selectable control 1804 that steps back through the calibration sequence.
d.Such that the recorded calibration audio is processed
In fig. 13, at block 1308, implementation 1300 involves causing the recorded calibration audio to be processed. For example, the NMD may cause the processing device to process the recorded calibration audio. In some cases, the NMD may include a processing device. Alternatively, the NMD may send the recorded audio to one or more other processing devices for processing. Example processing devices include a playback device, a control device, a computing device connected to a media playback system via a local area network, a remote computing device such as a cloud server, or any combination of the above.
The process of calibrating the audio may involve: one or more calibrations are determined for each of the plurality of acoustic axes. Each calibration of the plurality of acoustic axes may involve: modifying one or more of an amplitude response, a frequency response, a phase adjustment, or any other acoustic characteristic. Such modification may spatially calibrate multiple acoustic axes to one or more locations (e.g., one or more preferred listening locations).
Such modifications may be applied using one or more filters implemented in the DSP or as analog filters. The calibration data may include parameters for implementing the filter (e.g., as coefficients of a biquad filter). The filters may be applied per audio driver or per group of two or more drivers (e.g., two or more drivers forming a sound axis or two or more of the same type of audio drivers, among other examples). In some cases, respective calibrations may be determined for multiple playback configurations under calibration.
The recorded calibration audio may be processed at the time of recording or after the recording is complete. For example, where the calibration audio is divided into frames, the frames may be sent to the processing device as they are recorded, possibly in the form of a set of frames. Alternatively, the recorded frames may be sent to the processing device after the playback device has finished emitting the calibration audio.
The processing may involve determining a respective delay for each of a plurality of acoustic axes. Ultimately, such delays may be used to align the arrival times of the respective sounds from each acoustic axis at a particular location (e.g., a preferred listening position). For example, the calibration profile for a given playback configuration may include a filter that delays certain sound axes of the playback configuration to align the arrival times of the sound axes of the playback configuration at the preferred listening position. The sound axes may have different arrival times at a particular location because they are formed by audio drivers at different distances from the particular location. Furthermore, some sound axes may be directed away from a particular location (e.g., the left and right channels of a soundbar type playback device) and thus reflected by the environment before reaching the particular location. Such a sound path may increase the effective distance between the audio driver forming the sound axis and the specific location, which may result in a later arrival time compared to a sound axis having a more direct path. As described above, such a preferred listening position may be a sofa or chair for a surround sound playback configuration.
In an example, the processing device may divide the recorded audio into portions corresponding to different sound axes and/or playback configurations from which each portion is emitted. For example, where the calibration sound emitted by the playback device is divided into frames, the processing device may divide the recorded audio into constituent frames. Where the calibration sound comprises a series of frames, the processing device may attribute the frames from each series to the respective playback configurations corresponding to those frames. Further, the processing device may divide each frame into respective time slots corresponding to each acoustic axis. As described above, the playback device may issue frames and time slots in a known order, and each time slot may have a known duration to facilitate dividing the recorded audio into its constituent parts. In some examples, each time slot and/or frame may include a watermark for identifying the time slot or frame, which may be used to match frames within the recorded calibration audio to a respective playback configuration and/or to match time slots to a respective sound axis.
The processing device may determine an impulse response for each acoustic axis. Each impulse response may be further processed by generating a frequency filter response to divide the impulse response into frequency bands. Different types of audio drivers may be better aligned at different frequency bands. For example, mid-range woofers may be well aligned to form an acoustic axis in the range of 300Hz to 2.5 kHz. As another example, the tweeter may be well aligned in the range of 8kHz to 14 kHz. In the case where the example acoustic axis is configured to form the center channel of a surround sound configuration, the acoustic axis should be axially largest and attenuated to the right and left. Conversely, for the sound axes of the left and right channels forming a surround sound configuration, each array should be attenuated on axis (e.g., zero) and maximum to the left or right, respectively. Outside certain ranges, such as those provided above, the audio driver may also not form the sound axis in the intended direction. These frequency ranges are provided by way of example and may vary depending on the capabilities and characteristics of different audio drivers.
As another example, in a playback device having multiple audio drivers of different types (e.g., tweeter and woofer), the processing device may determine three band-limited responses. Such responses may include full range responses, responses covering the mid-range of the woofer (e.g., 300Hz to 2.5kHz), and responses covering the high frequencies of the tweeter (e.g., 8kHz to 14 kHz). Such a frequency filter response may facilitate further processing by more clearly representing each acoustic axis.
Processing the recorded audio may involve a comparison between the responses of each of the sound axes. To facilitate such comparisons, the impulse responses for each time slot may be time aligned with each other (as they are issued during different time periods). For example, the impulse response may be aligned with a first reference point, e.g., the beginning of each time slot. Such temporal alignment of the impulse responses facilitates identification of a particular reference point in each response.
In an example implementation, the identification of a particular reference point in each response involves: a given second reference point in the impulse response of the reference acoustic axis is identified. As an example, the reference sound axis may be a sound axis corresponding to a center channel of a surround sound system (e.g., 3.0, 3.1, 5.0, 5.1, or other multi-channel playback configuration). This sound axis may be used as a reference sound axis because sound from this axis travels more directly to the general preferred listening position than other sound axes (e.g., the sound axes forming the left and right channels). The given second reference point in the impulse response may be the first peak. It can be assumed that the first peak corresponds to a direct signal (rather than a reflection) from one or more audio drivers to the NMD. This given second reference point (i.e. the first peak) is used as a reference for the subsequent arrival times of the other acoustic axes at the NMD.
To compare the arrival times of the other acoustic axes at the NMD with the arrival times of the reference acoustic axis at the NMD, the processing device may identify a second reference point in the other impulse responses. These other second reference points correspond to the same second reference points in the reference acoustic axis. For example, if a first peak in the impulse response of the reference acoustic axis is used as a given second reference point, first peaks in other impulse responses are identified as second reference points.
Given the approximate physical configuration of the multiple audio drivers, a time window may be applied to limit the portion of each impulse response for which the second reference point is to be identified. For example, where the acoustic axes form a left channel, a right channel, and a center channel, the impulse responses forming the acoustic axes of the left and right channels may be limited to a time window after a peak in the impulse response forming the acoustic axis of the center channel. Sound from the axes forming the left and right channels travels outwards, to the left and to the right (rather than on axes), so the peak of interest will be the reflection of sound from these axes by the environment. However, the sound axes forming the left surround channel and/or the right surround channel and/or the subwoofer channel may be physically closer to the NMD than the one or more audio drivers forming the center channel. Thus, the window of impulse responses corresponding to those axes may include times before and after a given reference point in the reference acoustic axis to account for the possibility of positive or negative delays relative to the reference acoustic axis.
Once the respective second reference points in the impulse response are identified, the respective times of arrival of the sound from each acoustic axis at the NMD (i.e., the microphone of the NMD) can be determined. In particular, the processing device may determine the respective times of arrival at the microphones by comparing respective differences of the first reference point and the second reference point in each impulse response.
Having determined the respective times of arrival at the NMD of the sounds from each of the acoustic axes, the processing device may determine a respective delay to be applied to each of the acoustic axes. The processing device may determine a delay relative to a delay target. The delay target may be the acoustic axis with the latest arrival time. The acoustic axis used as the target of the delay may not receive any delay. Delays may be assigned to other axes to match the arrival times of the axes used as delay targets. The acoustic axis forming the center channel cannot be used as a delay target in some cases because an acoustic axis with a later arrival time cannot be assigned a "negative" delay to match the arrival time of the acoustic axis forming the center channel.
In some cases, the delay for any given acoustic axis may be capped (cap) at a maximum delay threshold. Such capping may prevent the following problems: the large amount of delay causes a significant mismatch between the audio content output by the sound axis and the video content coupled to the audio content (e.g., lip sync problems). Such capping may only apply to playback configurations that include audio paired with video, as large delays may not impact the user experience when audio is not paired with video. Alternatively, if the video display is synchronized with one or more playback devices, the video may be delayed to avoid a significant mismatch between the audio content output by the sound axis and the video content coupled to the audio content, which may eliminate the need for a maximum delay threshold.
As described above, the NMD recording the calibration audio may not perform some portion of the processing (or may not process the calibration audio at all). In particular, the NMD may send data representing the recorded calibration audio to the processing device, possibly with one or more instructions on how to process the recorded calibration audio. In other cases, the processing device may be programmed to process the recorded calibration audio using certain techniques. In such embodiments, sending data representative of the recorded calibration audio (e.g., data representative of raw samples of the calibration audio and/or data representative of partially processed calibration audio) may cause the processing device to determine a calibration profile (e.g., filter parameters).
e.So as to calibrate a plurality of sound axes
In fig. 13, at block 1310, implementation 1300 involves causing calibration of a plurality of acoustic axes. For example, the NMD may send calibration data to one or more playback devices that form multiple sound axes. Alternatively, the NMD may instruct another processing device to transmit the calibration data to the playback device. Such calibration data may cause one or more playback devices to calibrate multiple sound axes to a particular response.
As described above, calibration of multiple acoustic axes may involve: modifying one or more of an amplitude response, a frequency response, a phase adjustment, or any other acoustic characteristic. Such modifications may be applied using one or more filters implemented in the DSP or as analog filters. The calibration data may include parameters for implementing the filter (e.g., as coefficients of a biquad filter). The filters may be applied per audio driver or per group of two or more drivers (e.g., two or more drivers forming a sound axis or two or more of the same type of audio drivers, among other examples).
Calibrating the plurality of acoustic axes may include: audio output for the plurality of acoustic axes is delayed according to the respective determined delays for the acoustic axes. Such a delay may be formed by having the respective filters delay the audio output of the plurality of audio drivers according to the respective determined delays of the plurality of acoustic axes. Such filters may implement a circular buffer delay line, among other examples.
In some cases, the delay is dynamic. For example, the response of one axis may overlap the response of the other axis within a given range, but the acoustic axes may have different arrival times (thus indicating different delays). In such a case, the delay of each acoustic axis can be smoothed within the overlap range. For example, a delay profile may be implemented within a range to smooth the delay. Such smoothing may improve the user experience by avoiding the potentially significant difference in delay between the acoustic axes in the overlapping range.
As described above, in some cases, sound produced by certain sound axes may have been previously reflected by the environment.
Example techniques to facilitate spectral calibration using applied spatial calibration
As described above, embodiments described herein may facilitate calibration of one or more playback devices. Fig. 19 shows an example implementation 1900 by which a playback device facilitates spectral calibration using an applied spatial calibration.
a.Receiving data representing one or more spatial calibrations
At block 1902, the implementation 1900 involves: data representing one or spatial calibration is received. For example, a playback device (e.g., any playback device of media playback system 100 in fig. 1 or playback device 300 in fig. 3) may receive data representing one or more spatial calibrations (e.g., any of the plurality of calibrations described above in connection with implementation 1300 of fig. 13) from a device such as a processing device or NMD, among other possible sources, via a network interface. Each calibration may be predetermined by a calibration sequence, such as the example calibration sequences described above.
The calibration may include one or more filters. Such filters may modify one or more of the amplitude response, frequency response, phase adjustment, or any other acoustic characteristic. Further, such filters may calibrate the calibrated one or more playback devices to one or more particular listening positions within the listening area. As described above, the filter may be implemented in the DSP (e.g., as coefficients of a biquad filter) or as an analog filter, or a combination thereof. The received calibration data may include a filter for each audio channel, axis, or device being calibrated. Alternatively, the filter may be applied to more than one audio channel, axis or device.
In some cases, the multiple calibrations may correspond to respective playback configurations. As described above, the playback configuration refers to a specific sound axis set formed by a plurality of audio drivers. Further, example spatial calibrations may include calibrations of the audio driver in multiple playback configurations. Thus, there may be more than one filter (or set of filters) for each audio channel, axis or device. Each filter (or set of filters) may correspond to a different playback configuration.
As described above, the playback configuration may involve a change in the allocation of audio drivers to form the sound axes. Each sound axis in the playback configuration may correspond to a respective input channel of the audio content. Example playback configurations may correspond to different numbers of input channels, such as mono, stereo, surround sound (e.g., 3.0, 5.0, 7.0), or any of the above in combination with subwoofers (e.g., 3.1, 5.1, 7.1). Other playback configurations may be based on the input content type. For example, an example playback configuration may correspond to input audio content including music, home theater (i.e., audio paired with video), surround sound audio content, spoken language, and so forth. These example playback configurations should not be considered limiting. The received calibration may include one or more filters corresponding to any individual playback configuration or any combination of playback configurations.
The playback device may maintain these calibrations in the data store. Alternatively, such calibration may be maintained on a device or system communicatively coupled to the playback device via a network. The playback device may receive the calibration from the device or system, possibly upon request from the playback device.
b.Causing one or more audio drivers to output calibration audio
In fig. 19, at block 1904, implementation 1900 involves causing one or more audio drivers to output calibration audio. For example, the playback device may cause the audio stage to drive an audio driver to output the calibration audio. An example audio stage may include one or more amplifiers, signal processing (e.g., a DSP), and possibly other components. In some cases, the playback device may instruct the calibrated other playback device to output calibration audio, possibly while acting as a group coordinator for the calibrated playback device.
The calibration audio may include one or more calibration sounds, such as a frequency sweep ("chirp"), brown noise, or other types of noise or songs, among other examples. Additional details regarding the example calibration sound are noted above in connection with the example calibration sequence described above.
The calibration audio may be divided into frames. As shown in fig. 11 and 12 and described herein, a frame may represent an iteration of an example calibration sound. When recorded, the frames may produce respective samples of calibration sound as emitted by one or more audio drivers. The frame may be repeated to produce a plurality of samples.
As described above, the calibration sequence may involve calibration of multiple acoustic axes. In such a case, the calibration audio output may be divided into constituent frames, where each frame includes calibration audio for each sound axis being calibrated. Thus, when recorded, each frame may comprise a sample of the calibration audio produced by each acoustic axis. The frame may be repeated to produce multiple samples for each acoustic axis.
As described above, in some example calibration processes, a playback device of a media playback system may be calibrated for a plurality of playback configurations. Alternatively, different playback configurations of a set of audio drivers may be calibrated in respective calibration sequences. An example calibration audio for calibrating multiple playback configurations may include a repeating set of frames. Each frame in the set may correspond to a respective playback configuration. For example, an example calibration audio for calibrating three playback configurations may include a series of three frames (e.g., frames 1402, 1404, and 1406 of fig. 14).
During each frame, the playback device may apply a spatial calibration corresponding to the respective playback configuration. Applying spatial calibration may involve: the audio stage (or stages) is caused to apply one or more respective filters corresponding to each playback configuration. When the input signal passes through the one or more filters, a calibration is applied to modify one or more of the amplitude response, frequency response, phase adjustment, or any other acoustic characteristic of the one or more audio drivers when the calibration audio is emitted. As described above, such filters may modify the emitted calibration audio to accommodate a particular listening position. For example, an example spatial filter may at least partially balance the arrival times of sounds from multiple acoustic axes at a particular listening position.
In other implementations, the spatial calibration may be applied to the calibration audio by a device other than the playback device. The spatial calibration may be applied by any device that stores calibration audio and/or generates calibration audio for output by an audio driver using a processor or DSP of the device. Furthermore, the spatial calibration may be applied by any intermediate device between the device storing the calibration audio and the one or more playback devices being calibrated.
To include the calibrated audio for each sound axis being calibrated, each frame may be further divided into time slots. Each time slot may include calibration audio for a respective sound axis being calibrated. For example, an example frame of a play bar type playback device (e.g., playback device 104 shown in fig. 1) that forms three sound axes, such as a left channel, a right channel, and a center channel, may include three time slots. For example, if the device is to be calibrated with a subwoofer type device, each frame may include four time slots, one for each sound axis formed by the play bar type playback device and one for the sound axis produced by the subwoofer. As another example, where a play bar type playback device is calibrated with two additional playback devices that produce respective sound axes (e.g., surround left and surround right channels), each frame may include five time slots (or six time slots if a subwoofer calibration criterion is utilized). FIG. 14 shows an example calibration audio with component frames divided into time slots.
As described above, each time slot may include the calibrated audio for the respective sound axis being calibrated. The calibration audio in each time slot may include a frequency sweep ("chirp"), brown noise, or other types of noise, among other examples. For example, as shown in fig. 11 and 12, the calibration audio in each sound may include a mixed calibration sound. The time slots may occur sequentially in a known order to facilitate matching the time slots within the recorded calibration audio to the respective acoustic axes. Each time slot may have a known duration, which may also facilitate matching the time slots within the recorded calibration audio to the respective acoustic axes. In other examples, each time slot and/or frame may include a watermark (e.g., a particular sound pattern) identifying the time slot or frame, which may be used to match the time slot within the recorded calibration audio to the corresponding sound axis.
c.Receiving data representing one or more spectral alignments
In FIG. 19, at block 1906, implementation 1900 involves receiving data representing one or spectral calibrations. For example, the playback device may receive data representing one or more spectral calibrations from the processing device. These spectral calibrations may be based on calibrated audio output by one or more audio drivers. In particular, the calibration audio output from the one or more audio drivers may be recorded by one or more recording devices (e.g., NMDs). Before being recorded, the calibration audio may be interacted with (e.g., reflected or absorbed by) the surrounding environment and thus may represent a characteristic of the environment.
Example spectral calibration may compensate for acoustic characteristics of the environment to achieve a given response (e.g., a flat response, a response considered desirable, or setting an equalization). For example, if a given environment attenuates frequencies of about 500Hz and amplifies frequencies of about 14000Hz, the calibration may boost frequencies of about 500Hz and subtract frequencies of about 14000Hz to compensate for these environmental effects.
Some example techniques for determining Calibration are described in U.S. patent application No. 13/536,493, entitled "System and Method for Device Playback Calibration" and published as US 2014/0003625a1, filed on 28/6/2012, the entire contents of which are incorporated herein. Example techniques are described in paragraphs [0019] to [0025] and [0068] to [0118] and generally throughout the specification.
Other example techniques for determining calibration are described in U.S. patent application No. 14/216,306, entitled "Audio Settings Based On Environment," filed 3, month 17, 2014 and published as US 2015/0263692a1, the entire contents of which are incorporated herein. Exemplary techniques are described in paragraphs [0014] to [0025] and [0063] to [0114] and generally throughout the specification.
Another example technique for determining Calibration is described in U.S. patent application No. 14/481,511, entitled "Playback Device Calibration," and published as US 2016/0014534a1, filed 9/2014, the entire contents of which are incorporated herein. Exemplary techniques are described in paragraphs [0017] to [0043] and [0082] to [0184] and generally throughout the specification.
Example processing devices include NMDs, other playback devices, control devices, computing devices connected to a media playback system via a local area network, remote computing devices such as a cloud server, or any combination of the above. In some cases, one or more processing devices may transmit the spatial calibration to one or more intermediary devices, which may transmit the spatial calibration to the playback device. Such an intermediate device may store data representing one or more spatial calibrations.
d.Using specific spectral filters
At block 1908, implementation 1900 involves applying the specific spectral calibration. For example, when playing back audio content in a given playback configuration, the playback device may apply a particular filter corresponding to the given playback configuration. The playback device may maintain or have access to respective spectral calibrations corresponding to a plurality of playback configurations.
In some examples, the playback device may be instructed to enter a particular playback configuration and to apply a particular calibration corresponding to that playback configuration accordingly. For example, the control device may send commands to form a particular set of sound axes corresponding to a given playback configuration.
Alternatively, the playback device may detect an appropriate spectral calibration to apply based on its current configuration. As described above, the playback device may be incorporated into various packets such as a granule or a bound zone. Each packet may represent a playback configuration. In some implementations, when incorporated into a packet with additional playback devices, the playback device may apply a particular calibration associated with the playback configuration of the packet. For example, based on detecting that the playback device has bonded to a particular granule, the playback device may apply a particular calibration associated with the granule (or with the particular granule).
The playback device may detect a spectral calibration to apply based on audio content provided to (or having been instructed to play back by) the playback device. For example, a playback device may detect that it is playing back media content (e.g., music) that consists of audio only. In this case, the playback device may apply a particular calibration associated with the playback configuration corresponding to music playback. As another example, a playback device may receive media content (e.g., a television program or movie) associated with both audio and video. When playing back such content, the playback device may apply a particular calibration corresponding to audio paired with the video, or possibly a calibration corresponding to home theater (e.g., surround sound).
The playback device may apply a particular calibration based on the source of the audio content. Receiving content via a particular one of these sources may trigger a particular playback configuration. For example, receiving content via a network interface may indicate music playback. As such, when receiving content via the network interface, the playback device may apply a particular calibration associated with a particular playback configuration corresponding to music playback. As another example, receiving content via a particular physical input may indicate home theater use (i.e., playback of audio from a television program or movie). Upon playback of content from the input, the playback device may apply different calibrations associated with the playback configuration corresponding to home theater playback.
A given zone scene may be associated with a particular playback configuration. Upon entering a particular zone scenario and thus entering a particular playback configuration, the playback device may apply a particular calibration associated with that playback configuration. Alternatively, the content or configuration associated with the zone scene may cause the playback device to apply a particular calibration. For example, a zone scene may relate to the playback of a particular media content or content source, which causes the playback device to apply a particular calibration.
In a further example, the playback configuration may be indicated to the playback device by means of one or more messages from the control device or a further playback device. For example, upon receiving an input selecting a particular playback configuration, the device may indicate to the playback device that the particular playback configuration was selected. The playback device may apply a calibration associated with the playback configuration. As another example, the playback device may be a member of a group such as a bound group. Another playback device, such as a group coordinator device of the group, may detect the playback configuration of the group and send a message to the playback device indicating the playback configuration (or calibration for the configuration).
In some cases, the playback device may also apply the calibration to one or more additional playback devices. For example, the playback device may be a member of a group (e.g., a granule) (e.g., a group coordinator). The playback device may send a message indicating that the other playback devices in the group apply the calibration. Upon receiving such a message, the playback devices may apply the calibration.
In some examples, the calibration or calibration state may be shared among devices of the media playback system using one or more state variables. Some example techniques involving calibrating State variables are described in U.S. patent application No. 14/793,190 entitled "Calibration State Variable" filed on 7/2015 and U.S. patent application No. 14/793,205 entitled "Calibration Indicator" filed on 7/2015, the entire contents of which are incorporated herein. V. example techniques for facilitating spectral calibration using applied spatial calibration
As described above, embodiments described herein may facilitate calibration of one or more playback devices. Fig. 20 illustrates an example implementation 200 by which an NMD facilitates spectral calibration of a media playback system using an applied spatial calibration.
a.Detecting a trigger condition
At block 2002, implementing 2000 involves detecting a trigger condition to initiate calibration. For example, the NMD may detect a trigger condition that initiates calibration of the media playback system. The trigger condition may explicitly or perhaps because one or more audio drivers of one or more playback devices have been set with multiple playback configurations, initiate calibration of one or more playback devices in the media playback system for the multiple playback configurations. Example trigger conditions for initiating calibration are described in section iii.a above and generally throughout the disclosure.
b.Causing one or more audio drivers to output calibration audio
In fig. 20, at block 2004, implementation 2000 involves causing one or more audio drivers to output calibration audio. For example, the NMD may cause a plurality of audio drivers to output calibration audio. The NMD may send instructions to the calibrated playback device via a network interface. Example calibration audio is described above in connection with example calibration techniques.
c.Recording calibration audio
In fig. 20, at block 2006, implementation 2000 involves recording calibration audio. For example, the NMD may record, via the microphone, calibration audio as output by one or more audio drivers of the one or more playback devices under calibration. In some cases, multiple NMDs may record calibration audio via respective microphones.
The NMD can be moved within the environment while recording the calibration audio to measure the calibration sounds at different locations. With a moving microphone, repetitions of calibration sounds are detected at different physical locations within the environment. Samples of calibration sound at different locations may provide a better representation of the surrounding environment than samples in one location. For example, referring back to fig. 7, the control device 126 of the media playback system 100 may detect calibration audio emitted by one or more playback devices (e.g., the playback devices 104, 106, 108, and/or 110 of the living room zone) at different points along the path 700 (e.g., at point 702 and/or point 704). Alternatively, the control device may record the calibration signal along the path.
In this way, the NMD may display one or more prompts to move the NMD while the calibration audio is being emitted. Such a prompt may guide the user to move the recording device during calibration. To illustrate, in fig. 21, smartphone 500 is displaying a control interface 2100 that includes graphics areas 2102 and 2104. Graphic area 2102 prompts for viewing of animations in graphic area 2104. Such an animation may depict an example of how to move the smartphone within the environment during calibration to measure calibration audio at different locations. While an animation is shown in the graphical area 2104 by way of example, the control device may alternatively show a video or other indication that illustrates how to move the control device within the environment during calibration. The control interface 2100 also includes selectable controls 2106 and 2108 that advance and retract, respectively, in a calibration sequence.
Other examples for recording calibration audio are described in section iii.a above and generally throughout the disclosure.
d.Determining one or more spectral calibrations
At block 2008, implementing 2000 involves determining a spectral calibration. For example, the NMD may cause the processing device to determine respective sets of spectral filters for the calibrated plurality of playback configurations. These spectral calibrations may be based on recorded calibration audio output by one or more audio drivers. In some cases, the NMD may include a processing device. Alternatively, the NMD may send the recorded audio to one or more other processing devices. Example processing devices and processing techniques are described above.
When the media playback system plays back audio content in a given playback configuration, the NMD may apply a particular calibration (e.g., a particular set of spectral filters) corresponding to the given playback configuration to the sound axis formed by the plurality of audio drivers. Further examples of applying calibration are described above.
Conclusion VI
The above description discloses, among other things, various example systems, methods, apparatus, and articles of manufacture including firmware and/or software executed on hardware, as well as other components. It should be understood that such examples are merely illustrative and should not be considered as limiting. For example, it is contemplated that any or all of the firmware, hardware, and/or software aspects or components could be embodied exclusively in hardware, exclusively in software, exclusively in firmware, or in any combination of hardware, software, and/or firmware. Accordingly, the examples provided are not the only way to implement such systems, methods, apparatuses, and/or articles of manufacture.
(feature 1) a method comprising: detecting a trigger condition that initiates calibration of a media playback system that includes a plurality of audio drivers that form a plurality of sound axes, each sound axis corresponding to a respective channel of multi-channel audio content; causing, via a network interface, the plurality of audio drivers to emit calibration audio divided into component frames, the plurality of sound axes emitting calibration audio during respective time slots of each component frame; recording the emitted calibration audio via a microphone; causing a respective delay for each of the plurality of acoustic axes to be determined based on a time slot of the recorded calibration audio corresponding to the acoustic axis; and causing calibration of the plurality of acoustic axes, wherein calibrating the plurality of acoustic axes comprises: such that audio output for the plurality of acoustic axes is delayed according to the respective determined delays.
(feature 2) the method of feature 1, wherein causing the determination of the respective delay for each of the plurality of acoustic axes comprises: causing a processing device to determine a respective arrival time at the microphone for each of the plurality of acoustic axes from the time slot corresponding to each acoustic axis in which calibration audio was recorded; and causing a delay to be determined for each of the plurality of acoustic axes, each determined delay corresponding to a determined time of arrival for the respective acoustic axis.
(feature 3) the method of feature 2, wherein causing the audio output for the plurality of sound axes to be delayed according to the respective determined delays comprises: causing respective filters to delay audio output of the plurality of audio drivers according to the respective determined delays of the plurality of acoustic axes.
(feature 4) the method of feature 2, wherein NMD includes the processing device, and wherein causing the processing device to determine the respective arrival time at the microphone for each of the plurality of acoustic axes comprises: dividing the recorded calibration audio into component frames and dividing each component frame into respective time slots for each acoustic axis; determining a respective impulse response for each acoustic axis from a respective time slot corresponding to the acoustic axis; aligning the respective impulse responses to a first reference point; identifying a respective second reference point in each impulse response; and determining a respective time of arrival at the microphone based on a respective difference of the first reference point and the second reference point in each impulse response.
(feature 5) the method of feature 4, wherein the acoustic axis consists of a reference acoustic axis and one or more other acoustic axes, and wherein identifying the respective second reference points in each impulse response comprises: identifying a peak in the impulse response of the reference acoustic axis as a given second reference point; and identifying, in a time window after the given second reference point, respective peaks of the impulse responses of the one or more other acoustic axes as other second reference points.
(feature 6) the method of feature 2, wherein the processing device is connected to an NMD via one or more networks, and wherein causing the processing device to determine the respective arrival time at the microphone for each of the plurality of acoustic axes comprises: transmit, to the processing device via the network interface, (i) the recorded calibration audio, and (ii) instructions to determine a respective arrival time at the microphone for each of the plurality of acoustic axes; and receiving the determined respective arrival times via the network interface.
(feature 7) the method of feature 1, wherein each of the plurality of sound axes corresponds to a respective channel of surround sound audio content.
(feature 8) the method of feature 7, wherein the media playback system includes a plurality of playback devices, each playback device including a subset of the plurality of audio drivers.
(feature 9) the method of feature 8, wherein the plurality of playback devices includes a given playback device that includes a particular subset of the plurality of audio drivers, wherein the particular subset of the plurality of audio drivers forms three sound axes that respectively correspond to a left channel of the surround-sound audio content, a right channel of the surround-sound audio content, and a center channel of the audio content.
(feature 10) the method of feature 1, wherein detecting the trigger condition to initiate calibration of a media playback system comprises: input data indicative of a command to initiate calibration of the media playback system is detected via a user interface.
(feature 11) the method of feature 1, wherein detecting the trigger condition to initiate calibration of the media playback system comprises: detecting a configuration of the media playback system as a particular axis configuration, wherein the plurality of audio drivers form a particular set of sound axes.
(feature 12) the method of feature 1, wherein causing the determination of the delay for each of the plurality of acoustic axes comprises: determining that the arrival time of a given acoustic axis exceeds a maximum delay threshold; and causing the delay for the given sound axis to be set at a maximum delay threshold when the media playback system is playing back audio content paired with video content.
(feature 13) a tangible, non-transitory computer-readable medium storing instructions executable by one or more processors to cause a device to perform the method according to any one of features 1-12.
(feature 14) an apparatus configured to perform the method according to any one of features 1 to 12.
(feature 15) a media playback system configured to perform the method according to any one of features 1 to 12.
(feature 16) a method comprising: receiving, via a network interface, data representing one or more spatial filters corresponding to respective playback configurations, wherein each playback configuration represents a particular set of sound axes formed via one or more audio drivers, and wherein each sound axis corresponds to a respective channel of audio content; causing the one or more audio drivers to output calibration audio via an audio stage, the calibration audio divided into a repeating set of frames comprising a respective frame for each playback configuration, wherein causing the one or more audio drivers to output calibration audio comprises: cause the audio stage to apply a spatial filter corresponding to a respective playback configuration during each frame; receive, via the network interface, data representing one or more spectral filters corresponding to respective playback configurations, the one or more spectral filters based on calibration audio output by the one or more audio drivers; and causing the audio stage to apply a particular spectral filter corresponding to a given playback configuration when audio content is played back in the given playback configuration.
(feature 17) the method of feature 16, wherein receiving data representing one or more spatial filters comprises: receiving data representing one or more spatial filters that calibrate the playback device to a particular listening position within a listening area of the playback device, and wherein receiving data representing one or more spectral filters comprises: receiving data representing one or more spectral filters that compensate for acoustic characteristics of the listening area.
(feature 18) the method of feature 16, wherein receiving data representing one or more spatial filters comprises: receiving data representing one or more sets of spatial filters, each set of spatial filters including a respective spatial filter for each acoustic axis, and wherein receiving data representing one or more spectral filters comprises: data representing one or more sets of spectral filters is received, each spectral filter including a respective spectral filter for each acoustic axis.
(feature 19) the method of feature 18, wherein the one or more spatial filters include at least one of: (i) a first filter corresponding to a mono playback configuration, the one or more audio drivers configured to shape the sound axis to output mono audio content when playing back audio content in the mono playback configuration, (ii) a second filter corresponding to a stereo playback configuration, the one or more audio drivers configured to shape the one or more sound axis to output one or more channels of stereo audio content when playing back audio content in the stereo playback configuration, and (iii) a third filter corresponding to a surround sound playback configuration, the one or more audio drivers configured to shape the one or more sound axis to output one or more channels of surround sound audio content when playing back audio content in the surround sound playback configuration.
(feature 20) the method of feature 18, wherein the mono playback configuration is a first mono playback configuration, the stereo playback configuration is a first stereo playback configuration, and the surround sound playback configuration is a first surround sound configuration, and wherein the one or more spatial filters comprise at least one of: (i) a fourth filter corresponding to a second mono playback configuration, the one or more audio drivers configured to shape a sound axis to output mono audio content in synchronization with a subwoofer device when audio content is played back in the second mono playback configuration, (ii) a fifth filter corresponding to a second stereo playback configuration, the one or more audio drivers configured to shape one or more sound axes to output one or more channels of stereo audio content in synchronization with the subwoofer device when audio content is played back in the second stereo playback configuration, and (iii) a sixth filter corresponding to a second surround sound playback configuration, the one or more audio drivers configured to shape one or more sound axes when audio content is played back in the second surround sound playback configuration, to output one or more channels of surround sound audio content in synchronization with the subwoofer device.
(feature 21) the method of feature 16, wherein the one or more spatial filters include: (i) a first filter corresponding to a music playback configuration, the one or more audio drivers configured to form one or more sound axes to output music content when playing back audio content in the music playback configuration, and (ii) a second filter corresponding to a home theater playback configuration, the one or more audio drivers configured to form one or more sound axes to output audio content paired with video content when playing back audio content in the home theater playback configuration.
(feature 22) the method of feature 16, wherein the one or more audio drivers include a plurality of audio drivers that form a plurality of sound axes in a given playback configuration, and wherein causing the one or more audio drivers to output the calibration audio comprises: causing the plurality of sound axes to output calibration audio during a respective time slot of each frame corresponding to the given playback configuration.
(feature 23) the method of feature 22, wherein each of the plurality of sound axes corresponds to a respective channel of surround sound audio content.
(feature 24) the method of feature 22, wherein each of the plurality of sound axes corresponds to a respective channel of stereo audio content.
(feature 25) the method of feature 16, wherein the one or more audio drivers form a single sound axis in a given playback configuration.
(feature 26) a tangible, non-transitory computer-readable medium storing instructions executable by one or more processors to cause a device to perform the method according to any one of features 16-25.
(feature 27) an apparatus configured to perform the method according to any one of features 16 to 25.
(feature 28) a media playback system configured to perform the method according to any one of features 16 to 25.
(feature 29) a method comprising: detecting a trigger condition that initiates calibration of a media playback system for a plurality of playback configurations, wherein each playback configuration represents a particular set of sound axes formed via a plurality of audio drivers of the media playback system, and wherein each sound axis corresponds to a respective channel of audio content; causing, via a network interface, the plurality of audio drivers to output calibration audio that is divided into a repeating set of frames that includes a respective frame for each playback configuration, wherein causing the plurality of audio drivers to output the calibration audio comprises: causing a respective set of spatial filters to be applied to the plurality of audio drivers during each frame of the set of frames, each set of spatial filters comprising a respective spatial filter for each acoustic axis; recording the calibration audio output by the plurality of audio drivers via a microphone; causing the processing device to determine, based on the recorded calibration audio, respective sets of spectral filters for the plurality of playback configurations, each set of spectral filters including a respective spectral filter for each acoustic axis.
(feature 30) the method of feature 29, further comprising: causing a particular set of spectral filters corresponding to a given playback configuration to be applied to a sound axis formed by the plurality of audio drivers when the media playback system plays back audio content in the given playback configuration.
(feature 31) the method of feature 29, wherein the calibration audio is a second calibration audio, the method further comprising: prior to causing the plurality of audio drivers to output the second calibration audio, causing, via the network interface, the plurality of drivers to output first calibration audio divided into a repeating set of frames that includes a respective frame for each playback configuration of the plurality of playback configurations; recording, via the microphone, the first calibration audio output by the plurality of audio drivers; and causing the processing device to determine the respective sets of spatial filters for the plurality of playback configurations based on the recorded first calibration audio, each set of spatial filters comprising a respective spatial filter for each sound axis.
(feature 32) the method of feature 29, wherein causing the plurality of audio drivers to output the calibration audio comprises: causing the plurality of audio drivers to form respective ones of the plurality of acoustic axes during respective time slots of each frame.
(feature 33) the method of feature 29, wherein the plurality of playback configurations includes two or more of: (i) a mono playback configuration in which the plurality of audio drivers are configured to shape the sound axes to synchronously output mono audio content when audio content is played back in the mono playback configuration, (ii) a stereo playback configuration in which the plurality of audio drivers are configured to shape the sound axes to output channels of stereo audio content when audio content is played back in the stereo playback configuration, and (iii) a surround playback configuration in which the plurality of audio drivers are configured to shape the sound axes to output respective channels of surround sound audio content when audio content is played back in the surround playback configuration.
(feature 34) the method of feature 33, wherein the mono playback configuration is a first mono playback configuration, the stereo playback configuration is a first stereo playback configuration, and the surround sound playback configuration is a first surround sound configuration, wherein the plurality of playback configurations includes at least one of: (i) a second mono playback configuration, in playing back audio content in the mono playback configuration, the plurality of audio drivers configured to form one or more full range and subwoofer sound axes to synchronously output monophonic audio content, (ii) a second stereo playback configuration, the plurality of audio drivers configured to form one or more full range sound axes when playing back audio content in the second stereo playback configuration, to output channels of stereo content audio content in synchronization with a subwoofer sound axis, and (iii) a second surround sound playback configuration, in playing back audio content in the second surround sound playback configuration, the plurality of audio drivers are configured to form one or more full range sound axes, to output the corresponding channels of the surround sound content audio content in synchronization with the subwoofer sound axis.
(feature 35) the method of feature 29, wherein the plurality of playback configurations includes two or more of the following playback configurations: (i) a music playback configuration in which the plurality of audio drivers are configured to form sound axes to output music content when audio content is played back in the music playback configuration, and (ii) a home theater playback configuration in which the plurality of audio drivers are configured to form sound axes to output audio content paired with video content when audio content is played back in the home theater playback configuration.
(feature 36) the method of feature 29, wherein causing the respective set of spatial filters to be applied to the plurality of audio drivers during each frame of the set of frames comprises: cause the processing device to apply the spatial filter to the calibration audio and transmit the spatial filter applied calibration audio to one or more playback devices that include the plurality of audio drivers.
(feature 37) the method of feature 29, wherein the media playback system includes a plurality of playback devices, each playback device including a subset of the plurality of audio drivers.
(feature 38) a tangible, non-transitory computer-readable medium storing instructions executable by one or more processors to cause an apparatus to perform the method according to any one of features 29-37.
(feature 39) an apparatus configured to perform the method according to any one of features 29 to 37.
(feature 40) a media playback system configured to perform the method according to any one of features 29 to 37.
(feature 41) a playback device comprising: (i) a network interface; (ii) an audio stage arranged to drive one or more audio drivers; (iii) one or more processors; (iv) a computer-readable medium having instructions stored thereon, the instructions being executable by the one or more processors to cause the playback device to perform operations comprising: (a) receiving, via the network interface, data representing one or more spatial filters corresponding to respective playback configurations, wherein each playback configuration represents a particular set of sound axes formed via the one or more audio drivers, and wherein each sound axis corresponds to a respective channel of audio content; (b) causing, via an audio stage, the one or more audio drivers to output calibration audio that is divided into a repeating set of frames that includes a respective frame for each playback configuration, wherein causing the one or more audio drivers to output the calibration audio comprises: cause the audio stage to apply the spatial filter corresponding to a respective playback configuration during each frame; (c) receiving, via the network interface, data representing one or more spectral filters corresponding to respective playback configurations, the one or more spectral filters based on the calibration audio output by the one or more audio drivers; and (d) upon playback of audio content in a given playback configuration, cause the audio stage to apply a particular spectral filter corresponding to the given playback configuration.
(feature 42) the playback device of feature 41, wherein receiving data representing one or more spatial filters comprises: receiving data representing one or more spatial filters that calibrate the playback device to a particular listening position within a listening area of the playback device, and wherein receiving data representing one or more spectral filters comprises: receiving data representing one or more spectral filters that compensate for acoustic characteristics of the listening area.
(feature 43) the playback device of feature 41, wherein receiving data representing one or more spatial filters comprises: receiving data representing one or more sets of spatial filters, each set of spatial filters including a respective spatial filter for each acoustic axis, and wherein receiving data representing one or more spectral filters comprises: data representing one or more sets of spectral filters is received, each spectral filter including a respective spectral filter for each acoustic axis.
(feature 44) the playback device of feature 41, wherein the one or more spatial filters include at least one of: (i) a first filter corresponding to a mono playback configuration, the one or more audio drivers configured to shape the sound axis to output mono audio content when playing back audio content in the mono configuration, (ii) a second filter corresponding to a stereo playback configuration, the one or more audio drivers configured to shape the one or more sound axis to output one or more channels of stereo audio content when playing back audio content in the stereo playback configuration, and (iii) a third filter corresponding to a surround sound playback configuration, the one or more audio drivers configured to shape the one or more sound axis to output one or more channels of surround sound audio content when playing back audio content in the surround sound playback configuration.
(feature 45) the playback device of feature 44, wherein the mono playback configuration is a first mono playback configuration, the stereo playback configuration is a first stereo playback configuration, and the surround sound playback configuration is a first surround sound configuration, and wherein the one or more spatial filters comprise at least one of: (i) a fourth filter corresponding to a second mono playback configuration, the one or more audio drivers configured to shape a sound axis to output mono audio content in synchronization with a subwoofer device when audio content is played back in the second mono playback configuration, (ii) a fifth filter corresponding to a second stereo playback configuration, the one or more audio drivers configured to shape one or more sound axes to output one or more channels of stereo audio content in synchronization with the subwoofer device when audio content is played back in the second stereo playback configuration, and (iii) a sixth filter corresponding to a second surround sound playback configuration, the one or more audio drivers configured to shape one or more sound axes when audio content is played back in the second surround sound playback configuration, to output one or more channels of surround sound audio content in synchronization with the subwoofer device.
(feature 46) the playback device of feature 41, wherein the one or more spatial filters include: (i) a first filter corresponding to a music playback configuration, the one or more audio drivers configured to form one or more sound axes to output music content when playing back audio content in the music playback configuration, and (ii) a second filter corresponding to a home theater playback configuration, the one or more audio drivers configured to form one or more sound axes to output audio content paired with video content when playing back audio content in the home theater playback configuration.
(feature 47) the playback device of feature 41, wherein the one or more audio drivers include a plurality of audio drivers that form a plurality of sound axes in a given playback configuration, and wherein causing the one or more audio drivers to output the calibration audio comprises: causing the plurality of sound axes to output calibration audio during a respective time slot of each frame corresponding to the given playback configuration.
(feature 48) the playback device of feature 47, wherein each of the plurality of sound axes corresponds to a respective channel of surround-sound audio content.
(feature 49) the playback device of feature 47, wherein each of the plurality of sound axes corresponds to a respective channel of stereo audio content.
(feature 50) the playback device of feature 41, wherein the one or more audio drivers form a single sound axis in a given playback configuration.
(feature 51) a tangible, non-transitory computer-readable medium storing instructions executable by one or more processors to cause a Networked Microphone Device (NMD) to perform a method comprising: (i) detecting a trigger condition that initiates calibration of a media playback system for a plurality of playback configurations, wherein each playback configuration represents a particular set of sound axes formed via a plurality of audio drivers of the media playback system, and wherein each sound axis corresponds to a respective channel of audio content; (ii) causing, via a network interface, the plurality of audio drivers to output calibration audio that is divided into a repeating set of frames that includes a respective frame for each playback configuration, wherein causing the plurality of audio drivers to output the calibration audio comprises: causing a respective set of spatial filters to be applied to the plurality of audio drivers during each frame of the set of frames, each set of spatial filters comprising a respective spatial filter for each acoustic axis; (iii) recording the calibration audio output by the plurality of audio drivers via the microphone; (iv) causing the processing device to determine, based on the recorded calibration audio, respective sets of spectral filters for the plurality of playback configurations, each set of spectral filters including a respective spectral filter for each acoustic axis.
(feature 52) the tangible, non-transitory computer-readable medium of feature 51, the method further comprising: causing a particular set of spectral filters corresponding to a given playback configuration to be applied to the sound axis formed by the plurality of audio drivers when the media playback system plays back audio content in the given playback configuration.
(feature 53) the tangible, non-transitory computer-readable medium of feature 51, wherein the calibration audio is a second calibration audio, the method further comprising: (i) prior to causing the plurality of audio drivers to output the second calibration audio, causing the plurality of drivers to output, via the network interface, a first calibration audio that is divided into a repeating set of frames that includes a respective frame for each playback configuration of the plurality of playback configurations; (ii) recording, via the microphone, the first calibration audio output by the plurality of audio drivers; and (iii) cause the processing device to determine, based on the recorded first calibration audio, respective sets of spatial filters for the plurality of playback configurations, each set of spatial filters comprising a respective spatial filter for each acoustic axis.
(feature 54) the tangible, non-transitory computer-readable medium of feature 51, wherein causing the plurality of audio drivers to output the calibration audio comprises: causing the plurality of audio drivers to form respective ones of the plurality of acoustic axes during respective time slots of each frame.
(feature 55) the tangible, non-transitory computer-readable medium of feature 51, wherein the plurality of playback configurations includes two or more of the following playback configurations: (i) a mono playback configuration in which the plurality of audio drivers are configured to shape the sound axes to synchronously output mono audio content when audio content is played back in the mono playback configuration, (ii) a stereo playback configuration in which the plurality of audio drivers are configured to shape the sound axes to output channels of stereo audio content when audio content is played back in the stereo playback configuration, and (iii) a surround playback configuration in which the plurality of audio drivers are configured to shape the sound axes to output respective channels of surround sound audio content when audio content is played back in the surround playback configuration.
(feature 56) the tangible non-transitory computer-readable medium of feature 55, wherein the mono playback configuration is a first mono playback configuration, the stereo playback configuration is a first stereo playback configuration, and the surround sound playback configuration is a first surround sound configuration, wherein the plurality of playback configurations includes at least one of the following playback configurations: (i) a second mono playback configuration, in playing back audio content in the mono playback configuration, the plurality of audio drivers configured to form one or more full range and subwoofer axes to synchronously output monophonic audio content, (ii) a second stereo playback configuration, the plurality of audio drivers configured to form one or more full range sound axes when playing back audio content in the second stereo playback configuration, to output channels of stereo content audio content in synchronization with a subwoofer sound axis, and (iii) a second surround sound playback configuration, in playing back audio content in the second surround sound playback configuration, the plurality of audio drivers are configured to form one or more full range sound axes, to output the corresponding channels of the surround sound content audio content in synchronization with the subwoofer sound axis.
(feature 57) the tangible, non-transitory computer-readable medium of feature 51, wherein the plurality of playback configurations includes two or more of the following playback configurations: (i) a music playback configuration in which the plurality of audio drivers are configured to form sound axes to output music content when audio content is played back in the music playback configuration, and (ii) a home theater playback configuration in which the plurality of audio drivers are configured to form sound axes to output audio content paired with video content when audio content is played back in the home theater playback configuration.
(feature 58) the tangible, non-transitory computer-readable medium of feature 51, wherein causing the respective set of spatial filters to be applied to the plurality of audio drivers during each frame of the set of frames comprises: cause the processing device to apply the spatial filter to the calibration audio and transmit the spatial filter applied calibration audio to one or more playback devices that include the plurality of audio drivers.
(feature 59) the tangible, non-transitory computer-readable medium of feature 51, wherein the media playback system comprises a plurality of playback devices, each playback device comprising a subset of the plurality of audio drivers.
(feature 60) a media playback system comprising: (i) one or more playback devices including a plurality of audio drivers forming a plurality of sound axes, each sound axis corresponding to a respective channel of audio content; (ii) a networked microphone device comprising a microphone; (iii) a processor; and (iv) a computer-readable medium having instructions stored thereon, the instructions executable by one or more processors to cause the media playback system to perform a method comprising: (a) detecting a trigger condition that initiates calibration of the media playback system for a plurality of playback configurations, wherein each playback configuration represents a particular set of sound axes formed via the plurality of audio drivers; (b) causing, via a network interface, the plurality of audio drivers to output calibration audio that is divided into a repeating set of frames that includes a respective frame for each playback configuration, wherein causing the plurality of audio drivers to output the calibration audio comprises: causing a respective set of spatial filters to be applied to the plurality of audio drivers during each frame of the set of frames, each set of spatial filters comprising a respective spatial filter for each acoustic axis; (c) recording the calibration audio output by the plurality of audio drivers via the microphone; (d) causing the processing device to determine, based on the recorded calibration audio, respective sets of spectral filters for the plurality of playback configurations, each set of spectral filters including a respective spectral filter for each acoustic axis.
(feature 61) a tangible, non-transitory computer-readable medium storing instructions executable by one or more processors to cause a Networked Microphone Device (NMD) to perform a method comprising: (i) detecting a trigger condition that initiates calibration of a media playback system that includes a plurality of audio drivers that form a plurality of sound axes, each sound axis corresponding to a respective channel of multi-channel audio content; (ii) causing, via a network interface, the plurality of audio drivers to emit calibration audio, the calibration audio divided into component frames, the plurality of sound axes emitting calibration audio during respective time slots of each component frame; (iii) recording the emitted calibration audio via a microphone; (iv) causing a respective delay for each of the plurality of sound axes to be determined based on the time slot of the recorded calibration audio corresponding to the sound axis; and (v) causing calibration of the plurality of acoustic axes, wherein calibrating the plurality of acoustic axes comprises: such that audio output for the plurality of acoustic axes is delayed according to the respective determined delays.
(feature 62) the tangible, non-transitory computer-readable medium of feature 61, wherein causing determination of the respective delay for each of the plurality of acoustic axes comprises: (i) causing a processing device to determine a respective arrival time at the microphone for each of the plurality of acoustic axes from the time slot of the recorded calibration audio corresponding to each acoustic axis; and (ii) cause a delay to be determined for each of the plurality of acoustic axes, each determined delay corresponding to a determined time of arrival for the respective acoustic axis.
(feature 63) the tangible, non-transitory computer-readable medium of feature 62, wherein causing the audio output of the plurality of sound axes to be delayed according to the respective determined delays comprises: causing respective filters to delay audio output of the plurality of audio drivers according to the respective determined delays of the plurality of acoustic axes.
(feature 64) the tangible, non-transitory computer-readable medium of feature 62, wherein the NMD includes the processing device, and wherein causing the processing device to determine the respective arrival time at the microphone for each of the plurality of acoustic axes comprises: (i) dividing the recorded calibration audio into the component frames and dividing each of the component frames into respective time slots for each acoustic axis; (ii) determining a respective impulse response for the acoustic axis from the respective time slot corresponding to the each acoustic axis; (iii) aligning the respective impulse responses to a first reference point; (iv) identifying a respective second reference point in each impulse response; and (v) determining a respective time of arrival at the microphone based on a respective difference of the first reference point and the second reference point in each impulse response.
(feature 65) the tangible non-transitory computer-readable medium of feature 64, wherein the acoustic axis consists of a reference acoustic axis and one or more other acoustic axes, and wherein identifying the respective second reference point in each impulse response comprises: (i) identifying a peak in the impulse response of the reference acoustic axis as a given second reference point; and (ii) identifying, in a time window after the given second reference point, respective peaks of the impulse responses of the one or more other acoustic axes as other second reference points.
(feature 66) the tangible, non-transitory computer-readable medium of feature 62, wherein the processing device is connected to the NMD via one or more networks, and wherein causing the processing device to determine the respective arrival time at the microphone for each of the plurality of acoustic axes comprises: (i) send, via the network interface to the processing device, instructions to (a) the recorded calibration audio and (b) determine a respective arrival time at the microphone for each of the plurality of sound axes; and (ii) receive the determined respective arrival times via the network interface.
(feature 67) the tangible, non-transitory computer-readable medium of feature 61, wherein each of the plurality of sound axes corresponds to a respective channel of surround sound audio content.
(feature 68) the tangible, non-transitory computer-readable medium of feature 67, wherein the media playback system includes a plurality of playback devices, each playback device including a subset of the plurality of audio drivers.
(feature 69) the tangible, non-transitory computer-readable medium of feature 68, wherein the plurality of playback devices includes a given playback device that includes a particular subset of the plurality of audio drivers, wherein the particular subset of the plurality of audio drivers forms three sound axes that respectively correspond to the left channel of the surround-sound audio content, the right channel of the surround-sound audio content, and the center channel of the audio content.
(feature 70) the tangible, non-transitory computer-readable medium of feature 61, wherein detecting the trigger condition to initiate calibration of the media playback system comprises: input data indicative of a command to initiate calibration of the media playback system is detected via the user interface.
(feature 71) the tangible, non-transitory computer-readable medium of feature 61, wherein detecting the trigger condition to initiate calibration of the media playback system comprises: detecting a configuration of the media playback system as a particular axis configuration, wherein the plurality of audio drivers form a particular set of sound axes.
(feature 72) the tangible, non-transitory computer-readable medium of feature 61, wherein causing the determination of the delay for each of the plurality of acoustic axes comprises: (i) determining that the arrival time of a given acoustic axis exceeds a maximum delay threshold; and (ii) when the media playback system is playing back audio content paired with video content, such that the delay for the given sound axis is set at a maximum delay threshold.
(feature 73) a method comprising: (i) detecting a trigger condition that initiates calibration of a media playback system that includes a plurality of audio drivers that form a plurality of sound axes, each sound axis corresponding to a respective channel of multi-channel audio content; (ii) causing, via a network interface, the plurality of audio drivers to emit calibration audio, the calibration audio divided into component frames, the plurality of sound axes emitting calibration audio during respective time slots of each component frame; (iii) recording emitted calibration audio via a microphone of a Networked Microphone Device (NMD); (iv) causing a processing device to determine a respective arrival time at the microphone for each of the plurality of acoustic axes from a time slot of the recorded calibration audio corresponding to the acoustic axis; (v) causing a delay to be determined for each of the plurality of acoustic axes, each determined delay corresponding to a determined arrival time for the respective acoustic axis; and (vi) causing calibration of the plurality of acoustic axes, wherein calibrating the plurality of acoustic axes comprises: such that audio output for the plurality of acoustic axes is delayed according to the respective determined delays.
(feature 74) the method of feature 73, wherein the NMD includes the processing device, and wherein causing the processing device to determine the respective arrival time at the microphone for each of the plurality of acoustic axes comprises: (i) dividing the recorded calibration audio into the component frames and dividing each of the component frames into respective time slots for each acoustic axis; (ii) determining a respective impulse response for each acoustic axis from a respective time slot corresponding to the acoustic axis; (iii) aligning the respective impulse responses to a first reference point; (iv) identifying a respective second reference point in each impulse response; and (v) determining a respective time of arrival at the microphone based on a respective difference of the first reference point and the second reference point in each impulse response.
(feature 75) the method of feature 74, wherein the acoustic axis consists of a reference acoustic axis and one or more other acoustic axes, and wherein identifying the respective second reference points in each impulse response comprises: (i) identifying a peak in the impulse response of the reference acoustic axis as a given second reference point; and (ii) identifying, in a time window after the given second reference point, respective peaks of the impulse responses of the one or more other acoustic axes as other second reference points.
(feature 76) the method of feature 73, wherein the processing device is connected to the NMD via one or more networks, and wherein causing the processing device to determine the respective arrival time at the microphone for each of the plurality of acoustic axes comprises: (i) send, via the network interface to the processing device, (a) the recorded calibration audio, and (b) instructions to determine a respective arrival time at the microphone for each of the plurality of sound axes; and (ii) receive the determined respective arrival times via the network interface.
(feature 77) the method of feature 73, wherein each of the plurality of sound axes corresponds to a respective channel of surround-sound audio content, and wherein the media playback system comprises a plurality of playback devices, each playback device comprising a subset of the plurality of audio drivers.
(feature 78) the method of feature 77, wherein the plurality of playback devices includes a given playback device that includes a particular subset of the plurality of audio drivers, wherein the particular subset of the plurality of audio drivers forms three sound axes that respectively correspond to a left channel of the surround-sound audio content, a right channel of the surround-sound audio content, and a center channel of the audio content.
(feature 79) the method of feature 73, wherein detecting the trigger condition to initiate calibration of the media playback system comprises one of: (a) detect, via a user interface, input data indicative of a command to initiate calibration of the media playback system, or (b) detect a configuration of the media playback system to a particular axis configuration, wherein the plurality of audio drivers form a particular set of sound axes.
(feature 80) a media playback system comprising: (i) one or more playback devices including a plurality of audio drivers forming a plurality of sound axes, each sound axis corresponding to a respective channel of the multi-channel audio content; (ii) a networked microphone device comprising a microphone; (iii) a processor; and (iv) a computer-readable medium having instructions stored thereon, the instructions being executable by one or more processors to cause a media playback system to perform a method comprising: (a) detecting a trigger condition that initiates calibration of a media playback system, causing the plurality of audio drivers to emit calibration audio via a network interface, the calibration audio divided into component frames, the plurality of sound axes emitting calibration audio during respective time slots of each component frame; (b) recording the emitted calibration audio via the microphone; (c) causing a processing device to determine a respective arrival time at the microphone for each of the plurality of acoustic axes from a time slot of the recorded calibration audio corresponding to the acoustic axis; (d) causing a delay to be determined for each of the plurality of acoustic axes, each determined delay corresponding to a determined arrival time for the respective acoustic axis; and (e) causing calibration of the plurality of acoustic axes, wherein calibrating the plurality of acoustic axes comprises: such that audio output for the plurality of acoustic axes is delayed according to the respective determined delays.
The description is presented primarily in terms of illustrative environments, systems, processes, steps, logic blocks, processes, and other symbolic representations that are directly or indirectly analogous to the operation of data processing devices coupled to a network. These process descriptions and representations are generally used by those skilled in the art to most effectively convey the substance of their work to others skilled in the art. Numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be understood by those skilled in the art, however, 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 as not to unnecessarily obscure aspects of the embodiments. Accordingly, the scope of the disclosure is defined by the appended claims rather than the foregoing description of the embodiments.
When any of the following claims are read to cover a purely software and/or firmware implementation, at least one element in at least one example is hereby expressly defined to include a tangible, non-transitory medium such as a memory, DVD, CD, Blu-ray, etc. storing the software and/or firmware.
Claims (16)
1. A method for Networking Microphone Devices (NMDs), the method comprising:
detecting a trigger condition that initiates calibration of a media playback system for a plurality of playback configurations, each playback configuration representing a respective set of one or more sound axes formed via a plurality of audio drivers of the media playback system, wherein each sound axis corresponds to a respective input channel of audio content;
causing, via a network interface of the networked microphone device, each of the plurality of audio drivers of the media playback system to output calibration audio that is divided into a set of frames that includes repetitions of a respective frame for each playback configuration, and outputting the calibration audio via the one or more sound axes corresponding to the given playback configuration during a respective time slot of each frame corresponding to the respective playback configuration, such that during each frame of the set of frames, a respective set of spatial filters is applied to the plurality of audio drivers, the respective set of spatial filters comprises a respective spatial filter for each of the one or more acoustic axes corresponding to a respective playback configuration, wherein the spatial filter spatially calibrates the media playback system to a given listening area by: directing sound output for a particular sound axis of the respective set of one or more sound axes in a particular direction by arranging the plurality of audio drivers to form the particular sound axis;
recording the calibration audio output by the plurality of audio drivers via a microphone; and
causing the processing device to determine, based on the recorded calibration audio, respective sets of spectral filters for the plurality of playback configurations, each set of spectral filters including a respective spectral filter for each acoustic axis.
2. The method of claim 1, further comprising: causing the determined set of spectral filters corresponding to a given playback configuration to be applied to the sound axis formed by the plurality of audio drivers when the media playback system plays back audio content in the given playback configuration.
3. The method of claim 1 or 2, wherein causing the respective set of spatial filters to be applied to the plurality of audio drivers comprises: cause the processing device to apply the spatial filter to the calibration audio and transmit the calibration audio with the spatial filter applied to one or more playback devices that include the plurality of audio drivers.
4. The method of claim 1 or 2, wherein the media playback system comprises a plurality of playback devices, each playback device comprising a subset of the plurality of audio drivers.
5. The method of claim 1 or 2, wherein:
in a surround sound playback configuration:
each sound axis corresponds to a respective channel of surround sound audio content, an
A first spatial filter corresponds to the surround sound playback configuration;
in a stereo playback configuration:
each sound axis corresponds to a respective channel of the stereo audio content; and is
A second spatial filter corresponds to the stereo playback configuration; and
in a mono playback configuration:
the plurality of audio drivers form a single sound axis; and is
The third spatial filter corresponds to the mono playback configuration.
6. The method of claim 5, wherein:
the mono playback configuration is a first mono playback configuration,
the stereo playback configuration is a first stereo playback configuration,
the surround sound playback configuration is a first surround sound configuration; and is
The plurality of playback configurations includes at least one of:
a second mono playback configuration, the plurality of audio drivers configured to form one or more full range and subwoofer axes to synchronously output mono audio content when playing back audio content in the second mono playback configuration, wherein a fourth spatial filter corresponds to the second mono playback configuration;
a second stereo playback configuration in which, when playing back audio content in the second stereo playback configuration, the plurality of audio drivers are configured to form one or more sound axes to output channels of stereo content audio content in synchronization with a subwoofer sound axis, wherein a fifth spatial filter corresponds to the second stereo playback configuration; and
a second surround sound playback configuration in which, when playing back audio content, the plurality of audio drivers are configured to form one or more full range axes to output respective channels of surround sound content audio content in synchronization with a subwoofer axis, wherein a sixth spatial filter corresponds to the second surround sound playback configuration.
7. The method of claim 1 or 2, wherein the plurality of playback configurations comprises two or more of the following playback configurations:
a music playback configuration in which, while playing back audio content, the plurality of audio drivers are configured to form sound axes to output music content, wherein a music playback spatial filter corresponds to the music playback configuration, an
A home theater playback configuration in which, when playing back audio content, the plurality of audio drivers are configured to form a sound axis to output audio content paired with video content, wherein a home theater playback spatial filter corresponds to the home theater playback configuration.
8. The method of claim 3, wherein the calibration audio is a second calibration audio, the method further comprising:
prior to causing the plurality of audio drivers to output the second calibration audio, causing the plurality of audio drivers to output a first calibration audio that is divided into a set of frames that includes repetitions of respective frames for each playback configuration of the plurality of playback configurations;
recording, via the microphone, the first calibration audio output by the plurality of audio drivers; and
causing the processing device to determine the respective sets of spatial filters for the plurality of playback configurations based on the recorded first calibration audio, each set of spatial filters comprising a respective spatial filter for each acoustic axis.
9. The method of claim 8, wherein:
the determined set of spatial filters calibrates the playback device to a particular listening position within a listening area of the playback device, and
the determined spectral filter compensates for acoustic characteristics of the listening area.
10. The method of claim 8, wherein:
causing the plurality of audio drivers to output the first calibration audio comprises: causing a plurality of audio drivers to emit calibration audio via a plurality of sound axes at respective time slots in each frame, each sound axis corresponding to a respective channel of the multi-channel audio content; and is
Causing the processing device to determine the respective set of spatial filters comprises:
such that a respective spatial delay for each of the plurality of sound axes is determined based on the time slot of the recorded calibration audio corresponding to the sound axis according to the respective determined delay,
wherein causing the determination of the respective delay for each of the plurality of acoustic axes comprises:
causing a processing device to determine a respective arrival time at the microphone for each of the plurality of acoustic axes from the time slot corresponding to each acoustic axis in which calibration audio was recorded; and
such that a delay for each of the plurality of acoustic axes is determined, each determined delay corresponding to a determined arrival time of the respective acoustic axis.
11. The method of claim 10, wherein causing the processing device to determine a respective arrival time at the microphone for each of the plurality of acoustic axes comprises:
dividing the recorded calibration audio into component frames and dividing each component frame into respective time slots for each acoustic axis;
determining a respective impulse response for each acoustic axis from a respective time slot corresponding to the acoustic axis;
aligning the respective impulse responses with a first reference point;
identifying a respective second reference point in each impulse response; and
determining a respective time of arrival at the microphone based on a respective difference of the first reference point and the second reference point in each impulse response,
wherein the acoustic axis consists of a reference acoustic axis and one or more other acoustic axes, and wherein identifying a respective second reference point in each impulse response comprises:
identifying a peak in the impulse response of the reference acoustic axis as a given second reference point; and
identifying, in a time window after the given second reference point, respective peaks of the impulse responses of the one or more other acoustic axes as other second reference points.
12. The method of claim 10, wherein causing the processing device to determine a respective arrival time at the microphone for each of the plurality of acoustic axes comprises:
sending, to the processing device via the network interface:
the recorded calibration audio, and
instructions to determine a respective arrival time at the microphone for each of the plurality of acoustic axes; and
receiving the determined respective arrival times via the network interface.
13. The method of claim 10, wherein causing the determination of the delay for each of the plurality of acoustic axes comprises:
determining that the arrival time of a given acoustic axis exceeds a maximum delay threshold; and
causing the delay for the given sound axis to be set at the maximum delay threshold while the media playback system is playing back audio content paired with video content.
14. The method of claim 1 or 2, wherein detecting the trigger condition to initiate calibration of a media playback system comprises one of:
detecting, via a user interface, input data indicative of a command to initiate calibration of the media playback system; and
detecting a configuration of the media playback system as a particular axis configuration, wherein the plurality of audio drivers form a particular set of sound axes.
15. A networked microphone apparatus configured to perform the method of any of claims 1 to 14.
16. A media playback system, comprising:
the networked microphone apparatus of claim 15; and
a playback device configured to cause the audio stage to apply a particular spectral filter corresponding to a given playback configuration when playing back audio content in the given playback configuration.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011278502.2A CN112492502B (en) | 2016-07-15 | 2017-07-14 | Networked microphone apparatus, method thereof, and media playback system |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/211,835 US9860670B1 (en) | 2016-07-15 | 2016-07-15 | Spectral correction using spatial calibration |
US15/211,822 | 2016-07-15 | ||
US15/211,822 US9794710B1 (en) | 2016-07-15 | 2016-07-15 | Spatial audio correction |
US15/211,835 | 2016-07-15 | ||
PCT/US2017/042191 WO2018013959A1 (en) | 2016-07-15 | 2017-07-14 | Spectral correction using spatial calibration |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011278502.2A Division CN112492502B (en) | 2016-07-15 | 2017-07-14 | Networked microphone apparatus, method thereof, and media playback system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109716795A CN109716795A (en) | 2019-05-03 |
CN109716795B true CN109716795B (en) | 2020-12-04 |
Family
ID=59656155
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011278502.2A Active CN112492502B (en) | 2016-07-15 | 2017-07-14 | Networked microphone apparatus, method thereof, and media playback system |
CN201780057093.3A Active CN109716795B (en) | 2016-07-15 | 2017-07-14 | Networked microphone device, method thereof and media playback system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011278502.2A Active CN112492502B (en) | 2016-07-15 | 2017-07-14 | Networked microphone apparatus, method thereof, and media playback system |
Country Status (3)
Country | Link |
---|---|
EP (2) | EP4325895A3 (en) |
CN (2) | CN112492502B (en) |
WO (1) | WO2018013959A1 (en) |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL134979A (en) * | 2000-03-09 | 2004-02-19 | Be4 Ltd | System and method for optimization of three-dimensional audio |
US8234395B2 (en) | 2003-07-28 | 2012-07-31 | Sonos, Inc. | System and method for synchronizing operations among a plurality of independently clocked digital data processing devices |
JP4975112B2 (en) * | 2008-01-31 | 2012-07-11 | 三菱電機株式会社 | Band division time correction signal processing apparatus |
US8755531B2 (en) * | 2008-07-28 | 2014-06-17 | Koninklijke Philips N.V. | Audio system and method of operation therefor |
CN101478296B (en) * | 2009-01-05 | 2011-12-21 | 华为终端有限公司 | Gain control method and apparatus in multi-channel system |
US8559655B2 (en) * | 2009-05-18 | 2013-10-15 | Harman International Industries, Incorporated | Efficiency optimized audio system |
US8219394B2 (en) * | 2010-01-20 | 2012-07-10 | Microsoft Corporation | Adaptive ambient sound suppression and speech tracking |
US8265310B2 (en) * | 2010-03-03 | 2012-09-11 | Bose Corporation | Multi-element directional acoustic arrays |
US9307340B2 (en) * | 2010-05-06 | 2016-04-05 | Dolby Laboratories Licensing Corporation | Audio system equalization for portable media playback devices |
JP2013530420A (en) * | 2010-05-06 | 2013-07-25 | ドルビー ラボラトリーズ ライセンシング コーポレイション | Audio system equalization processing for portable media playback devices |
US9107023B2 (en) * | 2011-03-18 | 2015-08-11 | Dolby Laboratories Licensing Corporation | N surround |
WO2013126603A1 (en) * | 2012-02-21 | 2013-08-29 | Intertrust Technologies Corporation | Audio reproduction systems and methods |
US9524098B2 (en) * | 2012-05-08 | 2016-12-20 | Sonos, Inc. | Methods and systems for subwoofer calibration |
US9106192B2 (en) * | 2012-06-28 | 2015-08-11 | Sonos, Inc. | System and method for device playback calibration |
US9690539B2 (en) * | 2012-06-28 | 2017-06-27 | Sonos, Inc. | Speaker calibration user interface |
US9706323B2 (en) | 2014-09-09 | 2017-07-11 | Sonos, Inc. | Playback device calibration |
US9219460B2 (en) | 2014-03-17 | 2015-12-22 | Sonos, Inc. | Audio settings based on environment |
US20140003635A1 (en) * | 2012-07-02 | 2014-01-02 | Qualcomm Incorporated | Audio signal processing device calibration |
FR2995754A1 (en) * | 2012-09-18 | 2014-03-21 | France Telecom | OPTIMIZED CALIBRATION OF A MULTI-SPEAKER SOUND RESTITUTION SYSTEM |
US9729986B2 (en) * | 2012-11-07 | 2017-08-08 | Fairchild Semiconductor Corporation | Protection of a speaker using temperature calibration |
WO2015009854A2 (en) * | 2013-07-16 | 2015-01-22 | The Trustees Of The University Of Pennsylvania | Sound propagation and perception for autonomous agents in dynamic environments |
EP2838086A1 (en) * | 2013-07-22 | 2015-02-18 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | In an reduction of comb filter artifacts in multi-channel downmix with adaptive phase alignment |
US9729984B2 (en) * | 2014-01-18 | 2017-08-08 | Microsoft Technology Licensing, Llc | Dynamic calibration of an audio system |
US9196432B1 (en) * | 2014-09-24 | 2015-11-24 | James Thomas O'Keeffe | Smart electrical switch with audio capability |
EP3800902A1 (en) * | 2014-09-30 | 2021-04-07 | Apple Inc. | Method to determine loudspeaker change of placement |
CN104967953B (en) * | 2015-06-23 | 2018-10-09 | Tcl集团股份有限公司 | A kind of multichannel playback method and system |
-
2017
- 2017-07-14 WO PCT/US2017/042191 patent/WO2018013959A1/en unknown
- 2017-07-14 CN CN202011278502.2A patent/CN112492502B/en active Active
- 2017-07-14 CN CN201780057093.3A patent/CN109716795B/en active Active
- 2017-07-14 EP EP23212793.6A patent/EP4325895A3/en active Pending
- 2017-07-14 EP EP17754501.9A patent/EP3485655B1/en active Active
Non-Patent Citations (2)
Title |
---|
Inverse filtering of room impulse response for binaural recording playback through loudspeakers;C.Bourget;《Proceedings of ICASSP "94. IEEE International Conference on Acoustics, Speech and Signal Processing》;20020806;全文 * |
虚拟环绕声技术研究;同晓娟;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140515;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109716795A (en) | 2019-05-03 |
WO2018013959A1 (en) | 2018-01-18 |
CN112492502A (en) | 2021-03-12 |
EP3485655A1 (en) | 2019-05-22 |
EP4325895A3 (en) | 2024-05-15 |
EP4325895A2 (en) | 2024-02-21 |
EP3485655B1 (en) | 2024-01-03 |
CN112492502B (en) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11736878B2 (en) | Spatial audio correction | |
US10448194B2 (en) | Spectral correction using spatial calibration | |
US11818553B2 (en) | Calibration based on audio content | |
US10674293B2 (en) | Concurrent multi-driver calibration | |
CN109716795B (en) | Networked microphone device, method thereof and media playback system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |