IP Library Granted Patent US 12,190,902
Granted Patent B1
US 12,190,902 · App. 17/672,298 · Granted Jan 7, 2025

Adaptive multi-stage output gain

Inventors: Aditya Sharadchandra Joshi (Sunnyvale, CA); Zhouhui Miao (Saratoga, CA)
Assignee: Amazon Technologies, Inc.
G10L21/0364G10L15/05G10L15/08G10L15/22G10L21/034G10L25/21G10L2015/088G10L2015/223G10L15/30
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,190,902
App. No.
17/672,298
Granted
Jan 7, 2025
Kind
B1
Abstract

A system configured to perform audio processing with adaptive multi-stage output gains. For example, an Audio Front End (AFE) component may generate a first output using a fixed gain value in order to improve device arbitration and a second output using an adaptive gain value in order to improve wakeword detection. A wakeword engine may process the second output to determine that a wakeword is present along with start/end times of the wakeword. The AFE component can use the start/end times to determine an amount of wakeword energy represented in the first output, which is sent to a remote device for device arbitration. The AFE component can also use the start/end times to determine an amount of wakeword energy represented in the second output, which can be used to determine the adaptive gain value that is unique to the device.

Claims (98)

1. A computer-implemented method, the method comprising:

determining, by a first component of a first device, first audio data representing speech input received from at least one microphone of the first device;

performing, by the first component, audio processing to the first audio data to generate second audio data;

applying a first gain value to the second audio data to generate third audio data;

determining, using the third audio data, first energy data including a first energy value corresponding to a first audio frame of the third audio data, the first audio frame associated with a first timestamp;

applying a second gain value to the third audio data to generate fourth audio data;

encoding the fourth audio data with timestamp data to generate encoded fourth audio data, wherein a second audio frame of the encoded fourth audio data is associated with the first timestamp;

sending, from the first component to a second component, the encoded fourth audio data;

receiving, by the first component from the second component, wakeword boundary data including a second timestamp corresponding to a beginning of a wakeword and a third timestamp corresponding to an end of the wakeword;

selecting, using the second timestamp and the third timestamp, a portion of the first energy data that corresponds to the wakeword;

determining, using the portion of the first energy data, a second energy value representing an amount of energy corresponding to the wakeword;

determining, by a remote system, that the second energy value is greater than a third energy value associated with a second device; and

in response to the second energy value being greater than the third energy value, causing, by the remote system, the first device to perform an action.

2. The computer-implemented method of claim 1 ,

determining a third energy value corresponding to a third audio frame of the fourth audio data, the third audio frame associated with the second timestamp;

determining a fourth energy value corresponding to a fourth audio frame of the fourth audio data, the fourth audio frame associated with the third timestamp;

determining a plurality of energy values between the second timestamp and the third timestamp, the plurality of energy values including the third energy value and the fourth energy value;

determining, using the plurality of energy values, a fifth energy value corresponding to the wakeword; and

generating, using at least the fifth energy value, a modified second gain value.

3. The computer-implemented method of claim 1 , further comprising, by the second component:

receiving, from the first component, the encoded fourth audio data;

determining that the second audio frame of the encoded fourth audio data is associated with the first timestamp;

storing a second association between the first timestamp and a first value;

determining that a third audio frame of the encoded fourth audio data is associated with the second timestamp;

storing a third association between the second timestamp and a second value;

processing the encoded fourth audio data to determine that the beginning of the wakeword corresponds to the second value and that the end of the wakeword corresponds to a third value;

determining, using the third association, that the beginning of the wakeword corresponds to the second timestamp;

determining, using a fourth association, that the end of the wakeword corresponds to the third timestamp; and

sending, from the second component to the first component, the wakeword boundary data including the second timestamp and the third timestamp.

4. A computer-implemented method, the method comprising:

determining, by a device, audio data representing speech input received by the device;

generating, by the device, first modified audio data using the audio data and a first gain value;

generating, by the device, second modified audio data based at least in part on the audio data and a second gain value, the second gain value corresponding to wakeword detection;

determining, by the device and using the second modified audio data, a portion of the second modified audio data that represents a wakeword;

determining, by the device and based on the determining of the portion of the second modified audio data that represents the wakeword, a portion of the first modified audio data corresponding to the wakeword;

determining, by the device, first data representing one or more characteristics of the portion of the first modified audio data; and

sending, by the device, the first data to a remote device.

5. The computer-implemented method of claim 4 , wherein determining the first data further comprises:

determining a first energy value corresponding to the portion of the first modified audio data.

6. The computer-implemented method of claim 4 , wherein the first gain value is associated with a type of the device, and the second modified audio data is generated by applying the second gain value to the first modified audio data.

7. The computer-implemented method of claim 4 , wherein a first timestamp is encoded in least significant bits of a first audio frame of the second modified audio data, and a second timestamp is encoded in least significant bits of a second audio frame of the second modified audio data, and the method further comprises:

determining that a beginning of the wakeword corresponds to the second audio frame of the second modified audio data; and

determining, using the second timestamp, that the beginning of the wakeword corresponds to a third audio frame of the first modified audio data, the third audio frame associated with a beginning of the portion of the first modified audio data.

8. The computer-implemented method of claim 4 , further comprising:

determining that a first timestamp is associated with a first energy value, the first energy value corresponding to a first audio frame of the first modified audio data;

determining that a second timestamp is associated with a second energy value, the second energy value corresponding to a second audio frame of the first modified audio data;

determining that a beginning of the portion of the first modified audio data corresponds to the second timestamp; and

determining, using the second timestamp and the second energy value, a third energy value corresponding to the wakeword.

9. The computer-implemented method of claim 8 , further comprising:

determining that an end of the portion of the first modified audio data corresponds to a third timestamp associated with a third audio frame of the first modified audio data; and

determining a plurality of energy values between the second timestamp and the third timestamp, the plurality of energy values including the second energy value,

wherein the third energy value is determined using the plurality of energy values.

10. The computer-implemented method of claim 4 , further comprising:

determining that a first timestamp is associated with a first energy value, the first energy value corresponding to a first audio frame of the second modified audio data;

determining that a second timestamp is associated with a second energy value, the second energy value corresponding to a second audio frame of the second modified audio data;

determining that a beginning of the wakeword corresponds to the second timestamp; and

determining, using the second timestamp and the second energy value, a third energy value corresponding to the wakeword.

11. The computer-implemented method of claim 10 , further comprising:

determining that an end of the wakeword corresponds to a third timestamp associated with a third audio frame of the second modified audio data;

determining a plurality of energy values between the second timestamp and the third timestamp, the plurality of energy values including the second energy value, wherein the third energy value is determined using the plurality of energy values; and

generating, using at least the third energy value, a modified second gain value.

12. The computer-implemented method of claim 4 , wherein the second modified audio data is generated by a first component of the device, and determining the portion of the second modified audio data further comprises:

receiving, from the first component by a second component of the device, the second modified audio data;

determining, using the second modified audio data, that a beginning of the wakeword corresponds to a first audio frame of the second modified audio data and that an end of the wakeword corresponds to a second audio frame of the second modified audio data;

determining, using the first audio frame, that the beginning of the wakeword corresponds to a first timestamp generated by the first component;

determining, using the second audio frame, that the end of the wakeword corresponds to second timestamp generated by the first component; and

sending, from the second component to the first component, second data including the first timestamp and the second timestamp.

13. The computer-implemented method of claim 4 , wherein the first modified audio data includes a first representation of the speech input and the second modified audio data includes a second representation of the speech input.

14. A system comprising:

at least one processor; and

memory including instructions operable to be executed by the at least one processor to cause the system to:

determine, by a device, audio data representing speech input received by the device;

generate, by the device, first modified audio data using the audio data and a first gain value;

generate, by the device, second modified audio data based at least in part on the audio data and a second gain value, the second gain value corresponding to wakeword detection;

determine, by the device and using the second modified audio data, a portion of the second modified audio data that represents a wakeword;

determine, by the device, a portion of the first modified audio data corresponding to the portion of the second modified audio data;

determine, by the device, first data representing one or more characteristics of the portion of the first modified audio data; and

send, by the device, the first data to a remote device.

15. The system of claim 14 , wherein the memory further comprises instructions that, when executed by the at least one processor, further cause the system to:

determine a first energy value corresponding to the portion of the first modified audio data.

16. The system of claim 14 , wherein the first gain value is associated with a type of the device, and the second modified audio data is generated by applying the second gain value to the first modified audio data.

17. The system of claim 14 , wherein a first timestamp is encoded in least significant bits of a first audio frame of the second modified audio data, a second timestamp is encoded in least significant bits of a second audio frame of the second modified audio data, and the memory further comprises instructions that, when executed by the at least one processor, further cause the system to:

determine that a beginning of the wakeword corresponds to the second audio frame of the second modified audio data; and

determine, using the second timestamp, that the beginning of the wakeword corresponds to a third audio frame of the first modified audio data, the third audio frame associated with a beginning of the portion of the first modified audio data.

18. The system of claim 14 , wherein the memory further comprises instructions that, when executed by the at least one processor, further cause the system to:

determine that a first timestamp is associated with a first energy value, the first energy value corresponding to a first audio frame of the first modified audio data;

determine that a second timestamp is associated with a second energy value, the second energy value corresponding to a second audio frame of the first modified audio data;

determine that a beginning of the portion of the first modified audio data corresponds to the second timestamp; and

determine, using the second timestamp and the second energy value, a third energy value corresponding to the wakeword.

19. The system of claim 18 , wherein the memory further comprises instructions that, when executed by the at least one processor, further cause the system to:

determine that an end of the portion of the first modified audio data corresponds to a third timestamp associated with a third audio frame of the first modified audio data; and

determine a plurality of energy values between the second timestamp and the third timestamp, the plurality of energy values including the second energy value,

wherein the third energy value is determined using the plurality of energy values.

20. The system of claim 14 , wherein the memory further comprises instructions that, when executed by the at least one processor, further cause the system to:

determine that a first timestamp is associated with a first energy value, the first energy value corresponding to a first audio frame of the second modified audio data;

determine that a second timestamp is associated with a second energy value, the second energy value corresponding to a second audio frame of the second modified audio data;

determine that a beginning of the wakeword corresponds to the second timestamp; and

determine, using the second timestamp and the second energy value, a third energy value corresponding to the wakeword.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2022
From: JOSHI, ADITYA SHARADCHANDRA; MIAO, ZHOUHUI
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 059018/0079 →
References Cited (15)
US 10068573B1 · Aykac · 2018 [cited by examiner]
US 10461712B1 · Yang · 2019 [cited by examiner]
US 11915687B1 · Smith · 2024 [cited by examiner]
US 20130183944A1 · Mozer · 2013 [cited by examiner]
US 20150016633A1 · Gao · 2015 [cited by examiner]
US 20160155443A1 · Khan · 2016 [cited by examiner]
US 20160219522A1 · Asterjadhi · 2016 [cited by examiner]
US 20170076720A1 · Gopalan · 2017 [cited by examiner]
US 20170090864A1 · Jorgovanovic · 2017 [cited by examiner]
US 20190043521A1 · Maziewski · 2019 [cited by examiner]
US 20210141818A1 · Wu · 2021 [cited by examiner]
US 20210391840A1 · Wang · 2021 [cited by examiner]
US 20220068271A1 · Berg · 2022 [cited by examiner]
US 20220139371A1 · Sharifi · 2022 [cited by examiner]
US 20220358915A1 · Birt · 2022 [cited by examiner]
Cited By (1)
US 12,525,234