IP Library Granted Patent US 12,456,456
Granted Patent B2
US 12,456,456 · App. 17/579,806 · Granted Oct 28, 2025

Data augmentation system and method for multi-microphone systems

Inventors: Dushyant Sharma (Mountain House, CA); Ljubomir Milanovic (Vienna, AT); Philipp Salletmayr (Austria, AT); Rong Gong (Vienna, AT); Patrick A. Naylor (Reading, GB)
Assignee: Microsoft Technology Licensing, LLC
G10L15/08
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 12,456,456
App. No.
17/579,806
Granted
Oct 28, 2025
Kind
B2
Abstract

A method, computer program product, and computing system for obtaining one or more speech signals from a first device, thus defining one or more first device speech signals. One or more speech signals may be obtained from a second device, thus defining one or more second device speech signals. An acoustic relative transfer function may be selected from a plurality of acoustic relative transfer functions based upon, at least in part, the one or more first device speech signals and the one or more second device speech signals. The one or more second device speech signals may be augmented, at run-time, based upon, at least in part, the acoustic relative transfer function.

Claims (74)

1. A computer-implemented method, executed on a computing device, comprising:

obtaining a first set of speech signals from a first device, thus defining one or more first device speech signals;

obtaining a second set of speech signals from a second device, thus defining one or more second device speech signals;

selecting an acoustic relative transfer function from a plurality of acoustic relative transfer functions based upon, at least in part, speaker location information associated with at least one of the one or more first device speech signals and the one or more second device speech signals, wherein selecting the acoustic relative transfer function includes:

processing speaker location information associated with the one or more first device speech signals;

processing speaker location information associated with the one or more second device speech signals; and

comparing the speaker location information associated with the one or more first device speech signals and the speaker location information associated with the one or more second device speech signals to speaker location information associated with the plurality of acoustic relative transfer functions from an acoustic relative transfer function codebook; and

selecting the acoustic relative transfer function with speaker location information that is within at least a predefined similarity threshold of the speaker location information associated with the one or more first device speech signals and the speaker location information associated with the one or more second device speech signals; and

augmenting, at run-time, the one or more second device speech signals to match reverberation properties of the one or more first device speech signals based upon, at least in part, the acoustic relative transfer function.

2. The computer-implemented method of claim 1 , further comprising:

processing, at run-time, the one or more first device speech signals; and

processing, at run-time, the one or more second device speech signals.

3. The computer-implemented method of claim 2 , wherein processing the one or more first device speech signals includes:

detecting one or more speech active portions from the one or more first device speech signals;

identifying a speaker associated with the one or more speech active portions from the one or more first device speech signals; and

applying signal filtering to the one or more speech active portions associated with a predefined signal bandwidth, thus defining one or more first device filtered speech active portions.

4. The computer-implemented method of claim 2 , wherein processing the one or more second device speech signals includes:

detecting one or more speech active portions from the one or more second device speech signals;

identifying a speaker associated with the one or more speech active portions from the one or more second device speech signals; and

applying signal filtering to the one or more speech active portions associated with a predefined signal bandwidth, thus defining one or more second device filtered speech active portions.

5. The computer-implemented method of claim 1 , wherein selecting the acoustic relative transfer function from the plurality of acoustic relative transfer functions based upon, at least in part, the one or more first device speech signals and the one or more second device speech signals includes one or more of:

estimating the acoustic transfer function based upon, at least in part, the one or more first device speech signals and the one or more second device speech signals; and

selecting the acoustic transfer function based upon, at least in part, a noise component model associated with the at least one of the one or more first device speech signals and the one or more second device speech signals.

6. The computer-implemented method of claim 5 , wherein augmenting, at run-time, the one or more second device speech signals based upon, at least in part, the acoustic relative transfer function includes performing de-noising on the one or more second device speech signals based upon, at least in part, the noise component model.

7. The computer-implemented method of claim 1 , wherein augmenting, at run-time, the one or more second device speech signals based upon, at least in part, the acoustic relative transfer function includes performing de-reverberation on the one or more second device speech signals based upon, at least in part, the acoustic relative transfer function.

8. A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:

obtaining a first set of speech signals from a first device, thus defining one or more first device speech signals;

obtaining a second set of speech signals from a second device, thus defining one or more second device speech signals;

selecting an acoustic relative transfer function from a plurality of acoustic relative transfer functions based upon, at least in part, the one or more first device speech signals and the one or more second device speech signals selecting the acoustic transfer function based upon, at least in part, speaker location information associated with at least one of the one or more first device speech signals and the one or more second device speech signals, wherein selecting the acoustic relative transfer function includes:

processing speaker location information associated with the one or more first device speech signals;

processing speaker location information associated with the one or more second device speech signals; and

comparing the speaker location information associated with the one or more first device speech signals and the speaker location information associated with the one or more second device speech signals to speaker location information associated with the plurality of acoustic relative transfer functions from an acoustic relative transfer function codebook; and

selecting the acoustic relative transfer function with speaker location information that is within at least a predefined similarity threshold of the speaker location information associated with the one or more first device speech signals and the speaker location information associated with the one or more second device speech signals; and

augmenting, at run-time, the one or more second device speech signals to match reverberation properties of the one or more first device speech signals based upon, at least in part, the acoustic relative transfer function.

9. The computer program product of claim 8 , wherein the operations further comprise:

processing, at run-time, the one or more first device speech signals; and

processing, at run-time, the one or more second device speech signals.

10. The computer program product of claim 9 , wherein processing the one or more first device speech signals includes:

detecting one or more speech active portions from the one or more first device speech signals;

identifying a speaker associated with the one or more speech active portions from the one or more first device speech signals; and

applying signal filtering to the one or more speech active portions associated with a predefined signal bandwidth, thus defining one or more first device filtered speech active portions.

11. The computer program product of claim 9 , wherein processing the one or more second device speech signals includes:

detecting one or more speech active portions from the one or more second device speech signals;

identifying a speaker associated with the one or more speech active portions from the one or more second device speech signals; and

applying signal filtering to the one or more speech active portions associated with a predefined signal bandwidth, thus defining one or more second device filtered speech active portions.

12. The computer program product of claim 8 , wherein selecting the acoustic relative transfer function from the plurality of acoustic relative transfer functions based upon, at least in part, the one or more first device speech signals and the one or more second device speech signals includes one or more of:

estimating the acoustic transfer function based upon, at least in part, the one or more first device speech signals and the one or more second device speech signals;

selecting the acoustic transfer function based upon, at least in part, a noise component model associated with the at least one of the one or more first device speech signals and the one or more second device speech signals.

13. The computer program product of claim 12 , wherein augmenting, at run-time, the one or more second device speech signals based upon, at least in part, the acoustic relative transfer function includes performing de-noising on the one or more second device speech signals based upon, at least in part, the noise component model.

14. The computer program product of claim 8 , wherein augmenting, at run-time, the one or more second device speech signals based upon, at least in part, the acoustic relative transfer function includes performing de-reverberation on the one or more second device speech signals based upon, at least in part, the acoustic relative transfer function.

15. A computing system comprising:

a memory; and

a processor configured to obtain a first set of speech signals from a first device, thus defining one or more first device speech signals, wherein the processor is further configured to obtain a second set of speech signals from a second device, thus defining one or more second device speech signals, wherein the processor is further configured to select an acoustic relative transfer function from a plurality of acoustic relative transfer functions based upon, at least in part, speaker location information associated with at least one of the one or more first device speech signals and the one or more second device speech signals, wherein selecting the acoustic relative transfer function includes:

processing speaker location information associated with the one or more first device speech signals;

processing speaker location information associated with the one or more second device speech signals; and

comparing the speaker location information associated with the one or more first device speech signals and the speaker location information associated with the one or more second device speech signals to speaker location information associated with the plurality of acoustic relative transfer functions from an acoustic relative transfer function codebook; and

selecting the acoustic relative transfer function with speaker location information that is within at least a predefined similarity threshold of the speaker location information associated with the one or more first device speech signals and the speaker location information associated with the one or more second device speech signals; and

augmenting, at run-time, the one or more second device speech signals to match reverberation properties of the one or more first device speech signals based upon, at least in part, the acoustic relative transfer function, and wherein the processor is further configured to augment, at run-time, the one or more second device speech signals to match reverberation properties of the first device speech signals based upon, at least in part, the acoustic relative transfer function.

16. The computing system of claim 15 , wherein the processor is further configured to:

process, at run-time, the one or more first device speech signals; and

process, at run-time, the one or more second device speech signals.

17. The computing system of claim 16 , wherein processing the one or more first device speech signals includes:

detecting one or more speech active portions from the one or more first device speech signals;

identifying a speaker associated with the one or more speech active portions from the one or more first device speech signals; and

applying signal filtering to the one or more speech active portions associated with a predefined signal bandwidth, thus defining one or more first device filtered speech active portions.

18. The computing system of claim 15 , wherein processing the one or more second device speech signals includes:

detecting one or more speech active portions from the one or more second device speech signals;

identifying a speaker associated with the one or more speech active portions from the one or more second device speech signals; and

applying signal filtering to the one or more speech active portions associated with a predefined signal bandwidth, thus defining one or more second device filtered speech active portions.

19. The computing system of claim 15 , wherein selecting the acoustic relative transfer function from the plurality of acoustic relative transfer functions based upon, at least in part, the one or more first device speech signals and the one or more second device speech signals includes one or more of:

estimating the acoustic transfer function based upon, at least in part, the one or more first device speech signals and the one or more second device speech signals;

and

selecting the acoustic transfer function based upon, at least in part, a noise component model associated with the at least one of the one or more first device speech signals and the one or more second device speech signals.

20. The computing system of claim 19 , wherein augmenting, at run-time, the one or more second device speech signals based upon, at least in part, the acoustic relative transfer function includes performing de-noising on the one or more second device speech signals based upon, at least in part, the noise component model.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2025
From: NUANCE COMMUNICATIONS, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 070762/0621 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2023
From: NUANCE COMMUNICATIONS, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 065578/0676 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2022
From: SHARMA, DUSHYANT; MILANOVIC, LJUBOMIR; SALLETMAYR, PHILIPP; GONG, RONG; NAYLOR, PATRICK A
To: NUANCE COMMUNICATIONS, INC.
Reel/Frame 058707/0712 →
Continuity (1)
Related Publication 20230230582A1 · Jul 20, 2023
References Cited (22)
US 20110033063A1 · McGrath · 2011 [cited by applicant]
US 20110300806A1 · Lindahl · 2011 [cited by examiner]
US 20150025881A1 · Carlos et al. · 2015 [cited by applicant]
US 20160064009A1 · Every et al. · 2016 [cited by applicant]
US 20170094421A1 · Giri · 2017 [cited by applicant]
US 20170309294A1 · Gannot · 2017 [cited by applicant]
US 20180240471A1 · Markovich Golan · 2018 [cited by applicant]
US 20180350381A1 · Bryan · 2018 [cited by examiner]
US 20200219524A1 · Braun · 2020 [cited by applicant]
US 20210201931A1 · Wang · 2021 [cited by examiner]
US 20210233509A1 · Lashkari · 2021 [cited by applicant]
US 20210329388A1 · Zahedi et al. · 2021 [cited by applicant]
US 20230230599A1 · Sharma · 2023 [cited by examiner]
Schwartz et al., “Multi-microphone speech dereverberation and noise reduction using relative early transfer functions”, IEEE ACM Transactions, vol. 23, No. 2 (2015) (Year: 2015). [cited by examiner]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US23/060986”, Mailed Date: May 2, 2023, 13 Pages. [cited by applicant]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US23/060989”, Mailed Date: May 2, 2023, 9 Pages. [cited by applicant]
Brendel, et al., “Manifold Learning-Supported Estimation of Relative Transfer Functions for Spatial Filtering”, arXiv:2110.02189v1, Oct. 5, 2021, pp. 8792-8796. [cited by applicant]
Final Office Action issued in U.S. Appl. No. 17/579,750, mailed on Jan. 10, 2025, 13 Pages. [cited by applicant]
Non-Final Office Action issued in U.S. Appl. No. 17/579,750, mailed on Jun. 20, 2024, 12 Pages. [cited by applicant]
Sofer, et al., “Robust Relative Transfer Function Identification on Manifolds for Speech Enhancement”, 29th European Signal Processing Conference (EUSIPCO), 2021, pp. 401-405. [cited by applicant]
Talmon, et al., “Relative transfer function identification on manifolds for supervised GSC beamformers”, 21st European Signal Processing Conference (EUSIPCO), 2013, 05 Pages. [cited by applicant]
Non-Final Office Action mailed on May 23, 2025, in U.S. Appl. No. 17/579,750, 14 pages. [cited by applicant]