# Patent

## Title
Noise reduction for automatic speech recognition

## Abstract

Disclosed herein is a noise reduction method for automatic speech recognitionl. A noise reduction method for automatic speech recognition, including: computing a magnitude spectrum of a noisy speech containing a clean speech to be recognized and noise affecting the clean speech; computing a power spectrum of the noisy speech; computing an estimate of a power spectrum of the clean speech; computing an estimate of a power spectrum of the noise; computing an estimate of an a priori signal-to-noise ratio as a function of the estimate of the power spectrum of the clean speech and the estimate of the power spectrum of the noise; computing an estimate of an a posteriori signal-to-noise ratio as a function of the power spectrum of the noisy speech and the estimate of the power spectrum of the noise; computing an attenuation gain as a function of the estimate of the a priori signal-to-noise ratio and the estimate of the a posteriori signal-to-noise ratio; and computing an estimate of a magnitude spectrum of the clean speech as a function of the magnitude spectrum of the noisy speech and the attenuation gain. Computing the estimates of the a priori and the a posteriori signal-to-noise ratios includes computing a noise weighting factor for weighting the estimate of the power spectrum of the noise in the computation of the estimates of the a priori and the a posteriori signal-to-noise ratios; computing a spectral flooring factor for flooring the estimates of the a priori and the a posteriori signal-to-noise ratios; and computing the estimates of the a priori and the a posteriori signal-to-noise ratios also as a function of the noise weighting factor and the spectral flooring factor.

## Background
TECHNICAL FIELD OF THE INVENTION
The present invention relates in general to noise reduction for automatic speech recognition, and in particular to a noise reduction method and system based on Spectral Attenuation Technique, and to an automatic speech recognition system.
BACKGROUND ART
FIG. 1 shows a block diagram of common sources of speech degradation. As may be appreciated, speech from the desired speaker (block 10) is degraded by environmental noise, namely voices of other speakers nearby (block 20) and background noise (block 30), and by communication channel noise and distortion (blocks 40 and 50). Noise reduction techniques (block 60) for automatic speech recognition (block 70) can reduce the (nearly stationary) background noise and the channel noise, whereas non-stationary noise and interfering voices are much more difficult to be eliminated.
FIG. 2 shows a block diagram of an automatic speech recognition system. As may be appreciated, the noisy speech to be recognized is inputted to a short-time spectral analysis (windowed FFT) block 100 which outputs short-time spectra which is in turn inputted to a noise reduction block 110. The de-noised short-time spectra are inputted to a RASTA-PLP Front-End 120, which outputs the total energy of the speech signal, the cepstral coefficients, and the first and second derivatives of the total energy and of the cepstral coefficients, which are all inputted to an automatic speech recognition block 130.
RASTA-PLP Front-End 120 implements a technique known as “RelAtive SpecTrAl Technique”, which is an improvement of the traditional PLP (Perceptual Linear Prediction) method and consists in a special filtering of the different frequency channels of a PLP analyzer. The previous filtering is done to make speech analysis less sensitive to the slowly changing or steady-state factors in speech. The RASTA method replaces the conventional critical-band short-term spectrum in PLP and introduces a less sensitive spectral estimate. For a more detailed description of a RASTA processing, reference may be made to H. Hermansky and N. Morgan, RASTA Processing of Speech, IEEE Transactions on Speech and Audio Processing, Vol. 2 No. 4, October 1994.
The noise reduction block 110 performs an environmental noise estimate 112 based on the short-time spectra and then an environmental noise reduction 114 based on the short-time spectra and the estimated noise, by using either a so-called “Spectral Subtraction Technique” or a so-called “Spectral Attenuation Technique”.
The aforementioned techniques will be described in detail hereinafter by denoting the power spectrum of the noisy speech by |Yk(m)|2, the power spectrum of the clean speech by |Xk(m)|2, the power spectrum of the additive noise by |Dk(m)|2, and the estimate of a quantity by symbol “^”, and wherein k indexes the spectral lines of the spectra and m indexes the time windows within which the noisy speech is processed for noise reduction.
Spectral Subtraction Technique is described in N. Virag, Single Channel Speech Enhancement Based on Masking Properties of the Human Auditory System, IEEE Transaction on Speech and Audio Processing, Vol. 7, No. 2, March 1999, which deals with the problem of noise reduction for speech recognition and discloses the use of a noise overestimation or oversubtraction factor and a spectral flooring factor.
In particular, the Spectral Subtraction Technique is based on the principle of reducing the noise by subtracting an estimate |{circumflex over (D)}k(m)|2 of the power spectrum of the additive noise from the power spectrum |Yk(m)|2 of the noisy speech, thus obtaining an estimate |{circumflex over (X)}k(m)|2 of the power spectrum of the clean speech:




  
    
      
        
          
            
            
              
                
                  X
                  ^
                
                k
              
              ⁡
              
                (
                m
                )
              
            
            
          
          2
        
        =
        
          {
          
            
              
                
                  
                  ⁢
                  
                    
                      
                        
                        
                          
                            Y
                            k
                          
                          ⁡
                          
                            (
                            m
                            )
                          
                        
                        
                      
                      2
                    
                    -
                    
                      
                        α
                        ⁡
                        
                          (
                          m
                          )
                        
                      
                      ⁢
                      
                        
                          
                          
                            
                              
                                D
                                ^
                              
                              k
                            
                            ⁡
                            
                              (
                              m
                              )
                            
                          
                          
                        
                        2
                      
                    
                  
                
              
              
                
                  
                  ⁢
                  
                    
                      
                        if
                        ⁢
                        
                          
                        
                        ⁢
                        
                          
                            
                            
                              
                                Y
                                k
                              
                              ⁡
                              
                                (
                                m
                                )
                              
                            
                            
                          
                          2
                        
                      
                      -
                      
                        
                          α
                          ⁡
                          
                            (
                            m
                            )
                          
                        
                        ⁢
                        
                          
                            
                            
                              
                                
                                  D
                                  ^
                                
                                k
                              
                              ⁡
                              
                                (
                                m
                                )
                              
                            
                            
                          
                          2
                        
                      
                    
                    >
                    
                      
                        β
                        ⁡
                        
                          (
                          m
                          )
                        
                      
                      ⁢
                      
                        
                          
                          
                            
                              Y
                              k
                            
                            ⁡
                            
                              (
                              m
                              )
                            
                          
                          
                        
                        2
                      
                    
                  
                
              
            
            
              
                
                  
                  ⁢
                  
                    
                      β
                      ⁡
                      
                        (
                        m
                        )
                      
                    
                    ⁢
                    
                      
                        
                        
                          
                            Y
                            k
                          
                          ⁡
                          
                            (
                            m
                            )
                          
                        
                        
                      
                      2
                    
                  
                
              
              
                
                  
                  ⁢
                  otherwise
                
              
            
          
        
      
    
    
      
        (
        1
        )
      
    
  




wherein α(m) is the noise overestimation factor, β(m) is the spectral flooring factor.

In particular, the residual noise spectrum consists of peaks and valleys with random occurrences, and the overestimation factor α(m) and the spectral flooring factor β(m) have been introduced to reduce the spectral excursions.
In detail, the overestimation factor α(m) has been introduced to “overestimate” the noise spectrum, i.e., in other words the overestimation factor α(m) subtracts an overestimation of the noise over the whole spectrum, whereas the spectral flooring factor β(m) prevents the spectral lines of the estimate |{circumflex over (X)}k(m)|2 of the power spectrum of the clean speech from descending below a lower bound (β(m)|Yk(m)|2), thereby “filling-in” the deep valleys surrounding narrow peaks (from the enhanced spectrum). In fact, occasional negative estimates of the enhanced power spectrum can occur and in such cases, the negative spectral lines are floored to zero or to some minimal value (floor). Reducing the spectral excursions of noise peaks as compared to when the negative components are set to zero, reduces the amount of musical noise. Essentially by reinserting the broadband noise (noise floor), the remnants of the noise peaks are “masked” by neighboring components of comparable magnitude.
A variant of this technique in known as “Wiener Spectral Subtraction Technique”, which is similar to the previous one but is derived from the optimal filter theory. The estimate |{circumflex over (X)}k(m)|2 of the power spectrum of the clean speech is the following:




  
    
      
        
          
            
            
              
                
                  X
                  ^
                
                k
              
              ⁡
              
                (
                m
                )
              
            
            
          
          2
        
        =
        
          {
          
            
              
                
                  
                  ⁢
                  
                    
                      
                        [
                        
                          
                            
                              
                              
                                
                                  Y
                                  k
                                
                                ⁡
                                
                                  (
                                  m
                                  )
                                
                              
                              
                            
                            2
                          
                          -
                          
                            
                              α
                              ⁡
                              
                                (
                                m
                                )
                              
                            
                            ⁢
                            
                              
                                
                                
                                  
                                    
                                      D
                                      ^
                                    
                                    k
                                  
                                  ⁡
                                  
                                    (
                                    m
                                    )
                                  
                                
                                
                              
                              2
                            
                          
                        
                        ]
                      
                      2
                    
                    
                      
                        
                        
                          
                            Y
                            k
                          
                          ⁡
                          
                            (
                            m
                            )
                          
                        
                        
                      
                      2
                    
                  
                
              
              
                
                  
                  ⁢
                  
                    
                      if
                      ⁢
                      
                        
                      
                      ⁢
                      
                        
                          
                          
                            
                              Y
                              k
                            
                            ⁢
                            
                              (
                              m
                              )
                            
                          
                          
                        
                        2
                      
                    
                    -
                  
                
              
            
            
              
                
                  
                
              
              
                
                  
                    α
                    ⁢
                    
                      (
                      m
                      )
                    
                    ⁢
                    
                      
                        
                        
                          
                            
                              D
                              ^
                            
                            k
                          
                          ⁡
                          
                            (
                            m
                            )
                          
                        
                        
                      
                      2
                    
                  
                  >
                  
                    
                      β
                      ⁡
                      
                        (
                        m
                        )
                      
                    
                    ⁢
                    
                      
                        
                        
                          
                            Y
                            k
                          
                          ⁡
                          
                            (
                            m
                            )
                          
                        
                        
                      
                      2
                    
                  
                
              
            
            
              
                
                  
                  ⁢
                  
                    
                      β
                      ⁡
                      
                        (
                        m
                        )
                      
                    
                    ⁢
                    
                      
                        
                        
                          
                            Y
                            k
                          
                          ⁡
                          
                            (
                            m
                            )
                          
                        
                        
                      
                      2
                    
                  
                
              
              
                
                  
                  ⁢
                  otherwise
                
              
            
          
        
      
    
    
      
        (
        2
        )
      
    
  




An improvement to the Spectral Subtraction Techniques is disclosed in V. Schless, F. Class, SNR-Dependent flooring and noise overestimation for joint application of spectral subtraction and model combination, ICSLP 1998, which proposes to make the noise overestimation factor α(m) and the spectral flooring factor β(m) functions of the global signal-to-noise ratio SNR(m).
Spectral Attenuation Technique, instead, is based on the principle of suppressing the noise by applying a suppression rule, or a non-negative real-valued gain Gk, to each spectral line k of the magnitude spectrum |Yk(m)| of the noisy speech, in order to compute an estimate |{circumflex over (X)}k(m)| of the magnitude spectrum of the clean speech according to the following formula: |{circumflex over (X)}k(m)|=Gk(m)|Yk(m)|.
Many suppression rules have been proposed, and probably one of the most important rules is the so-called Ephraim-Malah spectral attenuation log rule, which is described in Y. Ephraim and D. Malah, Speech Enhancement Using a Minimum Min-Square Error Log-Spectral Amplitude Estimator, IEEE Transaction on Acoustics, Speech, and Signal Processing, Vol. ASSP-33, No. 2, pp. 443-445, 1985.
Ephraim-Malah gain Gk(m) is defined as:




  
    
      
        
          
            G
            k
          
          ⁡
          
            (
            m
            )
          
        
        =
        
          
            
              
                ξ
                k
              
              ⁡
              
                (
                m
                )
              
            
            
              1
              +
              
                
                  ξ
                  k
                
                ⁡
                
                  (
                  m
                  )
                
              
            
          
          ⁢
          
            exp
            ⁡
            
              (
              
                
                  1
                  2
                
                ⁢
                
                  
                    ∫
                    k
                    ∞
                  
                  ⁢
                  
                    
                      
                        e
                        
                          -
                          t
                        
                      
                      t
                    
                    ⁢
                    
                      d
                      t
                    
                  
                
              
              )
            
          
        
      
    
    
      
        (
        3
        )
      
    
  




where:

    
    
        ξk(m) is a so-called a priori signal-to-noise ratio relating to the k-th spectral line and is defined as follows:
    
    






  
    
      
        
          
            ξ
            k
          
          ⁡
          
            (
            m
            )
          
        
        =
        
          
            
              
              
                
                  X
                  k
                
                ⁡
                
                  (
                  m
                  )
                
              
              
            
            2
          
          
            
              
              
                
                  D
                  k
                
                ⁡
                
                  (
                  m
                  )
                
              
              
            
            2
          
        
      
    
    
      
        (
        4
        )
      
    
  




    
    
        vk(m) is defined as:
    
    






  
    
      
        
          
            v
            k
          
          ⁡
          
            (
            m
            )
          
        
        =
        
          
            
              
                ξ
                k
              
              ⁡
              
                (
                m
                )
              
            
            
              1
              +
              
                
                  ξ
                  k
                
                ⁡
                
                  (
                  m
                  )
                
              
            
          
          ⁢
          
            
              γ
              k
            
            ⁡
            
              (
              m
              )
            
          
        
      
    
    
      
        (
        5
        )
      
    
  




    
    
        γk(m) is a so-called a posteriori signal-to-noise ratio relating to the k-th spectral line and is defined as follows:
    
    






  
    
      
        
          
            γ
            k
          
          ⁡
          
            (
            m
            )
          
        
        =
        
          
            
              
              
                
                  Y
                  k
                
                ⁡
                
                  (
                  m
                  )
                
              
              
            
            2
          
          
            
              
              
                
                  D
                  k
                
                ⁡
                
                  (
                  m
                  )
                
              
              
            
            2
          
        
      
    
    
      
        (
        6
        )
      
    
  




Computation of the a posteriori signal-to-noise ratio γk(m) requires the knowledge of the power spectrum |Dk(m)|2 of the additive noise, which is not available. An estimate |{circumflex over (D)}k(m)|2 of the power spectrum of the additive noise can be obtained with a noise estimate as described in H. G. Hirsch, C. Ehrlicher, Noise Estimation Techniques for Robust Speech Recognition, ICASSP 1995, pp. 153-156.
Thus, an estimate {circumflex over (γ)}k(m) of the a posteriori signal-to-noise ratio may be computed as follows:




  
    
      
        
          
            
              γ
              ^
            
            k
          
          ⁡
          
            (
            m
            )
          
        
        =
        
          
            
              
              
                
                  Y
                  k
                
                ⁡
                
                  (
                  m
                  )
                
              
              
            
            2
          
          
            
              
              
                
                  
                    D
                    ^
                  
                  k
                
                ⁡
                
                  (
                  m
                  )
                
              
              
            
            2
          
        
      
    
    
      
        (
        7
        )
      
    
  




Computation of the a priori signal-to-noise ratio ξk(m) requires the knowledge of the power spectrum |Xk(m)|2 of the clean speech, which is not available. An estimate {circumflex over (ξ)}k(m) of the a priori signal-to-noise ratio can be computed by using a decision-directed approach as described in Y. Ephraim and D. Malah, Speech Enhancement Using a Minimum Mean-Square Error Short-Time Spectral Amplitude Estimator, IEEE Trans. Acoustic, Speech, and Signal Processing, Vol. ASSP-32, Mo. 6, pp. 1109-1121, 1984, and as follows:




  
    
      
        
          
            
              
                ξ
                ^
              
              k
            
            ⁡
            
              (
              m
              )
            
          
          =
          
            
              
                η
                ⁡
                
                  (
                  m
                  )
                
              
              ⁢
              
                
                  
                    
                    
                      
                        
                          X
                          ^
                        
                        k
                      
                      ⁡
                      
                        (
                        
                          m
                          -
                          1
                        
                        )
                      
                    
                    
                  
                  2
                
                
                  
                    
                    
                      
                        
                          D
                          ^
                        
                        k
                      
                      ⁡
                      
                        (
                        
                          m
                          -
                          1
                        
                        )
                      
                    
                    
                  
                  2
                
              
            
            +
            
              
                [
                
                  1
                  -
                  
                    η
                    ⁡
                    
                      (
                      m
                      )
                    
                  
                
                ]
              
              ⁢
              
                max
                ⁡
                
                  [
                  
                    0
                    ,
                    
                      
                        
                          
                            γ
                            ^
                          
                          k
                        
                        ⁡
                        
                          (
                          m
                          )
                        
                      
                      -
                      1
                    
                  
                  ]
                
              
            
          
        
        ,
        
          

        
        ⁢
        
          
            η
            ⁡
            
              (
              m
              )
            
          
          ∈
          
            [
            
              0
              ,
              1
            
            )
          
        
      
    
    
      
        (
        8
        )
      
    
  




where η(m) is a weighting coefficient for appropriately weighting the two terms in the formula.

The Ephraim-Malah gain Gk(m) may then be computed as a function of the estimate {circumflex over (ξ)}k(m) of the a priori signal-to-noise ratio and of the estimate {circumflex over (γ)}k(m) of the a posteriori signal-to-noise ratio according to formula (3).
An application of the Spectral Attenuation Technique is disclosed in US-A-2002/0002455, which relates to a speech enhancement system receiving noisy speech characterized by a spectral amplitude spanning a plurality of frequency bins and producing enhanced speech by modifying the spectral amplitude of the noisy speech without affecting the phase thereof. In particular, the speech enhancement system includes a core estimator that applies to the noisy speech one of a first set of gains for each frequency bin; a noise adaptation module that segments the noisy speech into noise-only and signal-containing frames, maintains a current estimate of the noise spectrum and an estimate of the probability of signal absence in each frequency bin; and a signal-to-noise ratio estimator that measures a posteriori signal-to-noise ratio and estimates a priori signal-to-noise ratio based on the noise estimate. Each one of the first set of gains is based on a priori signal-to-noise ratio, as well as the probability of signal absence in each bin and a level of aggression of the speech enhancement. A soft decision module computes a second set of gains that is based on a posteriori signal-to-noise ratio and a priori signal-to-noise ratio, and the probability of signal absence in each frequency bin.
Another application of the Spectral Attenuation Techniques is disclosed in WO-A-01/52242, which relates to a multi-band spectral subtraction scheme which can be applied to a variety of speech communication systems, such as hearing aids, public address systems, teleconference systems, voice control systems, or speaker phones, and which comprises a multi band filter architecture, noise and signal power detection, and gain function for noise reduction. The gain function for noise reduction consists of a gain scale function and a maximum attenuation function providing a predetermined amount of gain as a function of signal-to-noise ratio and noise. The gain scale function is a three-segment piecewise linear function, and the three piecewise linear sections of the gain scale function include a first section providing maximum expansion up to a first knee point for maximum noise reduction, a second section providing less expansion up to a second knee point for less noise reduction, and a third section providing minimum or no expansion for input signals with high signal-to-noise ratio to minimize distortion. The maximum attenuation function can either be a constant or equal to the estimated noise envelope. When used in hearing aid applications, the noise reduction gain function is combined with the hearing loss compensation gain function inherent to hearing aid processing.
Automatic speech recognition performed by using the known noise reduction methods described above is affected by some technical problems which prevents it from being really effective. In particular, Spectral Subtraction Technique and Wiener Spectral Subtraction Technique are affected by the so-called “musical noise”, which is introduced in the power spectrum |Xk(m)|2 of the clean speech by the aforementioned flooring, according to which negative values are set to a flooring value β(m)|Yk(m)|2 in order to avoid occurrence of negative subtraction results. In particular, the flooring introduces discontinuities in the spectrum that are perceived as annoying musical noises and degrade the performances of an automatic speech recognition system.
Spectral Attenuation Technique implementing the Ephraim-Malah attenuation rule is a very good technique for the so-called speech enhancement, i.e., noise reduction for a human listener, but it introduces some spectral distortion on voice parts that are acceptable for humans but very critical for an automatic speech recognition system.
OBJECT AND SUMMARY OF THE INVENTION
The aim of the present invention is therefore to provide a noise reduction method for automatic speech recognition and which, at the same time, reduces the musical noise in the power spectrum of the clean speech.
This aim is achieved by the present invention in that it relates to a noise reduction method for automatic speech recognition, as defined in claim 1, to an automatic speech recognition system, as defined in claim 12, and to a computer program product, as defined in claim 13.
The present invention meets the aforementioned needs as it makes use of a Spectral Attenuation Technique instead of a Spectral Subtraction Technique, thus removing the problem of musical noise, and the use of a modified Ephraim-Malah spectral attenuation rule implemented reduces the spectral distortion introduced by the original rule in the voice parts of the signals, thus obtaining better performances when used in an automatic speech recognition system.



BRIEF DESCRIPTION OF THE DRAWINGS
For a better understanding of the present invention, a preferred embodiment, which is intended purely by way of example and is not to be construed as limiting, will now be described with reference to the attached drawings, wherein:
FIG. 1 shows a block diagram of common sources of speech degradation;
FIG. 2 shows a block diagram of noise reduction for automatic speech recognition;
FIGS. 3 and 4 show plots of a noise overestimation factor and a spectral flooring factor as a function of a global signal-to-noise ratio and used in the noise reduction method according to the present invention;
FIG. 5 shows a standard Ephraim-Malah spectral attenuation rule; and
FIGS. 6-10 show a modified Ephraim-Malah spectral attenuation rule according to the present invention at different global signal-to-noise ratio.



DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION
The following discussion is presented to enable a person skilled in the art to make and use the invention. Various modifications to the embodiments will be readily apparent to those skilled in the art, and the generic principles herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein and defined in the attached claims.
The present invention relates to an automatic speech recognition system including a noise reduction system based on the Spectral Attenuation Technique, and in particular on the Ephraim-Malah spectral attenuation rule, wherein the global formula of the gain Gk(γk, ξk) is unchanged, whereas the estimates of the a priori and the a posteriori signal-to-noise ratios {circumflex over (ξ)}k(m), {circumflex over (γ)}k(m) are modified by making them dependent on a noise weighting factor α(m) and on a spectral flooring factor β(m), as follows:




  
    
      
        
          
            
              γ
              ^
            
            k
          
          ⁡
          
            (
            m
            )
          
        
        =
        
          
            max
            (
            
              
                
                  
                    
                      
                      
                        
                          Y
                          k
                        
                        ⁡
                        
                          (
                          m
                          )
                        
                      
                      
                    
                    2
                  
                  
                    
                      α
                      ⁡
                      
                        (
                        m
                        )
                      
                    
                    ⁢
                    
                      
                        
                        
                          
                            
                              D
                              ^
                            
                            k
                          
                          ⁡
                          
                            (
                            m
                            )
                          
                        
                        
                      
                      2
                    
                  
                
                -
                1
              
              ,
              
                β
                ⁡
                
                  (
                  m
                  )
                
              
            
            )
          
          +
          1
        
      
    
    
      
        (
        9
        )
      
    
  
  
    
      
        
          
            
              
                ξ
                ^
              
              k
            
            ⁡
            
              (
              m
              )
            
          
          =
          
            max
            (
            
              
                
                  η
                  ⁡
                  
                    (
                    m
                    )
                  
                
                -
                
                  
                    
                      
                      
                        
                          
                            X
                            ^
                          
                          k
                        
                        ⁡
                        
                          (
                          
                            m
                            -
                            1
                          
                          )
                        
                      
                      
                    
                    2
                  
                  
                    
                      α
                      ⁡
                      
                        (
                        m
                        )
                      
                    
                    ⁢
                    
                      
                        
                        
                          
                            
                              D
                              ^
                            
                            k
                          
                          ⁡
                          
                            (
                            
                              m
                              -
                              1
                            
                            )
                          
                        
                        
                      
                      2
                    
                  
                
                +
                
                  
                    (
                    
                      1
                      -
                      
                        η
                        ⁡
                        
                          (
                          m
                          )
                        
                      
                    
                    )
                  
                  ⁡
                  
                    [
                    
                      
                        
                          
                            γ
                            ^
                          
                          k
                        
                        ⁡
                        
                          (
                          m
                          )
                        
                      
                      -
                      1
                    
                    ]
                  
                
              
              ,
              
                β
                ⁡
                
                  (
                  m
                  )
                
              
            
            )
          
        
        ,
        
          

        
        ⁢
        
          
            η
            ⁡
            
              (
              m
              )
            
          
          ∈
          
            [
            
              0
              ,
              1
            
            )
          
        
      
    
    
      
        (
        10
        )
      
    
  




where:

    
    
        |Yk(m)|2 is the k-th spectral line of the power spectrum of the noisy speech;
        |{circumflex over (X)}k(m)|2 is the k-th spectral line of the estimate of the power spectrum of the clean speech;
        |{circumflex over (D)}k(m)|2 is the k-th spectral line of the estimate of the power spectrum of the additive noise;
        {circumflex over (ξ)}k(m) is the estimate of the a priori signal-to-noise ratio relating to the k-th spectral line;
        {circumflex over (γ)}k(m) is the estimate of the a posteriori signal-to-noise ratio relating to the k-th spectral line;
        α(m) is the noise weighting factor for weighting, namely overestimating or underestimating, the estimate |{circumflex over (D)}k(m)|2 of the power spectrum of the noise in the computation of the estimates {circumflex over (ξ)}k(m), {circumflex over (γ)}k(m) of the a priori and the a posteriori signal-to-noise ratios;
        β(m) is the spectral flooring factor for flooring the estimates {circumflex over (ξ)}k(m), {circumflex over (γ)}k(m) of the a priori and the a posteriori signal-to-noise ratios; and
        η(m) is a weighting coefficient for appropriately weighting the two terms in formula (10).
    
    


The noise weighting factor α(m) and the spectral flooring factor β(m) are a function of the global signal-to-noise ratio SNR(m), which is defined as:




  
    
      
        
          SNR
          ⁡
          
            (
            m
            )
          
        
        =
        
          10
          ⁢
          
            
          
          ⁢
          
            
              log
              10
            
            (
            
              
                
                  ∑
                  k
                
                ⁢
                
                  
                    
                    
                      
                        Y
                        k
                      
                      ⁡
                      
                        (
                        m
                        )
                      
                    
                    
                  
                  2
                
              
              
                
                  ∑
                  k
                
                ⁢
                
                  
                    
                    
                      
                        
                          D
                          ^
                        
                        k
                      
                      ⁡
                      
                        (
                        m
                        )
                      
                    
                    
                  
                  2
                
              
            
            )
          
        
      
    
    
      
        (
        11
        )
      
    
  




FIGS. 3 and 4 show a preferred development of the noise weighting factor α(m) and the spectral flooring factor β(m) versus the global signal-to-noise ratio SNR(m). The noise weighting factor α(m) and the spectral flooring factor β(m) are piece-wise linear functions and may be mathematically defined as follows:




  
    
      
        
          α
          ⁡
          
            (
            m
            )
          
        
        =
        
          {
          
            
              
                
                  
                  ⁢
                  1.5
                
              
              
                
                  
                  ⁢
                  
                    
                      if
                      ⁢
                      
                        
                      
                      ⁢
                      
                        SNR
                        ⁡
                        
                          (
                          m
                          )
                        
                      
                    
                    <
                    0
                  
                
              
            
            
              
                
                  
                  ⁢
                  
                    1.5
                    -
                    
                      
                        
                          (
                          
                            1.5
                            -
                            0.001
                          
                          )
                        
                        20
                      
                      ·
                      
                        SNR
                        ⁡
                        
                          (
                          m
                          )
                        
                      
                    
                  
                
              
              
                
                  
                  ⁢
                  
                    
                      if
                      ⁢
                      
                        
                      
                      ⁢
                      0
                    
                    ≤
                    
                      SNR
                      ⁡
                      
                        (
                        m
                        )
                      
                    
                    ≤
                    20
                  
                
              
            
            
              
                
                  
                  ⁢
                  0.001
                
              
              
                
                  
                  ⁢
                  
                    
                      if
                      ⁢
                      
                        
                      
                      ⁢
                      
                        SNR
                        ⁡
                        
                          (
                          m
                          )
                        
                      
                    
                    >
                    20
                  
                
              
            
          
        
      
    
    
      
        (
        12
        )
      
    
  
  
    
      
        
          β
          ⁡
          
            (
            m
            )
          
        
        =
        
          {
          
            
              
                
                  
                  ⁢
                  0.01
                
              
              
                
                  
                  ⁢
                  
                    
                      if
                      ⁢
                      
                        
                      
                      ⁢
                      
                        SNR
                        ⁡
                        
                          (
                          m
                          )
                        
                      
                    
                    <
                    0
                  
                
              
            
            
              
                
                  
                  ⁢
                  
                    
                      
                        (
                        
                          1.0
                          -
                          0.01
                        
                        )
                      
                      20
                    
                    ·
                    
                      SNR
                      ⁡
                      
                        (
                        m
                        )
                      
                    
                  
                
              
              
                
                  
                  ⁢
                  
                    
                      if
                      ⁢
                      
                        
                      
                      ⁢
                      0
                    
                    ≤
                    
                      SNR
                      ⁡
                      
                        (
                        m
                        )
                      
                    
                    ≤
                    20
                  
                
              
            
            
              
                
                  
                  ⁢
                  1.0
                
              
              
                
                  
                  ⁢
                  
                    
                      if
                      ⁢
                      
                        
                      
                      ⁢
                      
                        SNR
                        ⁡
                        
                          (
                          m
                          )
                        
                      
                    
                    >
                    20
                  
                
              
            
          
        
      
    
    
      
        (
        13
        )
      
    
  




The values indicated in formulas (12) and (13) are intended purely by way of example and are not to be construed as limiting. In general, other values could be usefully employed, while maintaining the general development of the noise weighting factor α(m) and of the spectral flooring factor β(m) versus the global signal-to-noise ratio SNR(m).
In particular, the noise weighting factor α(m) versus the global signal-to-noise ratio SNR(m) should have a first substantially constant value when the global signal-to-noise ratio SNR(m) is lower than a first threshold, a second substantially constant value lower than the first substantially constant value when the global signal-to-noise ratio SNR(m) is higher than a second threshold, and values decreasing from the first substantially constant value to the second substantially constant value when the global signal-to-noise ratio SNR(m) increases from the first threshold to the second threshold.
The spectral flooring factor β(m) versus the global signal-to-noise ratio SNR(m) should have a first substantially constant value when the global signal-to-noise ratio SNR(m) is lower than a first threshold, a second substantially constant value higher than the first substantially constant value when the global signal-to-noise ratio SNR(m) is higher than a second threshold, and values increasing from the first substantially constant value to the second substantially constant value when the global signal-to-noise ratio SNR(m) increases from the first threshold to the second threshold. The developments may be piece-wise lines, as shown in FIGS. 3 and 4, or may be continuous curved lines similar to those in FIGS. 3 and 4, i.e., curved lines wherein the intermediate non-constant stretch is linear, as in FIGS. 3 and 4, or curved, e.g., a cosine-like or a sine-like curve, and transitions from the intermediate non-constant stretch to the constant stretches is rounded or smoothed.
The estimate |{circumflex over (D)}k(m)|2 of the power spectrum of the noisy speech in formulas (9), (10) and (11) is computed by means of a first-order recursion as disclosed in the aforementioned Noise Estimation Techniques for Robust Speech Recognition.
Preferably, the first-order recursion may be implemented in conjunction with a standard energy-based Voice Activity Detector, which is well-known system which detects presence or absence of speech based on a comparison of the total energy of the speech signal with an adaptive threshold and outputs a Boolean flag (VAD) having a “true” value when voice is present and a “false” value when voice is absent. When a standard energy-based Voice Activity Detector is used, the estimate |{circumflex over (D)}k(m)|2 of the power spectrum of the noisy speech may be computed as follows:




  
    
      
        
          
            
            
              
                
                  D
                  ^
                
                k
              
              ⁡
              
                (
                m
                )
              
            
            
          
          2
        
        =
        
          {
          
            
              
                
                  
                  ⁢
                  
                    
                      λ
                      ⁢
                      
                        
                          
                          
                            
                              
                                D
                                ^
                              
                              k
                            
                            ⁡
                            
                              (
                              
                                m
                                -
                                1
                              
                              )
                            
                          
                          
                        
                        2
                      
                    
                    +
                    
                      
                        (
                        
                          1
                          -
                          λ
                        
                        )
                      
                      ⁢
                      
                        
                          
                          
                            
                              Y
                              k
                            
                            ⁡
                            
                              (
                              m
                              )
                            
                          
                          
                        
                        2
                      
                    
                  
                
              
              
                
                  
                    
                      
                        
                        ⁢
                        
                          if
                          ⁢
                          
                            
                          
                          ⁢
                          
                            {
                            
                              
                              
                                
                                  
                                    
                                    
                                      
                                        Y
                                        k
                                      
                                      ⁡
                                      
                                        (
                                        m
                                        )
                                      
                                    
                                    
                                  
                                  2
                                
                                -
                                
                                  
                                    
                                    
                                      
                                        
                                          D
                                          ^
                                        
                                        k
                                      
                                      ⁡
                                      
                                        (
                                        m
                                        )
                                      
                                    
                                    
                                  
                                  2
                                
                              
                              
                            
                          
                        
                      
                    
                  
                  
                    
                      
                        
                          
                            ≤
                            
                              μ
                              ⁢
                              
                                
                              
                              ⁢
                              
                                σ
                                ⁡
                                
                                  (
                                  m
                                  )
                                
                              
                            
                          
                          }
                        
                        ⋀
                        
                          {
                          
                            VAD
                            =
                            false
                          
                          }
                        
                      
                    
                  
                
              
            
            
              
                
                  
                  ⁢
                  
                    
                      
                      
                        
                          
                            D
                            ^
                          
                          k
                        
                        ⁡
                        
                          (
                          
                            m
                            -
                            1
                          
                          )
                        
                      
                      
                    
                    2
                  
                
              
              
                
                  
                  ⁢
                  otherwise
                
              
            
          
        
      
    
    
      
        (
        14
        )
      
    
  




where λ is a weighting factor which controls the update speed of the recursion and ranges between 0 and 1, preferably has a value of 0.9, μ is a multiplication factor which controls the allowed dynamics of the noise and preferably has a value of 4.0, and σ(m) is the noise standard deviation, estimated as follows:

σ2(m)=λσ2(m−1)+(1−λ)(|Yk(m)|2−|{circumflex over (D)}k(m)|2)2   (15)

FIG. 5 shows the standard Ephraim-Malah spectral attenuation rule (Gk, ξk(m) and γk(m) computed according to formulas (3), (7) and (8)), whereas FIGS. 6-10 show the modified Ephraim-Malah spectral attenuation rule according to the present invention (Gk, ξk(m) and γk(m) computed according to formulas (3), (10) and (9)) at different global signal-to-noise ratios SNR(m) (0, 5, 10, 15 and 20 dB). It may be appreciated by the skilled person that the effect of the introduced modification is a gradual reduction of the attenuation produced by the original gain in areas where the a posteriori γk(m) signal-to-noise ratios is high, as the global signal-to-noise ratios SNR(m) increases.
A large experimental work has been performed to validate the invention, and some results, which may be useful to highlight the features of the invention, are hereinafter reported.
In particular, experiments were conducted with an automatic speech recognition system, using noise reduction with the standard Ephraim-Malah spectral attenuation and with the noise reduction proposed in the invention. The automatic speech recognition system has been trained for the target languages using large, domain and task independent corpora, not collected in noisy environments and without added noise.
The experiment was performed on the Aurora3 corpus, that is a standard corpus defined by the ETSI Aurora Project for noise reduction tests, and made of connected digits recorded in car in several languages (Italian, Spanish and German). An high mismatch test set and a noisy component of the training set (used as test set) were employed.
The modification of the Ephraim-Malah spectral attenuation rule according to the invention produces an average error reduction of 28.9% with respect to the state of the art Wiener Spectral Subtraction, and an average error reduction of 22.9% with respect to the standard Ephraim-Malah Spectral Attenuation Rule. The average error reduction with respect to no de-noising is 50.2%.
Finally, it is clear that numerous modifications and variants can be made to the present invention, all falling within the scope of the invention, as defined in the appended claims.

## Claims

1. A noise reduction method for automatic speech recognition, including:
computing a magnitude spectrum (|Yk(m)|) of a noisy speech containing a clean speech to be recognized and noise affecting the clean speech;
computing a power spectrum (|Yk(m)|2) of the noisy speech;
computing an estimate (|{circumflex over (X)}k(m)|2) of a power spectrum of the clean speech;
computing an estimate (|{circumflex over (D)}k(m)|2) of a power spectrum of the noise;
computing an estimate ({circumflex over (ξ)}k(m)) of an a priori signal-to-noise ratio as a function of the estimate (|{circumflex over (X)}k(m)|2) of the power spectrum of the clean speech and the estimate (|{circumflex over (D)}k(m)|2) of the power spectrum of the noise;
computing an estimate ({circumflex over (γ)}k(m)) of an a posteriori signal-to-noise ratio as a function of the power spectrum (|Yk(m)|2) of the noisy speech and the estimate (|{circumflex over (D)}k(m)|2) of the power spectrum of the noise;
computing an attenuation gain (Gk(m)) as a function of the estimate ({circumflex over (ξ)}k(m)) of the a priori signal-to-noise ratio and the estimate ({circumflex over (γ)}k(m)) of the a posteriori signal-to-noise ratio;
computing an estimate (|{circumflex over (X)}k(m)|) of a magnitude spectrum of the clean speech as a function of the magnitude spectrum (|Yk(m)|) of the noisy speech and the attenuation gain (Gk(m));
characterized in that computing the estimates ({circumflex over (ξ)}k(m), {circumflex over (γ)}k(m)) of the a priori and the a posteriori signal-to-noise ratios includes:
computing a noise weighting factor (α(m)) for weighting the estimate (|{circumflex over (D)}k(m)|2) of the power spectrum of the noise in the computation of the estimates ({circumflex over (ξ)}k(m), {circumflex over (γ)}k(m)) of the a priori and the a posteriori signal-to-noise ratios;
computing a spectral flooring factor (β(m)) for flooring the estimates ({circumflex over (ξ)}k(m), {circumflex over (γ)}k(m)) of the a priori and the a posteriori signal-to-noise ratios; and
computing the estimates ({circumflex over (ξ)}k(m), {circumflex over (γ)}k(m)) of the a priori and the a posteriori signal-to-noise ratios also as a function of the noise weighting factor (α(m)) and the spectral flooring factor (β(m)).

2. A noise reduction method as claimed in claim 1, wherein the noise weighting factor (α(m)) and the spectral flooring factor (β(m)) are computed as a function of a global signal-to-noise ratio (SNR(m)).

3. A noise reduction method as claimed in claim 2, wherein the noise weighting factor (α(m)) versus the global signal-to-noise ratio (SNR(m)) has a first substantially constant value when the global signal-to-noise ratio (SNR(m)) is lower than a first threshold, a second substantially constant value lower than the first substantially constant value when the global signal-to-noise ratio (SNR(m)) is higher than a second threshold, and decreasing values when the global signal-to-noise ratio (SNR(m)) ranges between the first and the second thresholds.

4. A noise reduction method as claimed in claim 3, wherein the noise weighting factor (α(m)) decreases linearly when the global signal-to-noise ratio (SNR(m)) ranges between the first and the second thresholds.

5. A noise reduction method as claimed in claim 2, wherein the spectral flooring factor (β(m)) versus the global signal-to-noise ratio (SNR(m)) has a first substantially constant value when the global signal-to-noise ratio (SNR(m)) is lower than a first threshold, a second substantially constant value higher than the first substantially constant value when the global signal-to-noise ratio (SNR(m)) is higher than a second threshold, and increasing values when the global signal-to-noise ratio (SNR(m)) ranges between the first and the second thresholds.

6. A noise reduction method as claimed in claim 5, wherein the spectral flooring factor (β(m)) increases linearly when the global signal-to-noise ratio (SNR(m)) ranges between the first and the second thresholds.

7. A noise reduction method as claimed in claim 1, wherein the estimate ({circumflex over (γ)}k(m)) of the a posteriori signal-to-noise ratio is computed as follows:




  
    
      
        γ
        ^
      
      k
    
    ⁡
    
      (
      m
      )
    
  
  =
  
    
      max
      (
      
        
          
            
              
                
                
                  
                    Y
                    k
                  
                  ⁡
                  
                    (
                    m
                    )
                  
                
                
              
              2
            
            
              
                α
                ⁡
                
                  (
                  m
                  )
                
              
              ⁢
              
                
                  
                  
                    
                      
                        D
                        ^
                      
                      k
                    
                    ⁡
                    
                      (
                      m
                      )
                    
                  
                  
                
                2
              
            
          
          -
          1
        
        ,
        
          β
          ⁡
          
            (
            m
            )
          
        
      
      )
    
    +
    1
  




wherein:
{circumflex over (γ)}k(m) is the estimate of the a posteriori signal-to-noise ratio for the k-th spectral line;
|Yk(m)|2 is the k-th spectral line of the power spectrum of the noisy speech;
|{circumflex over (D)}k(m)|2 is the k-th spectral line of the estimate of the power spectrum of the noise;
α(m) is the noise weighting factor;
β(m) is the spectral flooring factor;
k indexes spectral lines of the spectra; and
m indexes time windows within which the noisy speech is processed for noise reduction.

8. A noise reduction method as claimed in claim 1, wherein the estimate ({circumflex over (ξ)}k(m)) of the a priori signal-to-noise ratio is computed as follows:




  
    
      
        
          ξ
          ^
        
        k
      
      ⁡
      
        (
        m
        )
      
    
    =
    
      max
      (
      
        
          
            η
            ⁢
            
              
                
                  
                  
                    
                      
                        X
                        ^
                      
                      k
                    
                    ⁡
                    
                      (
                      
                        m
                        -
                        1
                      
                      )
                    
                  
                  
                
                2
              
              
                
                  α
                  ⁡
                  
                    (
                    m
                    )
                  
                
                ⁢
                
                  
                    
                    
                      
                        
                          D
                          ^
                        
                        k
                      
                      ⁡
                      
                        (
                        
                          m
                          -
                          1
                        
                        )
                      
                    
                    
                  
                  2
                
              
            
          
          +
          
            
              (
              
                1
                -
                η
              
              )
            
            ⁡
            
              [
              
                
                  
                    
                      γ
                      ^
                    
                    k
                  
                  ⁡
                  
                    (
                    m
                    )
                  
                
                -
                1
              
              ]
            
          
        
        ,
        
          β
          ⁡
          
            (
            m
            )
          
        
      
      )
    
  
  ,
  
    
  
  ⁢
  
    
      η
      ⁡
      
        (
        m
        )
      
    
    ∈
    
      [
      
        0
        ,
        1
      
      )
    
  




wherein:
{circumflex over (ξ)}k(m) is the estimate of the a priori signal-to-noise ratio for the is k-th spectral line;
{circumflex over (γ)}k(m) is the estimate of the a posteriori signal-to-noise ratio for the k-th spectral line of the power spectrum of the noisy speech;
|{circumflex over (X)}k(m)|2 is the k-th spectral line of the estimate of the power spectrum of the clean speech;
|{circumflex over (D)}k(m)|2 is the k-th spectral line of the estimate of the power spectrum of the noise;
α(m) is the noise weighting factor;
β(m) is the spectral flooring factor;
k indexes spectral lines of the spectra; and
m indexes time windows within which the noisy speech is processed for noise reduction.

9. A noise reduction method as claimed in claim 1, wherein the attenuation gain (Gk(m)) is computed as follows:




  
    
      G
      k
    
    ⁡
    
      (
      m
      )
    
  
  =
  
    
      
        
          
            ξ
            ^
          
          k
        
        ⁡
        
          (
          m
          )
        
      
      
        1
        +
        
          
            
              ξ
              ^
            
            k
          
          ⁡
          
            (
            m
            )
          
        
      
    
    ⁢
    
      exp
      (
      
        
          1
          2
        
        ⁢
        
          
            ∫
            
              v
              k
            
            ∞
          
          ⁢
          
            
              
                e
                
                  -
                  t
                
              
              t
            
            ⁢
            
              
            
            ⁢
            
              d
              t
            
          
        
      
      )
    
  




wherein:
Gk(m) is the Ephraim-Malah gain for the k-th spectral line;
{circumflex over (ξ)}k(m) is the estimate of the a priori signal-to-noise ratio for the k-th spectral line;
{circumflex over (γ)}k(m) is the estimate of the a posteriori signal-to-noise ratio for the k-th spectral line;





  
    
      v
      k
    
    ⁡
    
      (
      m
      )
    
  
  =
  
    
      
        
          
            ξ
            ^
          
          k
        
        ⁡
        
          (
          m
          )
        
      
      
        1
        +
        
          
            
              ξ
              ^
            
            k
          
          ⁡
          
            (
            m
            )
          
        
      
    
    ⁢
    
      
        
          γ
          ^
        
        k
      
      ⁡
      
        (
        m
        )
      
    
  



k indexes spectral lines of the spectra; and
m indexes time windows within which the noisy speech is processed for noise reduction.

10. A noise reduction method as claimed in claim 1, wherein the estimate (|{circumflex over (D)}k(m)|2 of the power spectrum of the noise is computed as follows:




  
    
      
        
          
            
            
              
                
                  D
                  ^
                
                k
              
              ⁡
              
                (
                m
                )
              
            
            
          
          2
        
        =
        
          {
          
            
              
                
                  
                  ⁢
                  
                    
                      λ
                      ⁢
                      
                        
                          
                          
                            
                              
                                D
                                ^
                              
                              k
                            
                            ⁡
                            
                              (
                              
                                m
                                -
                                1
                              
                              )
                            
                          
                          
                        
                        2
                      
                    
                    +
                    
                      
                        (
                        
                          1
                          -
                          λ
                        
                        )
                      
                      ⁢
                      
                        
                          
                          
                            
                              Y
                              k
                            
                            ⁡
                            
                              (
                              m
                              )
                            
                          
                          
                        
                        2
                      
                    
                  
                
              
              
                
                  
                    
                      
                        
                        ⁢
                        
                          if
                          ⁢
                          
                            
                          
                          ⁢
                          
                            {
                            
                              
                              
                                
                                  
                                    
                                    
                                      
                                        Y
                                        k
                                      
                                      ⁡
                                      
                                        (
                                        m
                                        )
                                      
                                    
                                    
                                  
                                  2
                                
                                -
                                
                                  
                                    
                                    
                                      
                                        
                                          D
                                          ^
                                        
                                        k
                                      
                                      ⁡
                                      
                                        (
                                        m
                                        )
                                      
                                    
                                    
                                  
                                  2
                                
                              
                              
                            
                          
                        
                      
                    
                  
                  
                    
                      
                        
                          
                            ≤
                            
                              μ
                              ⁢
                              
                                
                              
                              ⁢
                              
                                σ
                                ⁡
                                
                                  (
                                  m
                                  )
                                
                              
                            
                          
                          }
                        
                        ⋀
                        
                          {
                          
                            VAD
                            =
                            false
                          
                          }
                        
                      
                    
                  
                
              
            
            
              
                
                  
                  ⁢
                  
                    
                      
                      
                        
                          
                            D
                            ^
                          
                          k
                        
                        ⁡
                        
                          (
                          
                            m
                            -
                            1
                          
                          )
                        
                      
                      
                    
                    2
                  
                
              
              
                
                  
                  ⁢
                  otherwise
                
              
            
          
        
      
    
    
      
        
      
    
  




where:
|{circumflex over (D)}k(m)|2 is the k-th spectral line of the estimate of the power spectrum of the noise;
|Yk(m)|2 is the k-th spectral line of the power spectrum of the noisy speech;
λ is a weighting factor which controls the update speed of the recursion,
μ is a multiplication factor which controls the allowed dynamics of the noise, and
σ(m) is the noise standard deviation, estimated as follows:


σ2(m)=λσ2(m−1)+(1−λ(|Yk(m)|2−|{circumflex over (D)}k(m)|2)2

11. A noise reduction method as claimed in claim 2, wherein the global signal-to-noise ratio (SNR(m)) is computed as follows:




  
    SNR
    ⁡
    
      (
      m
      )
    
  
  =
  
    10
    ⁢
    
      
    
    ⁢
    
      
        log
        10
      
      (
      
        
          
            ∑
            k
          
          ⁢
          
            
              
              
                
                  Y
                  k
                
                ⁡
                
                  (
                  m
                  )
                
              
              
            
            2
          
        
        
          
            ∑
            k
          
          ⁢
          
            
              
              
                
                  
                    D
                    ^
                  
                  k
                
                ⁡
                
                  (
                  m
                  )
                
              
              
            
            2
          
        
      
      )
    
  




where:
SNR(m) is the global signal-to-noise ratio;
|{circumflex over (D)}k(m)|2 is the k-th spectral line of the estimate of the power spectrum of the noise; and
|Yk(m)|2 is the k-th spectral line of the power spectrum of the noisy speech.

12. An automatic speech recognition system including a noise reduction system configured to implement the method according to claim 1.

13. A computer program product comprising a computer program code able, when loaded in a processing system, to implement the method according to claim 1.