IP Library Granted Patent US 9,842,608
Granted Patent B2
US 9,842,608 · App. 14/727,741 · Granted Dec 12, 2017

Automatic selective gain control of audio data for speech recognition

Inventors: Raziel Alvarez Guevara (Menlo Park, CA); Preetum Nakkiran (Redmond, WA)
Assignee: Google Inc.
G10L21/034H03G3/3005G10L25/78
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,842,608
App. No.
14/727,741
Granted
Dec 12, 2017
Kind
B2
Abstract

This specification describes, among other things, a computer-implemented method. The method can include receiving a stream of audio data at a computing device. The stream of audio data can be segmented into a plurality of audio segments. Respective intensity levels are determined for each of the plurality of audio segments. For each of the plurality of audio segments and based on the respective intensity levels, a determination can be made as to whether the audio segment includes a speech signal. Selective gain control can be performed on the stream of audio data by automatically adjusting a gain of particular ones of the plurality of audio segments that are determined to include a speech signal.

Claims (55)

1. A computer-implemented method, comprising:

receiving a stream of audio data at a computing device;

segmenting the stream of audio data into a plurality of audio segments;

determining respective intensity levels for each of the plurality of audio segments, comprising, for each of the plurality of audio segments, designating a peak signal level of the audio segment as the intensity level of the audio segment;

in response to determining respective intensity levels for each of the plurality of audio segments, which comprises designating a peak signal level of the audio segment as the intensity level of the audio segment, determining, based on the respective intensity levels, whether each of the audio segments includes a speech signal;

performing selective gain control on the stream of audio data by adjusting a respective gain of particular ones of the plurality of audio segments that are determined to include a speech signal,

wherein the respective intensity levels for each of the plurality of audio segments are determined prior to adjusting the respective gain of particular ones of the plurality of audio segments;

performing speech recognition, by a speech recognition engine, on at least a portion of the selectively gain controlled stream of audio data; and

determining whether the portion of the selectively gain controlled stream of audio data includes speech for one or more of a plurality of pre-defined keywords based on the speech recognition performed, by the speech recognition engine, on at least a portion of the selectively gain controlled stream of audio data.

2. The computer-implemented method of claim 1 , wherein performing selective gain control on the stream of audio data comprises adjusting the respective gain of the audio segments that are determined to include a speech signal without adjusting a gain of the audio segments that are determined to not include a speech signal.

3. The computer-implemented method of claim 1 , wherein performing the selective gain control on the stream of audio data comprises, for each of the plurality of audio segments:

selecting a set of gain control rules that indicate a manner in which a gain of the audio segment is to be adjusted or that indicate that the gain of the audio segment is not to be adjusted, wherein the set of gain control rules are selected based at least on whether the audio segment is determined to include a speech signal; and

applying the selected set of gain control rules to the audio segment.

4. The computer-implemented method of claim 1 , wherein each segment has a length C in the range 80-120 milliseconds.

5. The computer-implemented method of claim 1 , wherein segmenting the stream of audio data into the plurality of audio segments comprises segmenting the stream of audio data into a plurality of consecutive, non-overlapping segments of audio data of uniform length.

6. The computer-implemented method of claim 1 , wherein determining whether each of the plurality of audio segments includes a speech signal comprises using the respective intensity level for each audio segment to differentiate among audio segments that include only noise and audio segments that include speech.

7. The computer-implemented method of claim 1 , wherein the portion of the selectively gain controlled stream of audio data comprises audio segments that are determined to include a speech signal.

8. The computer-implemented method of claim 1 , wherein performing speech recognition comprises using a neural network to transcribe speech in the portion of the selectively gain controlled stream of audio data, or to identify that one or more pre-defined keywords are included in speech in the portion of the selectively gain controlled stream of audio data.

9. The computer-implemented method of claim 8 , wherein the neural network is configured to perform keyword spotting for the one or more pre-defined keywords, and wherein the neural network was trained at least in part on speech samples in which background noise has been added to the speech samples.

10. The computer-implemented method of claim 8 , wherein the neural network comprises a low-rank input layer.

11. The computer-implemented method of claim 1 , wherein the computing device comprises a smartphone, a tablet computing device, a desktop computer, or a notebook computer.

12. The computer-implemented method of claim 1 , wherein determining whether each of the plurality of audio segments includes a speech signal comprises, for each audio segment:

determining means and standard deviations parameters from the respective intensity level of the audio segment;

generating a classification of the audio segment as a speech signal or a background signal based at least on the means and standard deviations parameters using respective speech and background models;

incorporating the means and standard deviations parameters into (i) the speech model based on the classification of the audio segment being a speech signal or (ii) the background model based on the classification of the audio segment being a background signal; and

determining whether the audio segment includes a speech signal from the classification.

13. One or more non-transitory computer-readable storage media having instructions stored thereon that, when executed by one or more processors, cause performance of operations comprising:

receiving a stream of audio data at a computing device;

segmenting the stream of audio data into a plurality of audio segments;

determining respective intensity levels for each of the plurality of audio segments, comprising, for each of the plurality of audio segments, designating a peak signal level of the audio segment as the intensity level of the audio segment;

in response to determining respective intensity levels for each of the plurality of audio segments, which comprises designating a peak signal level of the audio segment as the intensity level of the audio segment, determining, based on the respective intensity levels, whether each of the audio segments includes a speech signal;

performing selective gain control on the stream of audio data by adjusting a respective gain of particular ones of the plurality of audio segments that are determined to include a speech signal,

wherein the respective intensity levels for each of the plurality of audio segments are determined prior to adjusting the respective gain of particular ones of the plurality of audio segments;

performing speech recognition, by a speech recognition engine, on at least a portion of the selectively gain controlled stream of audio data; and

determining whether the portion of the selectively gain controlled stream of audio data includes speech for one or more of a plurality of pre-defined keywords based on the speech recognition performed, by the speech recognition engine, on at least a portion of the selectively gain controlled stream of audio data.

14. The computer-readable storage media of claim 13 , wherein performing selective gain control on the stream of audio data comprises adjusting the gain of the audio segments that are determined to include a speech signal without adjusting a gain of the audio segments that are determined to not include a speech signal.

15. The computer-readable storage media of claim 13 , wherein performing the selective gain control on the stream of audio data comprises, for each of the plurality of audio segments:

selecting a set of gain control rules that indicate a manner in which a gain of the audio segment is to be adjusted or that indicate that the gain of the audio segment is not to be adjusted, wherein the set of gain control rules are selected based at least on whether the audio segment is determined to include a speech signal; and

applying the selected set of gain control rules to the audio segment.

16. The computer-readable storage media of claim 13 , wherein performing speech recognition comprises using a neural network to transcribe speech in the portion of the selectively gain controlled stream of audio data, or to identify that one or more pre-defined keywords are included in speech in the portion of the selectively gain controlled stream of audio data.

17. The computer-readable storage media of claim 13 , wherein the neural network is configured to perform keyword spotting for the one or more pre-defined keywords, and wherein the neural network was trained at least in part on speech samples in which background noise has been added to the speech samples.

18. A computing system, comprising:

one or more processors; and

one or more computer-readable media having instructions stored thereon that, when executed by the one or more processors, cause performance of operations comprising:

receiving a stream of audio data at a computing device;

segmenting the stream of audio data into a plurality of audio segments;

determining respective intensity levels for each of the plurality of audio segments, comprising, for each of the plurality of audio segments, designating a peak signal level of the audio segment as the intensity level of the audio segment;

in response to determining respective intensity levels for each of the plurality of audio segments, which comprises designating a peak signal level of the audio segment as the intensity level of the audio segment, determining, based on the respective intensity levels, whether each of the audio segments includes a speech signal;

performing selective gain control on the stream of audio data by adjusting a respective gain of particular ones of the plurality of audio segments that are determined to include a speech signal,

wherein the respective intensity levels for each of the plurality of audio segments are determined prior to adjusting the respective gain of particular ones of the plurality of audio segments;

performing speech recognition, by a speech recognition engine, on at least a portion of the selectively gain controlled stream of audio data; and

determining whether the portion of the selectively gain controlled stream of audio data includes speech for one or more of a plurality of pre-defined keywords based on the speech recognition performed, by the speech recognition engine, on at least a portion of the selectively gain controlled stream of audio data.

19. The system of claim 18 , wherein performing selective gain control on the stream of audio data comprises adjusting the gain of the audio segments that are determined to include a speech signal without adjusting a gain of the audio segments that are determined to not include a speech signal.

20. The system of claim 18 , wherein performing speech recognition comprises using a neural network to transcribe speech in the portion of the selectively gain controlled stream of audio data, or to identify that one or more pre-defined keywords are included in speech in the portion of the selectively gain controlled stream of audio data; and

wherein the neural network is configured to perform keyword spotting for the one or more pre-defined keywords, and wherein the neural network was trained at least in part on speech samples in which background noise has been added to the speech samples.

Assignments (3)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF THE FIRST INVENTOR'S NAME PREVIOUSLY RECORDED ON REEL 036386 FRAME 0569. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 27, 2016
From: GUEVARA, RAZIEL ALVAREZ; NAKKIRAN, PREETUM
To: GOOGLE INC.
Reel/Frame 039485/0549 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2015
From: ALVAREZ, RAZIEL; NAKKIRAN, PREETUM
To: GOOGLE INC.
Reel/Frame 036386/0569 →
Continuity (2)
Provisional Application 62059524 · Oct 3, 2014
Related Publication 20160099007A1 · Apr 7, 2016