Nonlinear noise reduction system
By decomposing the input audio signal into a subband signal and generating a noise reduction threshold based on the energy value, the problem of degradation of identification accuracy caused by noise reduction processing in the prior art is solved, and efficient noise removal and completeness maintenance of the audio signal are achieved.
Patent Information
- Application Number
- CN202010088189.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-02-13
- Filing Date
- 2020-02-12
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2040-03-29
AI Technical Summary
During the noise reduction processing of existing automatic speech recognition systems, it is easy to cause the identification accuracy of audio signals to decrease, and false positive candidate words or spectrum parts are removed.
By decomposing the input audio signal into subband signals, the energy values of each subband signal are detected, and a noise reduction threshold is generated based on these energy values, the noise reduction portion is attenuated to generate an output audio signal.
The noise elements in the audio signal are effectively removed, which improves the recognition accuracy of the speech recognition system, avoids the appearance of false positive candidate words, and maintains the integrity of the audio signal.
Smart Images

Figure CN111564159B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate generally to audio systems, and more particularly to non-linear noise reduction systems. Background Art
[0002] Various automatic speech recognition (ASR) systems use a variety of filtering and extraction techniques so that the recognition system can be used to identify audio signal components of the language content included in the audio signal. The ASR system extracts features from a received audio signal by applying one or more filters to the audio signal. The ASR system then applies various models (e.g., acoustic models, language models, etc.) to the extracted features in order to determine candidate words that may have been spoken. Typically, the ASR system may employ a noise reduction system to remove ambient noise from the input audio signal, which improves accuracy when identifying candidate words from the input audio signal.
[0003] One disadvantage of using conventional noise reduction systems in conjunction with automatic speech recognition techniques is that processing an audio signal via the noise reduction system typically reduces the accuracy of recognizing words included in the audio signal. For example, a processed audio signal produced by conventional noise reduction techniques may include processing artifacts, which may cause the ASR system to present "false positive" candidate words. Additionally or alternatively, certain portions of the audio spectrum of the processed audio signal may be removed. Removing certain portions of the audio spectrum may prevent the ASR system from recognizing applicable portions of the processed audio signal as speech. In both cases, the ASR system is unable to accurately recognize the words included in the processed audio signal.
[0004] In view of the foregoing, more effective techniques for reducing noise in audio signals processed by speech recognition systems would be useful. Summary of the invention
[0005] An embodiment of the present disclosure describes a method for reducing noise in an audio signal. The method includes decomposing a first input audio signal into a first group of subband signals, and detecting a first group of signal energy values, wherein each signal energy value included in the first group of signal energy values is associated with a subband signal included in the first group of subband signals. The method also includes generating a first noise reduction threshold based on at least one subband signal included in the first group of subband signals. The method also includes, for each subband signal included in the first group of subband signals, comparing the signal energy value associated with the subband signal with the first noise reduction threshold. Based on determining that at least one subband signal included in the first group of subband signals is associated with a signal energy value below the first noise reduction threshold, the method also includes attenuating the at least one subband signal to generate a first group of attenuated subband signals. The method also includes combining at least one subband signal included in the first group of subband signals with at least one attenuated subband signal included in the first group of attenuated subband signals to generate an output audio signal.
[0006] Additional embodiments also provide a system and computer-readable storage medium for implementing aspects of the methods set forth above.
[0007] At least one technical advantage of the disclosed technology is that the noise reduction system can use one or more filters that are also used by other audio processing systems to reduce noise elements included in the audio signal. Therefore, the noise reduction system can effectively remove the noise elements from the audio signal so that the other audio processing system can more effectively process the audio signal without degrading other parts of the audio signal. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] In order to be able to understand the above-mentioned features of various embodiments in detail, the inventive concepts briefly summarized above may be more particularly described with reference to various embodiments, some of which are shown in the accompanying drawings. It should be noted, however, that the drawings illustrate only typical embodiments of the inventive concepts and are therefore not to be considered in any way limiting of the scope, and that there are other equally effective embodiments.
[0009] Figure 1 A block diagram of a noise reduction system configured to implement one or more aspects of the present disclosure is shown.
[0010] Figure 2 The present disclosure is shown in accordance with various embodiments for Figure 1 A block diagram of a noise reduction system generating a composite output audio signal for a noise reduction application.
[0011] Figure 3 It shows that various embodiments according to the present disclosure can be Figure 1 A graph of a noise reduction system implemented to filter an input audio signal.
[0012] Figure 4 It shows that various embodiments according to the present disclosure can be Figure 1 A noise reduction system is implemented to determine a graph of the energy of a portion of a filtered audio signal.
[0013] Figure 5 It shows that various embodiments according to the present disclosure can be Figure 1 A graph of a noise reduction system implemented to attenuate a filtered audio signal.
[0014] Figure 6 It shows that various embodiments according to the present disclosure can be Figure 1 A noise reduction system is implemented to generate a graph of a composite output audio signal.
[0015] Figure 7 According to various embodiments of the present disclosure, Figure 1 A flow chart of method steps for generating a composite output audio signal by a noise reduction system. DETAILED DESCRIPTION
[0016] In the following description, numerous specific details are set forth to provide a more thorough understanding of various embodiments. However, it will be apparent to one skilled in the art that the inventive concept may be practiced without one or more of these specific details.
[0017] Figure 1 A block diagram of a noise reduction system configured to implement one or more aspects of the present disclosure is shown. The noise reduction system 100 includes a computing device 110 and one or more input / output (I / O) devices 114. The computing device 110 includes a processing unit 112 and a memory 116. The memory 116 stores a noise reduction application 162 and a data storage area 164.
[0018] In operation, the processing unit 112 receives an input audio signal 130. The processing unit 112 executes a noise reduction application 162 to remove the noise elements included in the input audio signal 130 and synthesize an output audio signal 140. For example, the noise reduction application 162 can use a filter bank to decompose a portion of the input audio signal 130 into a group of filtered signals. The group of filtered signals includes a group of subband signals associated with one or more components of the input audio signal 130. The noise reduction application 162 can then analyze the group of filtered signals and attenuate a subset of filtered signals with noise elements. When the noise reduction application 162 synthesizes an output audio signal 140 including an attenuated subset of filtered signals, the noise elements are reduced and / or eliminated in the output audio signal 140. In some embodiments, the filter bank may correspond to a filter bank used by one or more speech recognition systems. In this case, one or more speech elements included in the input audio signal 130 may be included in the output audio signal 140 without significant change and / or attenuation.
[0019] As described above, the computing device 110 may include a processing unit 112 and a memory 116. The computing device 110 may be a device including one or more processing units 112, such as a system on a chip (SoC), or may be a mobile computing device, such as a tablet computer, a mobile phone, a media player, etc. In general, the computing device 110 may be configured to coordinate the overall operation of the noise reduction system 100. The embodiments disclosed herein encompass any technically feasible system configured to implement the functionality of the noise reduction system 100 via the computing device 110.
[0020] The memory 116 may include a memory module or a collection of memory modules. The noise reduction application 162 in the memory 116 may be executed by the processing unit 112 to implement the overall functionality of the computing device 110, thereby coordinating the operation of the noise reduction system 100 as a whole.
[0021] The processing unit 112 may include a central processing unit (CPU), a digital signal processing unit (DSP), a microprocessor, an application specific integrated circuit (ASIC), a neural processing unit (NPU), a graphics processing unit (GPU), a field programmable gate array (FPGA), etc. In some embodiments, the processing unit 112 may be configured to execute a noise reduction application 162 to synthesize an output audio signal 140 with one or more noise elements removed.
[0022] In various embodiments, the noise reduction application 162 may decompose the input audio signal into a set of filtered signals. The noise reduction application 162 may analyze the signal energy associated with each filtered signal and adjust the noise threshold based on the detected signal energy. The noise reduction application 162 may then attenuate a subset of filtered signals whose signal energy is below the adjusted noise threshold. The filtered signal subset has a signal energy associated with a noise element. When the noise reduction application 162 synthesizes the output audio signal 140, the noise element is removed due to attenuation. In some embodiments, the noise reduction application 162 may continuously receive and process the input audio signal 130. For example, the noise reduction application 162 may receive the input audio signal 130 in real time and process the input audio signal in real time. In this case, the noise reduction application 162 may separate the input audio signal 130 into separate time slices and continuously process one or more time slices of the input audio signal 130.
[0023] The data storage area 164 may store values and other data retrieved by the processing unit 112 to coordinate the operation of the noise reduction system 100. During operation, the processing unit 112 may be configured to store values in the data storage area 164 and / or retrieve values stored in the data storage area 164. For example, the data storage area 164 may store noise thresholds, detected energy values, filtered signals, attenuated filtered signals, energy differences, threshold indicators, etc.
[0024] The one or more I / O devices 114 may include devices capable of receiving input, such as a keyboard, a mouse, a touch-sensitive screen, a microphone, etc., and devices capable of providing output, such as a display screen, a speaker, etc. One or more of the I / O devices 114 may be incorporated into the computing device 110, or may be located external to the computing device 110. In various embodiments, the one or more I / O devices 114 include an audio output device that reproduces the output audio signal 140 received from the noise reduction application 162.
[0025] In some embodiments, the I / O device 114 can transmit the output audio signal 140 to another system. For example, the I / O device 114 can transmit the output audio signal 140 to a filter bank used by an auxiliary system such as an automatic speech recognition (ASR) system, an equalization system, and / or an audio compression system. In this case, the auxiliary system can process the output audio signal 140 more efficiently and / or more accurately because the noise element is removed.
[0026] Figure 2 The present disclosure is shown in accordance with various embodiments for Figure 11 is a block diagram of a noise reduction application 162 for generating a composite output audio signal using a noise reduction system. As shown, the noise reduction application 162 includes an audio filtering component 210, a signal energy detection component 222, an energy difference detection component 224, a noise threshold configuration component 230, an energy threshold determination component 236, a signal attenuation component 240, and a signal combiner component 250.
[0027] During operation, the noise reduction application 162 receives an input audio signal 130. The input audio signal 130 includes one or more speech elements and one or more noise elements. The noise reduction application 162 analyzes the input audio signal 130 and synthesizes an output audio signal 140. The output audio signal 140 removes and / or attenuates the one or more noise elements. The noise reduction application 162 includes hardware and / or software to calculate an energy value associated with the speech portion of the input audio signal 130 and synthesize the output audio signal 140 based on the calculated energy value.
[0028] The audio filter component 210 comprises the front end of the noise reduction system 100. The audio filter component 210 receives and decomposes the input audio signal 130 to generate a set of filtered signals 212 (e.g., 212-1, 212-2, etc.). The set of filtered signals 212 includes a set of subband signals associated with the components of the input audio signal 130. In some embodiments, the audio filter component 210 may include one or more analog / digital (A / D) converters, one or more transform devices, and a group of two or more filters. For example, the input audio signal 130 may be a time domain signal. In this case, the one or more transform devices included in the audio filter component 210 may convert the input audio signal 130 into a frequency domain signal. Additionally or alternatively, when the input audio signal 130 is an analog signal, one or more A / D converters may convert the input audio signal 130 into a digital signal. In some embodiments, the input audio signal 130 may be a continuous audio signal. In this case, the noise reduction application 162 may receive a portion of the input audio signal 130 corresponding to a particular time slice. For example, the noise reduction application 162 may continuously receive two second time slices of the input audio signal 130. The noise reduction application 162 may then synthesize the output audio signal 140 into a series of audio signals, each having a fixed duration (eg, two seconds in length).
[0029] The audio filtering component 210 includes a filter bank that decomposes the input audio signal 130 into a set of filtered signals 212. The set of filtered signals 212 includes a set of sub-band signals associated with components of the input audio signal 130. For example, the audio filtering component 210 may include a filter bank of three filters. The filter bank may decompose the input audio signal 130 into a set of filtered signals 212-1, 212-2, 212-3 that correspond to sub-bands of the input audio signal 130. For example, the filter bank may include a certain number of n-order filters, such as a set of 20 fourth-order bandpass filters.
[0030] Additionally or alternatively, the set of filters included in the filter bank may correspond to a set of filters used by one or more other audio processing systems. For example, the filter bank included in the audio filter component 210 may correspond to a filter bank used by an automatic speech recognition system, an equalization system, and / or an audio compression system. When the filter bank included in the audio filter component 210 corresponds to a filter bank used by another system, the audio filter component 210 may retrieve the filter operating characteristics ( For example , center frequency, gain, Q factor, etc.). For example, when the ASR system and the noise reduction system 100 each use a mel filter bank, the noise reduction application 162 can retrieve filter features from the ASR system, such as mel frequency cepstral coefficients (MFCCs) that define the frequency range of each filter. The noise reduction application 162 can then configure the filter bank to include the retrieved features.
[0031] The signal energy detection component 222 calculates a signal energy value for each filtered signal 212-1 included in the set of filtered signals 212. The signal energy detection component 222 receives the set of filtered signals 212 from the audio filtering component 210 and determines a set of corresponding detected energy values 223 ( For example , 223-1, 223-2, etc.). For example, the signal energy detection component 222 can receive the filtered signal 212-1 for a given time slice and calculate a signal energy value, such as an average power. In another example, the signal energy detection component 222 can calculate a root mean square (RMS) value of the filtered signal 212-1 within a given time slice.
[0032] In some embodiments, the signal energy detection component 222 may use different time constants for different frequency ranges. For example, the signal energy detection component 222 may use different time constants associated with each filter in the filter bank of the audio filtering component 210. Additionally or alternatively, the signal energy detection component 222 may detect multiple energy values 223 of the filtered signal 212-1. For example, the signal energy detection component 222 may continuously calculate multiple RMS values of the filtered signal 212-1 for different time ranges. In this case, the signal energy detection component 222 stores the lowest RMS value and sends the lowest RMS value to the energy difference detection component 224 as the detected energy value 223-1.
[0033] The energy difference detection component 224 receives the set of detected energy values 223 from the signal energy detection component 222 and generates one or more energy differences 225 based on comparing the set of detected energy values 223. For example , 225-1, 225-2, etc.). For example, the energy difference detection component 224 can calculate the energy difference 225-1 by comparing the detected energy value 223-1 corresponding to the filtered signal 212-1 with the detected energy value 223-2 corresponding to the filtered signal 212-2. Additionally or alternatively, the energy difference detection component 224 can select a single energy difference 225-1 from the set of energy differences 225 and transmit the selected energy difference 225-1 to the noise threshold configuration component 230.
[0034] In various embodiments, the energy difference detection component 224 may calculate a plurality of energy differences 225, wherein each energy difference 225-1 corresponds to a pair of adjacent filtered signals 212-1, 212-2. In this case, the energy difference detection component 224 may determine the largest calculated energy difference in the set of calculated energy differences 225 as the selected energy difference 225-1. For example, Table 1 shows a set of example energy differences 225 corresponding to a set of filtered signals 212 decomposed by a filter bank included in the audio filtering component 210.
[0035] filter Signal energy value Signal energy difference Filter 1 0.803 N / A Filter 2 0.720 0.083 Filter 3 0.105 0.615 Filter 4 0.630 0.525 Filter 5 0.422 0.208
[0036] Table 1: Energy difference of signals in adjacent filters
[0037] In the above example, the energy difference detection component 224 can determine the maximum signal energy value difference (0.615) as the selected energy difference 225 - 1. The energy difference detection component 224 can transmit the selected energy difference 225 - 1 to the noise threshold configuration component 230.
[0038] The noise threshold configuration component 230 receives the selected energy difference 225-1 from the energy difference detection component 224. The noise threshold configuration component 230 also receives the initial noise threshold 232. The noise threshold configuration component 230 generates the adjusted noise threshold 234 by modifying the initial noise threshold 232 based on the value of the selected energy difference 225-1. For example, the noise threshold configuration component 230 can multiply the absolute value of the selected energy difference 225-1 by a scaling factor to produce a scaled difference. The noise threshold configuration component 230 can then add the scaled difference to the initial noise threshold 232. In this case, the value of the adjusted noise threshold 234 is increased based on the group of calculated energy differences associated with the group of filtered signals 212.
[0039] In some embodiments, the noise threshold configuration component 230 can set one or more initial noise thresholds 232. For example, the noise threshold configuration component 230 can set different initial noise thresholds 232 ( For example , 232-1, 232-2, etc.), each initial noise threshold corresponds to a specific filter in the filter bank and a specific filtered signal 212-1. In this case, the noise threshold configuration component 230 can receive a minimum energy value 233-1 associated with each specific filter and / or the group of filtered signals 212. The noise threshold configuration component 230 can then set a different initial noise threshold 232. For each different initial noise threshold 232, the noise threshold configuration component 230 generates an adjusted noise threshold 234 by adding a scaling difference based on the selected energy difference 225-1.
[0040] The energy threshold determination component 236 receives the adjusted noise threshold 234 and the set of detected energy values 223 calculated by the signal energy detection component 222. The energy threshold determination component 236 evaluates the detected energy value 223-1 included in the set of detected energy values 223 relative to the adjusted noise threshold 234. In some embodiments, the energy threshold determination component 236 compares the detected energy value 223-1 to the adjusted noise threshold 234-1 corresponding to the filtered signal 212-1.
[0041] When the energy threshold determination component 236 determines that the detected energy value 223-1 is below the adjusted noise threshold 234, the energy threshold determination component 236 generates a threshold indication 237 corresponding to the filtered signal 212-1. Otherwise, the energy threshold determination component 236 does not generate any threshold indication corresponding to the filtered signal 212-1. In this case, the noise reduction application 162 does not change the filtered signal 212-1.
[0042] The signal attenuation component 240 includes one or more filters that change a subset of filtered signals included in the set of filtered signals 212. The signal attenuation component 240 receives one or more threshold indications 237 ( For example , 237-1, 237-2, etc.), where each threshold indication 237-2 corresponds to a particular filtered signal 212-2. The threshold indication 237-2 of a particular filtered signal 212-2 indicates that the detected energy value 233-2 of the filtered signal 212-2 is below the adjusted noise threshold 234. The signal attenuation component 240 responds to the threshold indication 237-2 of a given filtered signal 212-2 by changing the filtered signal 212-2. The signal attenuation component 240 generates a set of attenuated filtered signals 242, which are attenuated subband signals associated with components of the input audio signal 130.
[0043] In some embodiments, the signal attenuation component 240 may attenuate the filtered signal 212-2 by applying a filter to the signal so as to reduce the energy of the filtered signal 212-2. Additionally or alternatively, the signal attenuation component 240 may apply an attenuation factor to the filtered signal. For example, the signal attenuation component 240 may multiply the filtered signal 212-2 by zero so that the energy of the resulting attenuated filtered signal 242 is negligible. In another example, the signal attenuation component 240 may multiply the filtered signal by a particular constant ( For example , 0.25) to reduce the energy level of the filtered signal 212-2 by a constant value.
[0044] The signal combiner component 250 combines the set of filtered signals 212, 242. The signal combiner component 250 includes a filter bank that synthesizes the set of signals 212, 242 to generate the output audio signal 140. In some embodiments, the signal combiner component 250 includes the same filter bank as the filter bank included in the audio filtering component 210. The signal combiner component 250 receives the unchanged filtered signal subset 212 from the audio filtering component 210 and receives the attenuated filtered signal subset 242 from the signal attenuation component 240 ( For example , 242-1, 242-2, etc.). The signal combiner component 250 combines the filtered signal subsets 212, 242 to synthesize the output audio signal 140. For example, the signal combiner component 250 can combine the individual filtered signals included in the unchanged filtered signal subset 212 and / or the attenuated filtered signal subset 242 for a given time slice so that the output audio signal 140 includes the complete audio spectrum for the given time slice.
[0045] In some embodiments, one or more filtered signals included in the subsets 212, 242 have overlapping frequency ranges. In this case, for a particular overlapping frequency range, the signal combiner component 250 may select the filtered signal 212-1, 242-2 having the highest detected energy value 233-1, 233-2. Additionally or alternatively, the signal combiner component 250 may select the unchanged filtered signal 212-1 in place of the attenuated filtered signal 242-2.
[0046] Figure 3 It shows that various embodiments according to the present disclosure can be Figure 1 A graph of a noise reduction system implemented to filter an input audio signal. As shown in the figure, a graph 300 shows a Mel filter bank 310 ( For example , 310-1, 310-2, etc.) The frequency values are along the x-axis and the amplitude values are along the y-axis.
[0047] In operation, the filters 310-1, 310-2 included in the Mel filter bank 310 decompose the input audio signal 130 and filter it to produce the group of filtered signals 212. In various embodiments, the Mel filter bank 310 is included in the audio filtering component 210. For example, the filter bank 310 may include a group of 21 or more Mel filters that process the portion of the input audio signal 130 in the frequency range of 60 Hz to 8 kHz. In addition or alternatively, one or more filters included in the Mel filter bank 310 may overlap. In this case, both filters can process and filter the overlapping frequency range of the input audio signal 130. In some embodiments, other groups of filters can be used as filter banks for the audio filtering component 210. For example, the audio filtering component 210 can use a Bark filter bank that includes a group of 30 Bark filters that process the frequency range of 0 Hz to 16 kHz. In some
[0048] Graph 300 shows two Mel filters 310-1, 310-2 included in Mel filter bank 310. Each Mel filter 310-1, 310-2 in Mel filter bank 310 processes a specific frequency range corresponding to bandwidth 314, 324 of input audio signal 130. In various embodiments, each Mel filter 310-1, 310-2 may have different bandwidths. For example, Mel filter 310-2 processing higher frequencies may have a bandwidth 324 greater than the bandwidth 314 of Mel filter 310-1 processing lower frequencies. As shown, the center frequency 312 of Mel filter 310-1 is 300Hz, and bandwidth 314 is 65Hz. Therefore, Mel filter 310-1 processes the part of input audio signal 130 in the frequency range of 267Hz-333Hz. Similarly, the center frequency 322 of Mel filter 310-2 is 2000Hz, and bandwidth 324 is 520Hz. Therefore, the Mel filter 310 - 2 processes the portion of the input audio signal 130 within the frequency range of 1478 Hz-2260 Hz.
[0049] In various embodiments, other systems besides the noise reduction system 100 may also use the Mel filter bank 310. For example, an automatic speech recognition system may use the Mel filter bank 310 on the input audio signal 130 and / or the output audio signal 140 to extract features from the audio signal being filtered.
[0050] Figure 4 It shows that various embodiments according to the present disclosure can be Figure 1 4. A graph of the noise reduction system implemented by the invention to determine the energy of a portion of a filtered audio signal. As shown, graph 400 shows an amplitude graph of a filtered signal 410 included in the set of filtered signals 212. The frequency values are along the x-axis and the amplitude values are along the y-axis.
[0051] In operation, the signal energy detection component 222 receives the filtered signal 410 from the audio filtering component 210 and determines one or more signal energy values 422-426. In various embodiments, the signal energy detection component 222 can determine a plurality of signal energy values 422-426 associated with the filtered signal 410. Each of the signal energy values 422-426 can correspond to a different time range. For example, as more portions of the input audio signal 130 are received over time, the signal energy detection component 222 can calculate a running signal energy value.
[0052] The signal energy detection component 222 can store specific signal energy values, such as a minimum signal energy value 426, a maximum signal energy value 422, and / or a total average signal energy value 424, in association with the filtered signal 410. In some embodiments, as the time range associated with the filtered signal 410 changes, the signal energy detection component 222 can update one or more of the signal energy values 422-426. Additionally or alternatively, the signal energy detection component 222 can transmit one or more of the signal energy values 422-426 as the detected energy value 223. For example, the signal energy detection component 222 can transmit the minimum energy value 426 to the energy difference detection component 224, and can transmit the maximum signal energy value 422 and / or the total average signal energy value 424 to the energy threshold determination component 236.
[0053] Figure 5 It shows that various embodiments according to the present disclosure can be Figure 1 2. A graph of a noise reduction system implemented to attenuate a filtered audio signal. As shown, graph 300 shows a graph of the amplitude of a filtered signal 510 compared to an adjusted noise threshold 234. The frequency values are along the x-axis and the amplitude values are along the y-axis.
[0054] In operation, the energy threshold determination component 236 can compare one or more signal energy values associated with the filtered signal 510 to the adjusted noise threshold 234. In some embodiments, the adjusted noise threshold 234 can be a different adjusted noise threshold 234-2 associated with the filtered signal 510. For example, the noise threshold configuration component 230 can generate the adjusted noise threshold 234-2 by first generating an initial noise threshold 232-2 based on the minimum energy value 524.
[0055] The energy threshold determination component 236 compares the signal energy value of the filtered signal to the adjusted noise threshold 234. For example, the energy threshold determination component 236 can compare the total average signal energy value 522 to the adjusted noise threshold 234. As shown, the total average signal energy value 522 is below the adjusted noise threshold 234. In this case, the energy threshold determination component 236 responds to the determination by generating a threshold indication 237-2 and transmitting the threshold indication 237-2 to the signal attenuation component 240.
[0056] Figure 6 It shows that various embodiments according to the present disclosure can be Figure 16 is a graph of a noise reduction system implemented to generate a composite output audio signal. As shown, the graph 600 shows a graph of the amplitude of a portion 610 ("input portion 610") of the input audio signal 130 and a corresponding portion 620 ("output portion 620") of the output audio signal 140 for a given time slice. The frequency values are along the x-axis and the amplitude values are along the y-axis.
[0057] In operation, the noise reduction application 162 generates the output portion 620 by analyzing the input portion 610 and reducing one or more noise elements included in the input portion 610. In various embodiments, the signal combiner component 250 synthesizes the output audio signal 140 by receiving a set of attenuated filtered signals 242 and a set of unaltered signals from the set of filtered signals 212. The signal combiner component 250 includes a filter bank that synthesizes the set of signals 212, 242 to generate the output audio signal 140.
[0058] As shown, for example, the input portion 610 includes one or more subbands corresponding to one or more filtered signals included in the group of filtered signals 212. One or more subbands may include various noise elements. The energy threshold determination component 236 may compare the input portion 610 with the adjusted noise threshold 234 and cause the signal attenuation component 240 to attenuate a subset of the one or more subbands to generate the group of attenuated filtered signals 242. The signal combiner component 250 may then synthesize the group of attenuated filtered signals 242 and the unchanged filtered signal subset 212 to generate the output portion 620. Due to the attenuation of certain subbands, one or more noise elements included in the spectrum of the input portion 610 do not appear in the spectrum of the output portion 620.
[0059] Figure 7 According to various embodiments of the present disclosure, Figure 1 A flowchart of method steps for generating a composite output audio signal by a noise reduction system. Although the method steps are relative to Figures 1 to 6 Although described with reference to a system, it should be understood by those skilled in the art that any system configured to perform the method steps in any order falls within the scope of various embodiments. In some embodiments, the noise reduction application 162 may continuously perform the method 700 on the input audio signal 130 in real time.
[0060] As shown, method 700 starts from step 701, in which the noise reduction application 162 uses a filter bank to filter the input audio signal 130. The audio filter component 210 included in the noise reduction application 162 receives the input audio signal 130. In some embodiments, the input audio signal 130 is a portion of the input audio signal corresponding to a specific time slice. In addition or alternatively, the noise reduction application 162 can continuously receive the portion of the input audio signal corresponding to another time slice and filter it. In some embodiments, the audio filter component 210 includes one or more transform components to generate a frequency domain version of the input audio signal 130. The audio filter component 210 includes one or more filters that decompose the input audio signal 130 into a group of filtered signals 212. In some embodiments, the audio filter component 210 includes a Mel filter bank 310, wherein each Mel filter 310-1 in the Mel filter bank 310 processes a specific frequency range of the input audio signal 130.
[0061] At step 703, the noise reduction application 162 determines energy values 223 of the set of filtered signals 212 generated by the audio filtering component 210. The signal energy detection component 222 included in the noise reduction application 162 receives the set of filtered signals 212 from the audio filtering component 210. For each filtered signal 212-1, the signal energy detection component 222 determines a corresponding detected energy value 223-1. For example, the signal energy detection component 222 can calculate the RMS value of the signal energy of the filtered signal 212-1 as the detected energy value 223-1.
[0062] At step 705, the noise reduction application 162 sets noise thresholds based on the energy values of the filtered signals. The noise reduction application 162 generates one or more adjusted noise thresholds 234 based on the set of detected energy values 223 provided by the signal energy detection component 222. In some embodiments, the noise reduction application calculates one or more initial noise thresholds 232 for the set of filtered signals 212. In various embodiments, the noise reduction application 162 calculates a set of energy differences 225 associated with the set of detected energy values 223. The noise reduction application 162 then uses at least the selected energy difference 225-1 to generate the adjusted noise thresholds 234.
[0063] An energy difference detection component 224 included in the noise reduction application 162 receives the set of detected energy values 223 and generates a set of energy differences 225. For example, the energy difference detection component 224 can calculate the energy difference 225-2 by comparing the first detected energy value 223-1 corresponding to the filtered signal 212-1 and the second detected energy value 223-2 corresponding to the filtered signal 212-2. In some embodiments, the energy difference detection component 224 can be based on comparing multiple sets of detected energy values 223 ( For example , the set of energy differences 225 is calculated by comparing the filtered signals 212-3, 212-4 produced by adjacent filters in the filter bank. In this case, the energy difference detection component 224 can output a selected energy difference 225-1 corresponding to the largest calculated energy difference 225-3 in the set of energy differences 225.
[0064] The noise threshold configuration component 230 receives the selected energy difference 225-1 and the initial noise threshold 232. The noise threshold configuration component 230 generates an adjusted noise threshold 234 by modifying the initial noise threshold 232 based on the value of the selected energy difference 225-1. For example, the noise threshold configuration component 230 may multiply the selected energy difference 225-1 by a scaling factor to generate a scaled difference, and then add the scaled difference to the initial noise threshold 232. In some embodiments, the noise threshold configuration component 230 may generate a set of initial noise thresholds 232. In this case, the noise threshold configuration component 230 may generate a set of adjusted noise thresholds 234, each corresponding to a separate initial noise threshold 232.
[0065] At step 707, the noise reduction application 162 determines whether the energy of the audio signal in the filter is below the noise threshold. The energy threshold determination component 236 included in the noise reduction application 162 receives the adjusted noise threshold 234 and the set of detected energy values 223 calculated by the signal energy detection component 222. The energy threshold determination component 236 evaluates each detected energy value 223-2 included in the set of detected energy values 223 using the adjusted noise threshold 234. In some embodiments, when the noise threshold configuration component 230 generates a set of adjusted noise thresholds 234, the energy threshold determination component 236 may compare each detected energy value 223-2 with its corresponding adjusted noise threshold 234-2.
[0066] When the energy threshold determination component 236 determines that the detected energy value 223-2 is below the adjusted noise threshold 234, the energy threshold determination component 236 generates a threshold indication 237 corresponding to the filtered signal 212-2. After the energy threshold determination component 236 transmits the threshold indication 237 to the signal attenuation component 240, the noise reduction application 162 proceeds to step 709. Otherwise, the noise reduction application 162 proceeds to step 711, in which the noise reduction application 162 does not change the filtered signal 212-1 corresponding to the detected energy value 223-1 that is above the adjusted noise threshold 234.
[0067] At step 709, the noise reduction application 162 changes the filtered signal. The signal attenuation component 240 included in the noise reduction application 162 receives a threshold indication 237 from the energy threshold determination component 236 that the detected energy value 233-2 of a particular filtered signal 212-2 is below the adjusted noise threshold 234. The signal attenuation component 240 responds to the threshold indication 237 by changing the corresponding filtered signal 212-2. In some embodiments, the signal attenuation component 240 may attenuate the signal by applying a filter to the filtered signal so as to reduce the energy of the filtered signal 212-2. Additionally or alternatively, the signal attenuation component 240 may apply an attenuation factor to the filtered signal. For example, the signal attenuation component 240 may multiply the filtered signal 212-2 by zero so that the resulting attenuated filtered signal 242 has no energy. In another example, the signal attenuation component 240 may multiply the filtered signal by a specific constant ( For example , 0.25) to reduce the energy level of the filtered signal 212-2 by a constant value.
[0068] At step 713, the noise reduction application 162 combines the filtered audio signals. The signal combiner component 250 included in the noise reduction application 162 receives the unchanged filtered signal subset 212 from the audio filtering component 210 and receives the attenuated filtered signal subset 242 from the signal attenuation component 240. The signal combiner component 250 combines the filtered signal subsets 212, 242 to synthesize the output audio signal 140. For example, the signal combiner component 250 can synthesize the filtered signals 212, 242 so that the output audio signal 140 includes a complete audio spectrum for a given time. In some embodiments, one or more filtered signals 212, 242 have overlapping frequency ranges. In this case, for a specific overlapping frequency range, the signal combiner component 250 can select the filtered signal 212, 242 with the highest detected energy. In addition or alternatively, the signal combiner component 250 can select the unchanged filtered signal 212 instead of the attenuated filtered signal 242.
[0069] In summary, the noise reduction system receives an input audio signal and decomposes certain parts of the audio signal to generate a group of filtered signals. In some embodiments, the noise reduction system may adopt a filter bank for processing an audio signal of speech, such as a Mel filter bank. The noise reduction system detects a group of signal energies associated with each filtered signal. The noise reduction system compares the detected signal energies of the group of adjacent filtered signals to calculate a group of energy differences. The noise reduction system modifies the noise threshold based on at least one of the calculated energy differences. In some embodiments, the noise reduction system first determines the maximum energy difference between any adjacent filtered signals, and then increases the initial noise threshold based on the maximum energy difference to produce an adjusted noise threshold.
[0070] The noise reduction system compares the set of detected signal energies to the adjusted noise threshold. Based on the comparison, the noise reduction system changes the filtered signal corresponding to the detected signal energy. In some embodiments, when the detected energy of the filtered signal is below the adjusted noise threshold, the noise reduction system attenuates the filtered signal. The noise reduction system combines the set of signals (including one or more attenuated filtered signals) to synthesize an output audio signal.
[0071] At least one technical advantage of the disclosed technology is that the noise reduction system can use one or more filters that are also used by other audio processing systems to reduce noise elements included in the audio signal. Therefore, the noise reduction system can effectively remove the noise elements from the audio signal so that the other audio processing system can more effectively process the audio signal without degrading other parts of the audio signal.
[0072] 1. In some embodiments, a method for reducing noise in an audio signal includes: decomposing a first input audio signal into a first group of sub-band signals; detecting a first group of signal energy values, wherein each signal energy value included in the first group of signal energy values is associated with a sub-band signal included in the first group of sub-band signals; generating a first noise reduction threshold based on at least one sub-band signal included in the first group of sub-band signals; for each sub-band signal included in the first group of sub-band signals, comparing the signal energy value associated with the sub-band signal with the first noise reduction threshold; based on determining that at least one sub-band signal included in the first group of sub-band signals is associated with a signal energy value lower than the first noise reduction threshold, attenuating the at least one sub-band signal to generate a first group of attenuated sub-band signals; and combining at least one sub-band signal included in the first group of sub-band signals with at least one attenuated sub-band signal included in the first group of attenuated sub-band signals to generate an output audio signal.
[0073] 2. The method of clause 1 further comprises determining at least a first energy difference between two signal energy values included in the first set of signal energy values, wherein generating the first noise reduction threshold based on the at least one subband signal comprises generating the first noise reduction threshold based on the first energy difference.
[0074] 3. The method of clause 1 or 2, wherein generating the first noise reduction threshold based on the first energy difference comprises combining the first energy difference with an initial noise reduction threshold.
[0075] 4. A method as described in any of clauses 1-3, wherein generating the first noise reduction threshold comprises: comparing multiple pairs of signal energy values in the first group of signal energy values, wherein each pair of signal energy values is associated with a subband signal included in the first group of subband signals and is generated by adjacent filters; for each comparison, calculating an energy difference, wherein each energy difference is included in a first group of energy differences; and selecting a maximum energy difference from the first group of energy differences, wherein the first noise reduction threshold is based on the maximum energy difference.
[0076] 5. A method as described in any of clauses 1-4, which also includes: for each subband signal included in the first group of subband signals, generating an initial noise reduction threshold associated with the subband signal; for each initial noise reduction threshold, generating an adjusted noise reduction threshold associated with the subband signal, wherein the adjusted noise reduction threshold is based on the initial noise reduction threshold and at least a first energy difference between two signal energy values included in the first group of signal energy values; for each subband signal included in the first group of subband signals, comparing the signal energy value associated with the subband signal and the adjusted noise reduction threshold associated with the subband signal; and based on determining that at least one subband signal included in the first group of subband signals is associated with a signal energy value lower than the adjusted noise reduction threshold associated with the at least one subband signal, attenuating the at least one subband signal to generate a first group of attenuated subband signals.
[0077] 6. A method as described in any of clauses 1-5, which also includes: receiving an initial input signal, wherein the initial input signal is a continuous time-domain audio signal; and transforming the initial input signal to generate the first audio input signal, wherein the first audio input signal is a frequency domain representation of the initial input signal.
[0078] 7. A method as described in any of clauses 1-6, wherein a first signal energy value included in the first set of signal energy values is a root mean square (RMS) value of a first sub-band signal.
[0079] 8. The method of any one of clauses 1 to 7, wherein decomposing the first input audio signal into the first set of subband signals comprises decomposing the first input audio signal using a first filter bank, wherein filters of at least one subgroup included in the first filter bank overlap.
[0080] 9. A method as described in any of clauses 1-8, further comprising: for each subband signal included in the first group of subband signals, associating a time constant with the subband signal, and determining the signal energy value associated with the subband signal based on the associated time constant.
[0081] 10. In some embodiments, a noise reduction system includes a memory and a processor coupled to the memory, wherein the processor is configured to: decompose a first input audio signal into a first group of subband signals via a first filter group; detect a first group of signal energy values, wherein each signal energy value included in the first group of signal energy values is associated with a subband signal included in the first group of subband signals; generate a first noise reduction threshold based on at least one subband signal included in the first group of subband signals; for each subband signal included in the first group of subband signals, compare the signal energy value associated with the subband signal with the first noise reduction threshold; based on determining that at least one subband signal included in the first group of subband signals is associated with a signal energy value lower than the first noise reduction threshold, attenuate the at least one subband signal to generate a first group of attenuated subband signals; and combine at least one subband signal included in the first group of subband signals with at least one attenuated subband signal included in the first group of attenuated subband signals via at least one of the first filter group or the second filter group to generate an output audio signal.
[0082] 11. The noise reduction system of clause 10, wherein at least one of the first filter bank or the second filter bank comprises a first set of Mel filters.
[0083] 12. The noise reduction system of clause 10 or 11, wherein the processor is further configured to transmit the output audio signal to a speech recognition system, wherein the speech recognition system uses the first filter bank.
[0084] 13. The noise reduction system of any of clauses 10-12, wherein the processor is further configured to receive a first set of Mel-Frequency Cepstral Coefficients (MFCCs) and to modify the first set of Mel filters based on the first set of MFCCs.
[0085] 14. A noise reduction system as described in any of clauses 10-13, wherein the processor is further configured to: receive a first set of Mel-frequency cepstral coefficients (MFCCs) from a speech recognition system, wherein the speech recognition system uses the first filter group configured with the first set of MFCCs; modify the first set of Mel filters based on the first set of MFCCs; and transmit the output audio signal to the speech recognition system, wherein the speech recognition system extracts a set of features from the output audio signal.
[0086] 15. A noise reduction system as described in any of clauses 10-14, wherein the processor is also configured to determine at least a first energy difference between two signal energy values included in the first group of signal energy values, and wherein the processor is configured to generate the first noise reduction threshold based on the at least one subband signal by generating the first noise reduction threshold based on the first energy difference.
[0087] 16. The noise reduction system of any of clauses 10-15, wherein the processor is configured to generate the first noise reduction threshold based on the first energy difference by combining the first energy difference with an initial noise reduction threshold.
[0088] 17. A noise reduction system as described in any of clauses 10-16, wherein the processor is configured to generate the first noise reduction threshold by: comparing multiple pairs of signal energy values in the first group of signal energy values, wherein each pair of signal energy values is associated with a subband signal included in the first group of subband signals and is generated by adjacent filters included in the first filter group; for each comparison, calculating an energy difference, wherein each energy difference is included in the first group of energy differences; and selecting a maximum energy difference from the first group of energy differences, wherein the first noise reduction threshold is based on the maximum energy difference.
[0089] 18. In some embodiments, one or more non-transitory computer-readable media include instructions that, when executed by one or more processors, cause the one or more processors to perform the following steps: decompose a first input audio signal into a first group of sub-band signals; detect a first group of signal energy values, wherein each signal energy value included in the first group of signal energy values is associated with a sub-band signal included in the first group of sub-band signals; for each sub-band signal included in the first group of sub-band signals, generate an initial noise reduction threshold associated with the sub-band signal; for each initial noise reduction threshold, generate an adjusted noise reduction threshold associated with the sub-band signal, wherein the adjusted noise reduction threshold is based on the initial noise reduction threshold and the noise reduction threshold included in the at least a first energy difference between two signal energy values in the first group of signal energy values; for each subband signal included in the first group of subband signals, comparing the signal energy value associated with the subband signal and the adjusted noise reduction threshold associated with the subband signal; and based on determining that at least one subband signal included in the first group of subband signals is associated with a signal energy value below the adjusted noise reduction threshold associated with the at least one subband signal, attenuating the at least one subband signal to generate a first group of attenuated subband signals; and combining at least one subband signal included in the first group of subband signals with at least one attenuated subband signal included in the first group of attenuated subband signals to generate an output audio signal.
[0090] 19. One or more non-transitory computer-readable media as described in clause 18, further comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform the following steps: comparing multiple pairs of signal energy values in the first set of signal energy values, wherein each pair of signal energy values is associated with a subband signal included in the first set of subband signals and is generated by adjacent filters; for each comparison, calculating an energy difference, wherein each energy difference is included in the first set of energy differences; and selecting a maximum energy difference from the first set of energy differences, wherein the first energy difference is based on the maximum energy difference.
[0091] 20. The one or more non-transitory computer-readable media of clause 18 or 19, wherein the neighboring filters are Mel filters included in a first filter bank.
[0092] Any and all combinations of any claim elements recited in any claim and / or any elements described in this application, in any manner, are within the scope of this disclosure and protection.
[0093] Descriptions of various embodiments have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments.
[0094] The various aspects of the embodiments of the present disclosure may be implemented as a system, method or computer program product. Therefore, the various aspects of the present disclosure may take the form of a complete hardware implementation, a complete software implementation (including firmware, resident software, microcode, etc.) or a combination of software and hardware implementations, which may be generally referred to as "modules" or "systems" herein. In addition, any hardware and / or software technology, process, function, component, engine, module or system described in the present disclosure may be implemented as a circuit or circuit group. In addition, the various aspects of the present disclosure may take the form of a computer program product implemented in one or more computer-readable media, and the computer-readable medium has a computer-readable program code implemented thereon.
[0095] Any combination of one or more computer-readable media may be utilized. A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or apparatus, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of computer-readable storage media would include the following: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer-readable storage medium may be any tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or device.
[0096] Aspects of the present disclosure are described above with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to the embodiments of the present disclosure. It should be understood that each frame in the flowchart and / or block diagram and the frame combination in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine. The instructions enable the function / action specified in one or more frames of the flowchart and / or block diagram to be implemented when executed via the processor of a computer or other programmable data processing device. Such processors can be, but are not limited to, general-purpose processors, special-purpose processors, specific application processors or field programmable gate arrays.
[0097] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functions and operations of possible implementations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram may represent a module, a fragment or a portion of a code, and the code includes one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the box may occur in an order different from that indicated in the accompanying drawings. For example, two boxes shown in succession may actually be executed substantially simultaneously, or these boxes may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each box of the block diagram and / or flowchart and the combination of boxes in the block diagram and / or flowchart can be implemented by a system based on dedicated hardware that performs a specified function or action or a combination of dedicated hardware and computer instructions.
[0098] While the foregoing is directed to several embodiments of the present disclosure, other and further embodiments of the present disclosure may be envisaged without departing from the basic scope of the present disclosure, and the scope of the present disclosure is determined by the appended claims.
Claims
1. A method for reducing noise in an audio signal, the method comprising: Decomposing a first input audio signal into a first group of sub-band signals; detecting a first set of signal energy values, wherein each signal energy value included in the first set of signal energy values is associated with a subband signal included in the first set of subband signals; adjusting an initial noise reduction threshold to generate a first noise reduction threshold based on at least two signal energy values associated with different subbands included in the first set of signal energy values; For each subband signal included in the first group of subband signals, comparing the signal energy value associated with the subband signal with the first noise reduction threshold; based on determining that at least one subband signal included in the first set of subband signals is associated with a signal energy value below the first noise reduction threshold, attenuating the at least one subband signal to generate a first set of attenuated subband signals; and At least one subband signal included in the first group of subband signals is combined with at least one attenuated subband signal included in the first group of attenuated subband signals to generate an output audio signal.
2. The method of claim 1 , further comprising determining at least a first energy difference between two signal energy values included in the first set of signal energy values, wherein adjusting the initial noise reduction threshold based on the at least two signal energy values comprises generating the first noise reduction threshold based on the first energy difference. 3 . The method of claim 2 , wherein generating the first noise reduction threshold based on the first energy difference comprises combining the first energy difference with the initial noise reduction threshold.
4. The method of claim 1, wherein adjusting the initial noise reduction threshold comprises: comparing a plurality of pairs of signal energy values in the first set of signal energy values, wherein each pair of signal energy values is associated with a subband signal included in the first set of subband signals and generated by adjacent filters; for each comparison, calculating an energy difference, wherein each energy difference is included in a first set of energy differences; and A maximum energy difference is selected from the first set of energy differences, wherein the first noise reduction threshold is based on the maximum energy difference.
5. The method of claim 1, further comprising: generating, for each subband signal included in the first group of subband signals, an initial noise reduction threshold associated with the subband signal; generating, for each initial noise reduction threshold, an adjusted noise reduction threshold associated with the subband signal, wherein the adjusted noise reduction threshold is based on the initial noise reduction threshold and at least a first energy difference between two signal energy values included in the first set of signal energy values; for each subband signal included in the first group of subband signals, comparing the signal energy value associated with the subband signal with the adjusted noise reduction threshold associated with the subband signal; and Based on determining that at least one subband signal included in the first set of subband signals is associated with a signal energy value below an adjusted noise reduction threshold associated with the at least one subband signal, the at least one subband signal is attenuated to generate a first set of attenuated subband signals.
6. The method of claim 1, further comprising: receiving an initial input signal, wherein the initial input signal is a continuous time-domain audio signal; and The initial input signal is transformed to generate a first audio input signal, wherein the first audio input signal is a frequency domain representation of the initial input signal.
7. The method of claim 1, wherein a first signal energy value included in the first set of signal energy values is a root mean square (RMS) value of a first subband signal.
8. The method of claim 1 , wherein decomposing the first input audio signal into the first set of sub-band signals comprises: The first input audio signal is decomposed using a first filter bank, wherein filters of at least a sub-group included in the first filter bank overlap.
9. The method of claim 1, further comprising: for each subband signal included in the first set of subband signals, associating a time constant with the subband signal, and The signal energy value associated with the subband signal is determined based on an associated time constant.
10. A noise reduction system, comprising: Memory; as well as a processor coupled to the memory, wherein the processor is configured to: Decomposing a first input audio signal into a first set of subband signals via a first filter bank; detecting a first set of signal energy values, wherein each signal energy value included in the first set of signal energy values is associated with a subband signal included in the first set of subband signals; adjusting an initial noise reduction threshold to generate a first noise reduction threshold based on at least two signal energy values associated with different subbands included in the first set of signal energy values; For each subband signal included in the first group of subband signals, comparing the signal energy value associated with the subband signal with the first noise reduction threshold; based on determining that at least one subband signal included in the first set of subband signals is associated with a signal energy value below the first noise reduction threshold, attenuating the at least one subband signal to generate a first set of attenuated subband signals; and At least one subband signal included in the first group of subband signals is combined with at least one attenuated subband signal included in the first group of attenuated subband signals via at least one of the first filter bank or the second filter bank to generate an output audio signal.
11. The noise reduction system of claim 10, wherein at least one of the first filter bank or the second filter bank comprises a first set of Mel filters.
12. The noise reduction system of claim 11, wherein the processor is further configured to transmit the output audio signal to a speech recognition system, wherein the speech recognition system uses the first filter bank.
13. The noise reduction system of claim 11, wherein the processor is further configured to: receiving a first set of Mel-frequency cepstral coefficients (MFCCs); and The first set of Mel filters is modified based on the first set of MFCCs.
14. The noise reduction system of claim 11, wherein the processor is further configured to: receiving a first set of Mel-frequency cepstral coefficients (MFCCs) from a speech recognition system, wherein the speech recognition system uses the first filter bank configured with the first set of MFCCs; modifying the first set of Mel filters based on the first set of MFCCs; The output audio signal is transmitted to the speech recognition system, wherein the speech recognition system extracts a set of features from the output audio signal.
15. The noise reduction system of claim 10, wherein the processor is further configured to determine at least a first energy difference between two signal energy values included in the first set of signal energy values, wherein the processor is configured to generate the first noise reduction threshold based on the first energy difference.
16. The noise reduction system of claim 15, wherein the processor is configured to generate the first noise reduction threshold based on the first energy difference by combining the first energy difference with an initial noise reduction threshold.
17. The noise reduction system of claim 10, wherein the processor is configured to generate the first noise reduction threshold by: comparing a plurality of pairs of signal energy values in the first set of signal energy values, wherein each pair of signal energy values is associated with a subband signal included in the first set of subband signals and generated by adjacent filters included in the first filter bank; for each comparison, calculating an energy difference, wherein each energy difference is included in a first set of energy differences; and A maximum energy difference is selected from the first set of energy differences, wherein the first noise reduction threshold is based on the maximum energy difference.
18. One or more non-transitory computer-readable media comprising instructions that, when executed by one or more processors, cause the one or more processors to perform the following steps: Decomposing a first input audio signal into a first group of sub-band signals; detecting a first set of signal energy values, wherein each signal energy value included in the first set of signal energy values is associated with a subband signal included in the first set of subband signals; generating, for each subband signal included in the first group of subband signals, an initial noise reduction threshold associated with the subband signal; adjusting, for each initial noise reduction threshold, the initial noise reduction threshold based on at least a first energy difference between at least two signal energy values associated with different subbands included in the first set of signal energy values to generate an adjusted noise reduction threshold associated with the subband signal; for each subband signal included in the first group of subband signals, comparing the signal energy value associated with the subband signal with the adjusted noise reduction threshold associated with the subband signal; and based on determining that at least one subband signal included in the first set of subband signals is associated with a signal energy value below an adjusted noise reduction threshold associated with the at least one subband signal, attenuating the at least one subband signal to generate a first set of attenuated subband signals; and At least one subband signal included in the first group of subband signals is combined with at least one attenuated subband signal included in the first group of attenuated subband signals to generate an output audio signal.
19. The one or more non-transitory computer-readable media of claim 18, further comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform the following steps: comparing a plurality of pairs of signal energy values in the first set of signal energy values, wherein each pair of signal energy values is associated with a subband signal included in the first set of subband signals and generated by adjacent filters; for each comparison, calculating an energy difference, wherein each energy difference is included in a first set of energy differences; and A maximum energy difference is selected from the first set of energy differences, wherein the first energy difference is based on the maximum energy difference.
20. The one or more non-transitory computer-readable media of claim 19, wherein the neighboring filters are Mel filters included in a first filter bank.
Citation Information
Patent Citations
Method for formation of speech recognition parameters
US20030144834A1
Speech determination apparatus and speech determination method
US20120130711A1
System and method for noise estimation with music detection
US20130226572A1
Methods and apparatus for reducing audio conference noise using voice quality measures
US20160261749A1
Noise reduction by using spectral decomposition and non-linear transformation
US5133013A