IP Library › Granted Patent US 9,693,165
Granted Patent B2
US 9,693,165 · App. 14/864,506 · Granted Jun 27, 2017

Validation of audio calibration using multi-dimensional motion check

Inventors: Jonathan Downing (North Hampton, MA); Timothy Sheen (Brighton, MA); Daniel Valente (Santa Barbara, CA)
Assignee: Sonos, Inc.
H04R29/008G06F3/165G10L25/06H04R1/32H04R27/00H04R2227/005
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,693,165
App. No.
14/864,506
Granted
Jun 27, 2017
Kind
B2
Abstract

Examples described herein involve validating motion of a microphone during calibration of a playback device. An example implementation involves receiving motion data indicating movement of a recording device while the recording device was recording a calibration sound emitted by one or more playback devices in a given environment during a calibration period. The example implementation also involves determining that sufficient vertical translation of the recording device occurred during the calibration period. The example implementation further involves determining that sufficient horizontal translation of the recording device occurred during the calibration period. The implementation involves sending, by the computing device to one or more playback devices, a message indicating that sufficient translation of the recording device occurred during the calibration period in vertical and horizontal directions.

Claims (60)

1. A tangible, non-transitory computer-readable medium having stored therein instructions executable by one or more processors to cause a control device to perform operations comprising:

receiving an indication that one or more playback devices are emitting a calibration sound in a given environment during a calibration period;

recording the emitted calibration sound and receiving motion data indicating movement of the control device during emission of the calibration sound;

identifying a first component of the motion data that indicates movement of the control device in a vertical direction and one or more second components of the motion data that indicates movement of the control device in respective radial directions from the one or more playback devices;

determining one or more horizontal motion parameters representing motion of the control device in a horizontal direction through the environment by cross-correlating the first component of the motion data indicating movement of the control device in a vertical direction with the one or more second components of the motion data indicating movement of the control device in respective radial directions from the one or more playback devices;

determining that sufficient horizontal translation of the control device occurred during the calibration period by determining that at least one of the horizontal motion parameters representing motion in the horizontal direction through the environment exceeds a correlation threshold; and

sending a message indicating that sufficient translation of the control device occurred during the calibration period.

2. The tangible, non-transitory computer-readable medium of claim 1 , wherein the operations further comprise:

determining a vertical motion parameter representing a mean of the motion data in a vertical direction; and

determining that sufficient vertical translation of the control device occurred during the calibration period by determining that the vertical motion parameter exceeds a vertical-motion threshold.

3. The tangible, non-transitory computer-readable medium of claim 2 , wherein sending the message indicating that sufficient translation of the control device occurred during the calibration period comprises sending a message indicating that sufficient horizontal translation and sufficient vertical translation of the control device occurred during the calibration period.

4. The tangible, non-transitory computer-readable medium of claim 2 , wherein determining the vertical motion parameter representing the mean of the motion data in the vertical direction comprises:

as frames of motion data indicating movement of the control device during the calibration period are received, repeatedly updating the vertical motion parameter representing the mean of the motion data in the vertical direction based on the accrued motion data.

5. The tangible, non-transitory computer-readable medium of claim 1 , wherein receiving motion data indicating movement of the control device during the calibration period comprises:

receiving sensor data indicating acceleration of the control device; and

receiving microphone data indicating respective radial distances from the one or more playback devices to the control device based on respective propagation delays between the one or more playback devices and a microphone coupled to the control device.

6. The tangible, non-transitory computer-readable medium of claim 1 , wherein the operations further comprise determining respective calibration profiles for at least one of the one or more playback devices based on the recorded calibration sound, and wherein sending the message indicating that sufficient translation of the control device occurred during the calibration period comprises sending a message instructing the at least one playback device to calibrate using the determined calibration profile.

7. The tangible, non-transitory computer-readable medium of claim 6 , wherein determining respective calibration profiles for at least one of the one or more playback devices based on the recorded calibration sound comprises determining respective calibration profiles that offset acoustic characteristics of the given environment to calibrate the playback devices to a calibration equalization.

8. The tangible, non-transitory computer-readable medium of claim 1 , wherein the operations further comprise determining that speed of the control device during the calibration period did not exceed a speed threshold, and wherein sending the message indicating that sufficient translation of the control device occurred during the calibration period comprises sending a message indicating that the sufficient translation of the control device did not exceed the speed threshold.

9. The tangible, non-transitory computer-readable medium of claim 8 , wherein receiving motion data indicating movement of the control device during the calibration period comprises receiving sensor data including a first data stream indicating user acceleration relative to the control device and a second data stream indicating gravity acceleration relative to the control device, and wherein determining that speed of the control device during the calibration period did not exceed a speed threshold comprises:

determining a third data stream indicating user acceleration relative to gravity based on the first data stream indicating user acceleration relative to the control device and the second data stream indicating gravity acceleration relative to the control device;

determining a fourth data stream indicating speed of the control device during the calibration period by determining a magnitude of an integral of the third data stream indicating user acceleration relative to gravity; and

determining that the fourth data stream indicates that speed of the control device during the calibration period did not exceed the speed threshold.

10. A method comprising:

receiving, by a control device, an indication that one or more playback devices are emitting a calibration sound in a given environment during a calibration period;

recording, by the control device, the emitted calibration sound, and receiving, by the control device, motion data indicating movement of the control device during emission of the calibration sound;

identifying, by the control device, a first component of the motion data that indicates movement of the control device in a vertical direction and one or more second components of the motion data that indicates movement of the control device in respective radial directions from the one or more playback devices;

determining, by the control device, one or more horizontal motion parameters representing motion of the control device in a horizontal direction through the environment by cross-correlating the first component of the motion data indicating movement of the control device in a vertical direction with the one or more second components of the motion data indicating movement of the control device in respective radial directions from the one or more playback devices;

determining, by the control device, that sufficient horizontal translation of the control device occurred during the calibration period by determining that at least one of the horizontal motion parameters representing motion in the horizontal direction through the environment exceeds a correlation threshold; and

sending, by the control device to one or more playback devices, a message indicating that sufficient translation of the control device occurred during the calibration period.

11. The method of claim 10 , further comprising: determining that sufficient vertical translation of the control device occurred during the calibration period.

12. The method of claim 11 , wherein determining that sufficient vertical translation of the control device occurred during the calibration period comprises:

determining a vertical motion parameter representing a mean of the motion data in a vertical direction; and

determining that sufficient vertical translation of the control device occurred during the calibration period by determining the vertical motion parameter exceeds a vertical-motion threshold.

13. The method of claim 12 , wherein determining the vertical motion parameter representing the mean of the motion data in the vertical direction comprises:

as motion data indicating movement of the control device during the calibration period is received, repeatedly updating the vertical motion parameter representing the mean of the motion data in the vertical direction based on the accrued motion data.

14. The method of claim 10 , further comprising:

determining that speed of the control device during the calibration period did not exceed a speed threshold, wherein sending the message indicating that sufficient translation of the control device occurred during the calibration period comprises sending a message indicating that the sufficient translation of the control device did not exceed the speed threshold.

15. The method of claim 14 , wherein receiving motion data indicating movement of a control device while the control device detected a calibration sound emitted by one or more playback devices in a given environment during a calibration period comprises receiving sensor data including a first data stream indicating user acceleration relative to the control device and a second data stream indicating gravity acceleration relative to the control device, and wherein determining that speed of the control device during the calibration period did not exceed a speed threshold comprises:

determining a third data stream indicating user acceleration relative to gravity based on the first data stream indicating user acceleration relative to the control device and the second data stream indicating gravity acceleration relative to the control device;

determining a fourth data stream indicating speed of the control device during the calibration period by determining a magnitude of an integral of the third data stream indicating user acceleration relative to gravity; and

determining that the fourth data stream indicates that speed of the control device during the calibration period did not exceed the speed threshold.

16. The method of claim 10 , further comprising:

determining respective calibration profiles for at least one of the one or more playback devices based on the recorded calibration sound, and wherein sending the message indicating that sufficient translation of the control device occurred during the calibration period comprises sending a message instructing the at least one playback device to calibrate using the determined calibration profile.

17. A recording device comprising:

a microphone;

one or more processors;

a tangible, non-transitory data storage having stored therein instructions executable by the one or more processors to cause the recording device to perform operations comprising:

receiving an indication that a playback device is emitting a calibration sound in a given environment during a calibration period;

recording, via the microphone, the emitted calibration sound and receiving motion data indicating movement of the recording device during emission of the calibration sound;

identifying a first component of the motion data that indicates movement of the recording device in a vertical direction and one or more second components of the motion data that indicates movement of the recording device in respective radial directions from the playback device;

determining one or more horizontal motion parameters representing motion of the recording device in a horizontal direction through the environment by cross-correlating the first component of the motion data indicating movement of the recording device in a vertical direction with the one or more second components of the motion data indicating movement of the recording device in respective radial directions from the playback device;

determining that sufficient horizontal translation of the recording device occurred during the calibration period by determining that at least one of the horizontal motion parameters representing motion in the horizontal direction through the environment exceeds a correlation threshold; and

sending a message indicating that sufficient translation of the recording device occurred during the calibration period.

18. The recording device of claim 17 , wherein the operations further comprise: determining that sufficient horizontal translation of the recording device occurred during the calibration period.

19. The recording device of claim 18 , wherein determining that sufficient vertical translation of the recording device occurred during the calibration period comprises:

determining a vertical motion parameter representing a mean of the motion data in a vertical direction; and

determining that sufficient vertical translation of the recording device occurred during the calibration period by determining the vertical motion parameter exceeds a vertical-motion threshold.

20. The recording device of claim 17 , wherein the operations further comprise:

based on determining that sufficient translation of the recording device occurred during the calibration period in vertical and horizontal directions, applying a calibration based on the recorded calibration sound to an audio stage of the playback device.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Oct 18, 2021
From: JPMORGAN CHASE BANK, N.A.
To: SONOS, INC.
Reel/Frame 058213/0597 →
SECURITY AGREEMENT Recorded Oct 15, 2021
From: SONOS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 058123/0206 →
SECURITY INTEREST Recorded Aug 30, 2018
From: SONOS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 046991/0433 →
RELEASE OF SECURITY INTEREST Recorded Jul 25, 2018
From: GORDON BROTHERS FINANCE COMPANY
To: SONOS, INC.
Reel/Frame 046625/0882 →
SECURITY INTEREST Recorded Apr 1, 2016
From: SONOS, INC.
To: GORDON BROTHERS FINANCE COMPANY
Reel/Frame 038329/0253 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2015
From: DOWNING, JONATHAN; SHEEN, TIMOTHY W; VALENTE, DANIEL
To: SONOS, INC.
Reel/Frame 036837/0309 →
Continuity (2)
Provisional Application 62220176 · Sep 17, 2015
Related Publication 20170086004A1 · Mar 23, 2017