Patent Publication Number: US-6658380-B1

Title: Method for detecting speech activity

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to digital speech signal processing techniques. It relates more particularly to techniques which detect vocal activity to perform different processing according to whether the signal is supporting vocal activity or not. 
     The digital techniques in question relate to various domains: coding of speech for transmission or storage, speech recognition, noise reduction, echo cancellation, etc. 
     The main difficulty with vocal activity detection methods is distinguishing vocal activity from the accompanying noise. A conventional noise suppression technique cannot solve this problem because these techniques themselves use estimates of the noise which depend on the degree of vocal activity of the signal. 
     A main object of the present invention is to make vocal activity detection methods more robust to noise. 
     SUMMARY OF THE INVENTION 
     The invention therefore proposes a method of detecting vocal activity in a digital speech signal processed by successive frames, in which method the speech signal is subjected to noise suppression taking account of estimates of the noise included in the signal, updated for each frame in a manner dependent on at least one degree of vocal activity determined for said frame. According to the invention, a priori noise suppression is applied to the speech signal of each frame on the basis of estimates of the noise obtained on processing at least one preceding frame, and the energy variations of the a priori noise-suppressed signal are analyzed to detect the degree of vocal activity of said frame. 
     Detecting vocal activity (as a general rule by any method known in the art) on the basis of a noise-suppressed signal a priori significantly improves the performance of detection if the level of surrounding noise is relatively high. 
     In the remainder of the present description, the vocal activity detection method of the invention is illustrated within a system for eliminating noise from a speech signal. Clearly the method can find applications in many other types of digital speech processing requiring information on the degree of vocal activity of the processed signal: coding, recognition, echo cancellation, etc. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a noise suppression system implementing the present invention; 
     FIGS. 2 and 3 are flowcharts of procedures used by a vocal activity detector of the system shown in FIG. 1; 
     FIG. 4 is a diagram representing the states of a vocal activity detection automaton; 
     FIG. 5 is a graph showing variations in a degree of vocal activity; 
     FIG. 6 is a block diagram of a module for overestimating the noise of the system shown in FIG. 1; 
     FIG. 7 is a graph illustrating the computation of a masking curve; and 
     FIG. 8 is a graph illustrating the use of masking curves in the system shown in FIG.  1 . 
    
    
     DESCRIPTION OF PREFERRED EMBODIMENTS 
     The noise suppression system shown in FIG. 1 processes a digital speech signal s. A windowing module  10  formats the signal s in the form of successive windows or frames each made up of a number N of digital signal samples. In the usual way, these frames can overlap each other. In the remainder of this description, the frames are considered to be made up of N=256 samples with a sampling frequency F e  of 8 kHz, with Hamming weighting in each window and with 50% overlaps between consecutive windows, although this is not limiting on the invention. 
     The signal frame is transformed into the frequency domain by a module  11  using a conventional fast Fourier transform (FFT) algorithm to compute the modulus of the spectrum of the signal. The module  11  then delivers a set of N=256 frequency components S n,f  of the speech signal, where n is the number of the current frame and f is a frequency from the discrete spectrum. Because of the properties of the digital signals in the frequency domain, only the first N/2=128 samples are used. 
     Instead of using the frequency resolution available downstream of the fast Fourier transform to compute the estimates of the noise contained in the signal s, a lower resolution is used, determined by a number I of frequency bands covering the bandwidth [0,F e /2] of the signal. Each band i (1≦i≦I) extends from a lower frequency f(i−1) to a higher frequency f(i), with f(0)=0 and f(I)=F e /2. The subdivision into frequency bands can be uniform (f(i)−f(I−1)=F e /2I). It can also be non-uniform (for example according to a barks scale) A module  12  computes the respective averages of the spectral components S n,f  of the speech signal in bands, for example by means of a uniform weighting such as:                S     n   ,   i       =       1       f        (   i   )       -     f        (     i   -   1     )                  ∑     f   ∈     [       f        (     i   -   1     )       ,       f        (   i   )       [                             S     n   ,   f                   (   1   )                         
     This averaging reduces fluctuations between bands by averaging the contributions of the noise in the bands, which reduces the variance of the noise estimator. Also, this averaging greatly reduces the complexity of the system. 
     The averaged spectral components S n,i  are sent to a vocal activity detector module  15  and a noise estimator module  16 . The two modules  15 ,  16  operate conjointly in the sense that degrees of vocal activity γ n,i  measured for the various bands by the module  15  are used by the module  16  to estimate the long-term energy of the noise in the various bands, whereas the long-term estimates {circumflex over (B)} n,i  are used by the module  15  for a priori suppression of noise in the speech signal in the various bands to determine the degrees of vocal activity γ n,i . 
     The operation of the modules  15  and  16  can correspond to the flowcharts shown in FIGS. 2 and 3. 
     In steps  17  through  20 , the module  15  effects a priori suppression of noise in the speech signal in the various bands i for the signal frame n. This a priori noise suppression is effected by a conventional non-linear spectral subtraction scheme based on estimates of the noise obtained in one or more preceding frames. In step  17 , using the resolution of the bands I, the module  15  computes the frequency response Hp n,i  of the a priori noise suppression filter from the equation:                Hp     n   ,   i       =         S     n   ,   i       -       α       n   -     τ                 1       ,   i     ′     ·       B   ^         n   -     τ                 1       ,   i             S       n   -   τ2     ,   i                 (   2   )                         
     where τ 1  and τ 2  are delays expressed as a number of frames (τ 1 ≧1, τ 2 ≧0), and α′ n,i  an is a noise overestimation coefficient determined as explained later. The delay τ 1  can be fixed (for example τ 1 =1) or variable. The greater the degree of confidence in the detection of vocal activity, the lower the value of τ 1 . 
     In steps  18  to  20 , the spectral components Êp n,i  are computed from: 
     
       
           Êp   n,i =max{ Hp   n,i   ·S   n,i   ,βp   i   ·{circumflex over (B)}   n−τ1,i }  (3) 
       
     
     where βp i  is a floor coefficient close to 0, used conventionally to prevent the spectrum of the noise-suppressed signal from taking negative values or excessively low values which would give rise to musical noise. 
     Steps  17  to  20  therefore essentially consist of subtracting from the spectrum of the signal an estimate of the a priori estimated noise spectrum, over-weighted by the coefficient α′ n−τ1,i . 
     In step  21 , the module  15  computes the energy of the a priori noise-suppressed signal in the various bands i for frame n: E n,i =Êp n,i   2 . It also computes a global average E n,0  of the energy of the a priori noise-suppressed signal by summing the energies for each band E n,i , weighted by the widths of the bands. In the following notation, the index i=0 is used to designate the global band of the signal. 
     In steps  22  and  23 , the module  15  computes, for each band i (0≦i≦I), a magnitude ΔE n,i  representing the short-term variation in the energy of the noise-suppressed signal in the band i and a long-term value {overscore (E)} n,i  of the energy of the noise-suppressed signal in the band i. The magnitude ΔE n,i  can be computed from a simplified equation:          Δ                   E     n   ,   i         =                E       n   -   4     ,   i       +     E       n   -   3     ,   i       -     E       n   -   1     ,   i       -     E     n   ,   i         10          .                     
     As for the long-term energy {overscore (E)} n,i , it can be computed using a forgetting factor B 1  such that 0&lt;B 1 &lt;1, namely {overscore (E)} n,i =B 1 ·{overscore (E)} n−1 ,+(1−B 1 )·E n,i . 
     After computing the energies E n,i  of the noise-suppressed signal, its short-term variations ΔE n,i  and its long-term values {overscore (E)} n,i  in the manner indicated in FIG. 2, the module  15  computes, for each band i (0≦i≦I), a value ρ i  representative of the evolution of the energy of the noise-suppressed signal. This computation is effected in steps  25  to  36  in FIG. 3, executed for each band i from i=0 to i=I. The computation uses a long-term noise envelope estimator ba i , an internal estimator bi i  and a noisy frame counter b i . 
     In step  25 , the magnitude ΔE n,i  is compared to a threshold ε 1 . If the threshold ε 1  has not been reached, the counter b i  is incremented by one unit in step  26 . In step  27 , the long-term estimator ba i  is compared to the smoothed energy value {overscore (E)} n,i . If ba i ≧{overscore (E)} n,i , the estimator ba i  is taken as equal to the smoothed value {overscore (E)} n,i  in step  28  and the counter b i  is reset to zero. The magnitude ρ i , which is taken as equal to ba i /{overscore (E)} n,i  (step  36 ), is then equal to 1. 
     If step  27  shows that ba i &lt;{overscore (E)} n,i , the counter b i  is compared to a limit value bmax in step  29 . If b i &gt;bmax, the signal is considered to be too stationary to support vocal activity. The aforementioned step  28 , which amounts to considering that the frame contains only noise, is then executed. If b i ≦bmax in step  29 , the internal estimator bi i  is computed in step  33  from the equation: 
     
       
           bi   i =(1 −Bm )· {overscore (E)}   n,i   +Bm·ba   i   (4) 
       
     
     In the above equation, Bm represents an update coefficient from 0.90 to 1. Its value differs according to the state of a vocal activity detector automaton (steps  30  to  32 ). The state δ n−1  is that determined during processing of the preceding frame. If the automaton is in a speech detection state (δ n−1 =2 in step  30 ), the coefficient Bm takes a value Bmp very close to 1 so the noise estimator is very slightly updated in the presence of speech. Otherwise, the coefficient Bm takes a lower value Bms to enable more meaningful updating of the noise estimator in the silence phase. In step  34 , the difference ba i −bi i  between the long-term estimator and the internal noise estimator is compared with a threshold ε 2 . If the threshold ε 2  has not been reached, the long-term estimator ba i  is updated with the value of the internal estimator bi i  in step  35 . Otherwise, the long-term estimator ba i  remains unchanged. This prevents sudden variations due to a speech signal causing the noise estimator to be updated. 
     After the magnitudes ρ i  have been obtained, the module  15  proceeds to the vocal activity decisions of step  37 . The module  15  first updates the state of the detection automaton according to the magnitude ρ 0  calculated for all of the band of the signal. The new state δ n  of the automaton depends on the preceding state δ n−1  and on ρ 0 , as shown in FIG.  4 . 
     Four states are possible: δ=0 detects silence, or absence of speech, δ=2 detects the presence of vocal activity and states δ=1 and δ=3 are intermediate rising and falling states. If the automaton is in the silence state (δ n−1 =0) it remains there if ρ 0  does not exceed a first threshold SE 1 , and otherwise goes to the rising state. In the rising state (δ n−1 =1), it reverts to the silence state if ρ 0  is smaller than the threshold SE 1 , goes to the speech state if ρ 0  is greater than a second threshold SE 2  greater than the threshold SE 1  and it remains in the rising state if SE 1 ≦ρ 0 ≦SE 2 . If the automaton is in the speech state (δ n−1 =2), it remains there if ρ 0  exceeds a third threshold SE 3  lower than the threshold SE 2 , and enters the falling state otherwise. In the falling state (δ n−1 =3), the automaton reverts to the speech state if ρ 0  is higher than the threshold SE 2 , reverts the silence state if ρ 0  is below a fourth threshold SE 4  lower than the threshold SE 2  and remains in the falling state if SE 4 ≦ρ 0 ≦SE 2 . 
     In step  37 , the module  15  also computes the degrees of vocal activity γ n,i  in each band i≧1. This degree γ n,i  is preferably a non-binary parameter, i.e. the function γ n,i =g(ρ i ) is a function varying continuously in the range from 0 to 1 as a function of the values taken by the magnitude ρ i . This function has the shape shown in FIG. 5, for example. 
     The module  16  calculates the estimates of the noise on a band by band basis, and the estimates are used in the noise suppression process, employing successive values of the components S n,i  and the degrees of vocal activity γ n,i . This corresponds to steps  40  to  42  in FIG.  3 . Step  40  determines if the vocal activity detector automaton has just gone from the rising state to the speech state. If so, the last two estimates {circumflex over (B)} n−1,i  and {circumflex over (B)} n−2,i  previously computed for each band i≧1 are corrected according to the value of the preceding estimate {circumflex over (B)} n−3,i . The correction is done to allow for the fact that, in the rise phase (δ=1), the long-term estimates of the energy of the noise in the vocal activity detection process (steps  30  to  33 ) were computed as if the signal included only noise (Bm=Bms), with the result that they may be subject to error. 
     In step  42 , the module  16  updates the estimates of the noise on a band by band basis using the equations: 
     
       
           {tilde over (B)}   n,i =γ B   ·{circumflex over (B)}   n−1,i +(1−γ B )· S   n,i   (5) 
       
     
     
       
           {circumflex over (B)}   n,i =γ n,i   ·{circumflex over (B)}   n−1,i +(1−γ n,i )· {tilde over (B)}   n,i   (6) 
       
     
     in which λ B  designates a forgetting factor such that 0&lt;λ B &lt; 1 . Equation (6) shows that the non-binary degree of vocal activity γ n,i  is taken into account. 
     As previously indicated, the long-term estimates of the noise {circumflex over (B)} n,i  are overestimated by a module  45  (FIG. 1) before noise suppression by non-linear spectral subtraction. The module  45  computes the overestimation coefficient α′ n,i  previously referred to, along with an overestimate {circumflex over (B)}′ n,i  which essentially corresponds to α′ n,i ·{circumflex over (B)} n,i . 
     FIG. 6 shows the organisation of the overestimation module  45 . The overestimate {circumflex over (B)}′ n,i  is obtained by combining the long-term estimate {circumflex over (B)} n,i  and a measurement ΔB n,i   max  of the variability of the component of the noise in the band i around its long-term estimate. In the example considered, the combination is essentially a simple sum performed by an adder  46 . It could instead be a weighted sum. 
     The overestimation coefficient α′ n,i  is equal to the ratio between the sum {circumflex over (B)} n,i +ΔB n,i   max  delivered by the adder  46  and the delayed long-term estimate {circumflex over (B)} n−τ3,i  (divider  47 ), with a ceiling limit value α max , for example α max =4 (block  48 ). The delay τ 3  is used to correct the value of the overestimation coefficient α′ n,i , if necessary, in the rising phases (δ=1), before the long-term estimates have been corrected by steps  40  and  41  from FIG. 3 (for example δ 3 =3). 
     The overestimate {circumflex over (B)}′ n,i  is finally taken as equal to α′ n,i ·{circumflex over (B)} n−τ3,i  (multiplier  49 ). 
     The measurement ΔB n,i   max  of the variability of the noise reflects the variance of the noise estimator. It is obtained as a function of the values of S n,i  and of {circumflex over (B)} n,i  computed for a certain number of preceding frames over which the speech signal does not feature any vocal activity in band i. It is a function of the differences |S n−k,i −{circumflex over (B)} n−k,i | computed for a number K of silence frames (n−k≦n). In the example shown, this function is simply the maximum (block  50 ). For each frame n, the degree of vocal activity γ n,i  is compared to a threshold (block  51 ) to decide if the difference |S n,i −{circumflex over (B)} n,i |, calculated at  52 - 53 , must be loaded into a queue  54  with K locations organised in first-in/first-out (FIFO) mode, or not. If γ n,i  does not exceed the threshold (which can be equal to 0 if the function g( ) has the form shown in FIG.  5 ), the FIFO  54  is not loaded; otherwise it is loaded. The maximum value contained in the FIFO  54  is then supplied as the measured variability ΔB n,i   max . 
     The measured variability ΔB n,i   max  can instead be obtained as a function of the values S n,f  (not S n,i ) and {circumflex over (B)} n,i . The procedure is then the same, except that the FIFO  54  contains, instead of |S n−k,i −{circumflex over (B)} n−k,i | for each of the bands i,          max     f   ∈     [       f        (     i   -   1     )       ,       f        (   i   )       [                           S       n   -   k     ,   f       -       B   ^         n   -   k     ,   i              .                     
     Because of the independent estimates of the long-term fluctuations {circumflex over (B)} n,i  and short-term variability ΔB n,i   max  of the noise, the overestimator {circumflex over (B)}′ n,i  makes the noise suppression process highly robust to musical noise. 
     The module  55  shown in FIG. 1 performs a first spectral subtraction phase. This phase supplies, with the resolution of the bands i (1≦i≦I), the frequency response H n,i   1  of a first noise suppression filter, as a function of the components S n,i  and {circumflex over (B)} n,i  and the overestimation coefficients α′ n,i . This computation can be performed for each band i using the equation:                H     n   ,   i     1     =       max        {         S     n   ,   i       -       α     n   ,   i     ′     ·       B   ^       n   ,   i           ,       β   i   1     ·       B   ^       n   ,   i           }         S       n   -   τ4     ,   i                 (   7   )                         
     in which τ 4  is an integer delay such that τ 4 &gt;0 (for example τ 4 =0). The coefficient β i   1  in equation (7), like the coefficient βp i  in equation (3), represents a floor used conventionally to avoid negative values or excessively low values of the noise-suppressed signal. 
     In a manner known in the art (see EP-A-0 534 837), the overestimation coefficient α′ n,i  in equation (7) could be replaced by another coefficient equal to a function of α′ n,i  and an estimate of the signal-to-noise ratio (for example S n,i /{circumflex over (B)} n,i ) this function being a decreasing function of the estimated value of the signal-to-noise ratio. This function is then equal to α′ n,i  for the lowest values of the signal-to-noise ratio. If the signal is very noisy, there is clearly no utility in reducing the overestimation factor. This function advantageously decreases toward zero for the highest values of the signal/noise ratio. This protects the highest energy areas of the spectrum, in which the speech signal is the most meaningful, the quantity subtracted from the signal then tending toward zero. 
     This strategy can be refined by applying it selectively to the harmonics of the pitch frequency of the speech signal if the latter features vocal activity. 
     Accordingly, in the embodiment shown in FIG. 1, a second noise suppression phase is performed by a harmonic protection module  56 . This module computes, with the resolution of the Fourier transform, the frequency response H n,f   2  of a second noise suppression filter as a function of the parameters H n,i   1 , α′ n,i , {circumflex over (B)} n,i , δ n , S n,i  and the pitch frequency f p =F e /T p  computed outside silence phases by a harmonic analysis module  57 . In a silence phase (δ n =0), the module  56  is not in service, i.e. H n,f   2 =H n,i   1  for each frequency f of a band i. The module  57  can use any prior art method to analyse the speech signal of the frame to determine the pitch period T p , expressed as an integer or fractional number of samples, for example a linear prediction method. 
     The protection afforded by the module  56  can consist in effecting, for each frequency f belonging to a band i:                   {             H     n   ,   f     2     =     1                 if                   {               S     n   ,   i       -       α     n   ,   i     ′     ·       B   ^       n   ,   i           &gt;       β   i   2     ·       β   ^       n   ,   i                     and                   ∃       η                   integer   /          f   -     η   ·     f   p                  ≤     Δ                   f   /   2                               (   8   )                 H     n   ,   f     2     =       H     n   ,   f     1                   otherwise             (   9   )                                               
     Δf=F e /N represents the spectral resolution of the Fourier transform. If H n,f   2 =1, the quantity subtracted from the component S n,f  is zero. In this computation, the floor coefficients β i   2  (for example β i   2 =β i   1 ) express the fact that some harmonics of the pitch frequency f p  can be masked by noise, so that there is no utility in protecting them. 
     This protection strategy is preferably applied for each of the frequencies closest to the harmonics of f p , i.e. for any integer η. 
     If δf p  denotes the frequency resolution with which the analysis module  57  produces the estimated pitch frequency f p , i.e. if the real pitch frequency is between f p −δf p /2 and f p +δf p /2, then the difference between the η-th harmonic of the real pitch frequency and its estimate η×f p  (condition (9)) can go up to ±η×δf p /2. For high values of η, the difference can be greater than the spectral half-resolution Δf/2 of the Fourier transform. To take account of this uncertainty, and to guarantee good protection of the harmonics of the real pitch, each of the frequencies in the range [η×f p −η×δf p /2, η×f p +η×f p /2] can be protected, i.e. condition (9) above can be replaced with: 
     
       
         ∃η integer/| f−η·f   p |≦(η·δ f   p   +Δf )/2  (9′) 
       
     
     This approach (condition (9′)) is of particular benefit if the values of η can be high, especially if the process is used in a broadband system. 
     For each protected frequency, the corrected frequency response H n,f   2  can be equal to 1, as indicated above, which in the context of spectral subtraction corresponds to the subtraction of a zero quantity, i.e. to complete protection of the frequency in question. More generally, this corrected frequency response H n,f   2  could be taken as equal to a value from 1 to H n,f   1  according to the required degree of protection, which corresponds to subtracting a quantity less than that which would be subtracted if the frequency in question were not protected. 
     The spectral components S n,f   2  of a noise-suppressed signal are computed by a multiplier  58 : 
     
       
           S   n,f   2   =H   n,f   2   ·S   n,f   (10) 
       
     
     This signal S n,f   2  is supplied to a module  60  which computes a masking curve for each frame n by applying a psychoacoustic model of how the human ear perceives sound. 
     The masking phenomenon is a well-known principle of the operation of the human ear. If two frequencies are present simultaneously, it is possible for one of them not to be audible. It is then said to be masked. 
     There are various methods of computing masking curves. The method developed by J. D. Johnston can be used, for example (“Transform Coding of Audio Signals Using Perceptual Noise Criteria”, IEEE Journal on Selected Areas in Communications, Vol. 6, No. 2, February 1988). That method operates in the barks frequency scale. The masking curve is seen as the convolution of the spectrum spreading function of the basilar membrane in the bark domain with the exciter signal, which in the present application is the signal S n,f   2 . The spectrum spreading function can be modelled in the manner shown in FIG.  7 . For each bark band, the contribution of the lower and higher bands convoluted with the spreading function of the basilar membrane is computed from the equation:                C     n   ,   q       =         ∑       q   ′     =   0       q   -   1                         S     n   ,     q   ′       2         (     10     10   /   10       )       (     q   -     q   ′       )           +       ∑       q   ′     =     q   +   1       Q                       S     n   ,     q   ′       2         (     10     25   /   10       )       (       q   ′     -   q     )                     (   11   )                         
     in which the indices q and q′ designate the bark bands (0≦q,q′≦Q) and S n,q   2  represents the average of the components S n,f   2  of the noise-suppressed exciter signal for the discrete frequencies f belonging to the bark band q′. 
     The module  60  obtains the masking threshold M n,q  for each bark band q from the equation: 
       M   n,q   =C   n,q   /R   q   (12) 
     in which R q  depends on whether the signal is relatively more or relatively less voiced. As is well-known in the art, one possible form of R q  is: 
     
       
         10·log 10 ( R   q )=( A+q )·χ+ B ·(1−χ)  (13) 
       
     
     with A=14.5 and B=5.5. χ designated a degree of voicing of the speech signal, varying from 0 (no voicing) to 1 (highly voiced signal). The parameter χ can be of the form known in the art:              χ   =     min        {       SFM     SFM   max       ,   1     }               (   12   )                         
     where SFM represents the ratio in decibels between the arithmetic mean and the geometric mean of the energy of the bark bands and SFM max =−60 dB. 
     The noise suppression system further includes a module  62  which corrects the frequency response of the noise suppression filter as a function of the masking curve M n,q  computed by the module  60  and the overestimates {circumflex over (B)}′ n,i  computed by the module  45 . The module  62  decides which noise suppression level must really be achieved. 
     By comparing the envelope of the noise overestimate with the envelope formed by the masking thresholds M n,q , a decision is taken to suppress noise in the signal only to the extent that the overestimate {circumflex over (B)}{circumflex over (′)} n,i  is above the masking curve. This avoids unnecessary suppression of noise masked by speech. 
     The new response H n,f   3 , for a frequency f belonging to the band i defined by the module  12  and the bark band q, thus depends on the relative difference between the overestimate {circumflex over (B)}′ n,i  of the corresponding spectral component of the noise and the masking curve M n,q , in the following manner:                H     n   ,   f     3     =     1   -         (     1   -     H     n   ,   f     2       )     ·   max          {             B   ^       n   ,   i     ′     -     M     n   ,   q             B   ^       n   ,   i     ′       ,   0     }                 (   14   )                         
     In other words, the quantity subtracted from a spectral component S n,f , in the spectral subtraction process having the frequency response H n,f   3 , is substantially equal to whichever is the lower of the quantity subtracted from this spectral component in the spectral subtraction process having the frequency response H n,f   2  and the fraction of the overestimate {circumflex over (B)}′ n,i  of the corresponding spectral component of the noise which possibly exceeds the masking curve M n,q . 
     FIG. 8 illustrates the principle of the correction applied by the module  62 . It shows in schematic form an example of a masking curve M n,q  computed on the basis of the spectral components S n,f   2  of the noise-suppressed signal as well as the overestimate {circumflex over (B)}′ n,i  of the noise spectrum. The quantity finally subtracted from the components S n,f  is that shown by the shaded areas, i.e. it is limited to the fraction of the overestimate {circumflex over (B)}′ n,i  of the spectral components of the noise which is above the masking curve. 
     The subtraction is effected by multiplying the frequency response H n,f   3  of the noise suppression filter by the spectral components S n,f  of the speech signal (multiplier  64 ). The module  65  then reconstructs the noise-suppressed signal in the time domain by applying the inverse fast Fourier transform (IFFT) to the samples of frequency S n,f   3  delivered by the multiplier  64 . For each frame, only the first N/2=128 samples of the signal produced by the module  65  are delivered as the final noise-suppressed signal s 3 , after overlap-add reconstruction with the N/2=128 last samples of the preceding frame (module  66 ).