An improved adaptive gain equalizer for noise reduction with low speech distortion
- 3.4k Downloads
In high-quality conferencing systems, it is desired to perform noise reduction with as limited speech distortion as possible. Previous work, based on time varying amplification controlled by signal-to-noise ratio estimation in different frequency subbands, has shown promising results in this regard but can suffer from problems in situations with intense continuous speech. Further, the amount of noise reduction cannot exceed a certain level in order to avoid artifacts. This paper establishes the problems and proposes several improvements. The improved algorithm is evaluated with several different noise characteristics, and the results show that the algorithm provides even less speech distortion, better performance in a multi-speaker environment and improved noise suppression when speech is absent compared with previous work.
Keywordsspeech enhancement noise reduction noise-level estimation
When communicating using hands free devices such as speakerphones, the speech signal is typically corrupted by background noise such as ventilation noise or computer fan noise. One commonly used method for reducing this type of noise is spectral subtraction [1, 2]. Although typically achieving well in terms of noise reduction, the basic spectral subtraction algorithm has often the effect that musical noise appears due to spectral flooring . Ways of reducing the musical noise has been proposed by e.g. Ephraim and Malah , although this method still tends to give audible artifacts which could in some cases even result in reduced listening comfort compared to the original unprocessed signal . Further improvements have been made by Plapous et al.  in which they introduce a two-step noise reduction technique that reduces the noise without adding artifacts to the speech signal. However, this algorithm aims at reducing speech harmonics distortion and does nothing for the unvoiced speech.
A time domain speech enhancement ("booster") algorithm, in this paper denoted the speech booster algorithm (SBA), has been proposed by Westerlund et al.  in which the audio signal is amplified according to a signal-to-noise ratio (SNR) estimate in subbands. The gain is calculated for a subband divided signal, and the gains in each subband are independent of each other. Advantages of SBA are the low computational complexity compared to other algorithms with similar amount of speech enhancement  as well as the ease of implementation and the absence of musical noise if the gains are controlled with care .
However, SBA suffers from a massive drawback which manifests itself in situations with intense continuous speech. In this type of situations, the subband SNR estimates will gradually become inaccurate, resulting in undesired damping and ultimately reduced speech signal quality.
This paper demonstrates the drawback and proposes a modification to avoid this drawback. Further, the paper presents additional improvements in the form of a gain modified to produce less speech distortion and to provide more noise damping in speech pauses.
The outline of the paper is as follows. In Section 2, the original SBA presented in  is described, and in Section 3, the proposed improvements are presented. Section 4 describes the simulation setup used for comparing the original SBA to the proposed method and Section 5 presents the results. Section 6 compares the SBA and the proposed method using objective speech distortion and SNR increase measures during speech. A short comment on subjective evaluation is presented in Section 7, followed by the conclusions in Section 8.
2 The speech booster algorithm
where A k (n) is an estimate of the noisy speech signal level, B k (n) is an estimate of the noise level, L k is a threshold determining the maximum allowed gain in subband k and p k ≥ 0 is a constant denoted the gain rise exponent .
where 0 ≤ α k ≤ 1 is a forgetting factor constant.
where β k is a positive constant defining the increase rate of the noise level.
3 The proposed method
One problem with the SBA as described in the previous section is the noise-level estimation in (5). During intense continuous speech, the noise-level estimate B k (n) will increase and cause reduction of the speech boosting gain, see (3).
where ϕ(n) is an update controller, which can take on the values 1 (no update) or 0 (update). Use of the noise estimation update controller ϕ(n) prevents noise estimation during speech and thus eliminates the problem of speech boosting gain reduction during intense continuous speech.
The essence of (8) is to compare the largest accumulated signal block (numerator) with the smallest block (denominator), out of the N b most recent (in time) blocks. A high ratio S k (n) indicates that the signal x k (n) currently could be regarded as non-stationary under the considered time-frame, meaning in this context that the current signal content is likely to be dominated by speech. A low ratio S k (n) on the other hand means that the signal x k (n) is likely to be dominated by stationary (still under the considered time-frame) noise. The noise estimation update controller (7) then allows noise estimation once S k (n) is below the threshold T ϕ,k for all k.
where Δ is a small positive constant defining the limit of transition between the regions of fast and slow damping.
As can be seen in (12), the proposed fullband gain directly depends on the subband gains g1,k; if sufficient gain is applied in the subbands (during speech), the gain controller φ(n) will be 1, indicating that the fullband gain should rise, see (15) and (14). On the other hand, if little subband gain is applied (when only stationary noise is present), the gain controller φ(n) will be 0, indicating that the fullband gain should fall, see (16) and (14).
The fullband gain g2(n) could be said to consist of three regions. The first region, L(n) = 1, is used when speech is present. The second region, L(n) = L f , is used directly after a speech segment in the audio signal. In this region, the gain is quickly reduced, which reduces the noise that is no longer masked by the speech. Since the adaption to the lowest gain in this region is relatively fast, the amount of noise suppression cannot be too large since that would give a non-comfortable sounding alteration of the noise level. Instead, the third region, L(n) = L s , is used to adapt to the lowest desired gain. This adaption is fairly slow in order to make the transition between the noise levels less apparent.
Further, instead of the full-rate filterbank structure used in , it is proposed to use a polyphase filterbank with downsampling  to provide reduction in computational complexity. In this paper, a decimation rate of 32 was used. For detailed information about polyphase filterbanks, the reader is referred to [9, 10] and the references therein.
4 Simulation setup
4.1 Common parameter setup
In this section, the setup of the parameters used by both the SBA and the proposed algorithm is discussed. It should be noted that the same parameter settings were used for both algorithms when possible in the simulations.
To avoid artifacts such as musical noise, the difference in gain between two separate subbands cannot be too large. On the other hand, the larger the allowed difference--the more noise reduction is achieved. A suitable choice of maximum subband gain is in the region 10 ≤ |20 log10L k | ≤ 25 dB .
The forgetting factor α k is chosen so that the gain g1,k(n) will be stable and less affected by impulsive noises compared to a lower setting of α k . Westerlund et al. recommend a lower setting of α k but also mention that tweaking this parameter could lead to improved performance depending on the noise environment.
Further, the relationship between the SNR estimate and the subband gain g1,k(n) is decided by the gain rise exponent p k , see (3). If a linear relationship is desired, then p k = 1 and if p k > 1, an alteration of the SNR estimate will have a larger effect on the gain than if p k < 1. For the simulations, a setting of p k = 1 was chosen.
4.2 Parameter setup for the proposed algorithm
The proposed algorithm contains a number of additional parameters that should be tuned. In this section, the setup of the additional parameters is discussed.
As described in Section 3, the proposed algorithm incorporates a fullband gain g2(n), which has the purpose of damping noise in longer speech pauses. The gain limitation L f describes the first damping limit of g2(n). If this is too large, there is a risk of rapid noise pumping. The last gain limitation parameter L s should be set according to the desired maximum total noise damping |20 log10 (L k L s )| dB.
The setup of the gain controller φ(n) was done by adjusting the parameters T φ and n h . The hold time parameter n h is to be altered depending on how fast the additional noise damping g2(n) should start to affect the signal. A short hold time would imply noticeable additional noise reduction in short speech pauses but could on the other hand cause annoying pumping of the noise level. A longer hold time lessens this noise level pumping effect, but would not cause any noticeable additional noise damping in short speech pauses. Further, the threshold T φ should be set with the maximum allowed subband noise damping L k in mind. The threshold should be T φ > L k for the controller to be able to deactivate. A recommended threshold setting is T φ ≈ 2L k . For the simulations in this paper, the setting T φ = 0.5 was used.
The setup of the noise estimation update controller ϕ(n) was done by adjusting the parameters T ϕ,k , N b and N s . The controller makes a decision based on the previous N b N s samples, which implies that by adjusting these parameters, the behavior of ϕ(n) is greatly affected. The threshold T ϕ,k marks the decision point for distinguishing between speech and noise. If |20 log10T ϕ,k |= 10, the ratio between the largest and smallest signal block has to be at least 10 dB for the noise estimation to halt. This is the setting used in the simulations. Moreover, the smoothing parameter β k was adjusted so that the adaption to an increased noise level would be approximately 2 dB/s for both the SBA and the proposed algorithm. This corresponds to β k = 2.8 × 10-4 for the SBA and β k = 6.3 × 10-4 for the proposed algorithm.
5 Behavior of the algorithm
Parameter values used in simulations
L k , ∀k
α k , ∀k
p k , ∀k
2.2 × 10-16
5.1 Estimation of the noise level
Thus, by using an update controller, the noise-level estimation performance is improved. With a suitable choice of T ϕ,k , the noise estimation update controller ϕ(n) becomes active during speech segments while still being able to adapt to changing noise levels. Without the proposed update controller, i.e. the SBA, the noise-level estimation will over time rise to a higher level than the actual background noise level. The only way of reducing this effect would be to decrease the value of β k , but this would in turn also result in slower adaption to an increased noise level.
Further, one important property of the update controller ϕ(n) is that it should never fail to activate when speech is present. In this case, it is better to halt the update too often than too seldom. A faulty update causes the estimated noise level to increase during speech which in the long term could cause a noise-level estimation B k (n) as high as the actual speech level A k (n), as discussed previously and shown in Figure 3 for the SBA.
5.2 Noise damping in longer speech pauses
Thus, the inclusion of the proposed additional gain g2 (n) leads to a reduced noise level during speech pauses, without affecting the quality of the speech. The additional gain will cause no speech distortion as the gain is constant (with value g2 (n) = 1) during speech. Further, it does not change the spectral characteristics of the noise since all subbands are equally attenuated and the damping is changing slowly. The damping level L s can even be set so that the noise becomes completely inaudible when maximum damping is applied.
6 Objective signal quality comparisons
where sk(n) and vk(n) are the subband versions of s(n) and v(n), respectively, and denotes expected value.
Both the speech distortion index and the SNR gain are calculated globally. It should be noted that the SNR gain and the speech distortion index are only evaluated when there is an active speech signal. Noise-only parts of the signal are not included in this part of the evaluation.
The objective comparison was performed with four different noise sources; noise recorded in a moving car traveling with a speed of 100 km/h, computer fan noise, ventilation noise and babble noise consisting of approximately 10 simultaneous speakers. Five different input SNR levels were used: 0, 6, 12, 18, and 24 dB. The increase rate of the noise-level estimation was set to 1 dB/s (β k = 2.3 × 10-4), 3 dB/s (β k = 6.9 × 10-4), 6 dB/s (β k = 1.4 × 10-3), and 9 dB/s (β k = 2.1 × 10-3) for both the SBA and the proposed method. The speech signals used in the evaluation were from the English speaking test samples of the ITU-T recommendation P.501  and consisted of four speakers (2 male and 2 female) pronouncing one sentence each.
For rapid increase rates of the noise-level estimation (i.e. large β k ), the SBA distorts the speech more than for a slower increase rate. This is due to the adaption of the noise-level estimation during speech, as demonstrated in Section 5.1. The proposed method does not have this increase in speech distortion for higher noise-level estimation increase rates. Thus, the proposed method allows much more rapid noise-level adaptation without any significant increase in speech distortion, compared to the original SBA. This behavior is consistent for all used noise sources, even for the non-stationary babble noise.
Of particular interest are the results of the babble noise, see Figures 5d and 6d. In this case, neither the SBA nor the proposed algorithm achieve any significant SNR improvement (less than 2 dB), due to the highly non-stationary nature of the noise. However, the speech distortion is significantly less for the proposed algorithm owing to the improved noise estimation.
7 Comments on subjective evaluation
The algorithm behavior presented in Section 6 only describes the performance in active speech regions. The contribution of the additional noise reduction, g2(n), applied during speech pauses cannot be discerned from these results. However, this additional gain will reduce the noise level even further resulting in a much lower noise level compared to the SBA. In a conference phone application, a typical scenario is that parts on one side "listen in" to an ongoing presentation conducted by talkers on the opposite side. The extra noise reduction by g2(n) in speech pauses reduces annoyance from continuous noise in these situations. The modifications in this paper were motivated by artifacts from the SBA algorithm, subjectively perceived by an evaluation panel of product managers and development engineers, in total 6 persons. The improvements proposed in this paper were considered as necessary improvements to the SBA, and the proposed algorithm was implemented in a commercially available product. Especially, the inclusion of the additional gain g2(n) in (11) was perceived as desirable.
The noise reduction algorithm presented in this paper is an improvement in the SBA approach presented in , which incorporates subband division of the audio signal with a noise damping in each subband. The subband damping is proportional to the current SNR estimate in the corresponding subband, yielding noise reduction with low levels of speech distortion. The proposed algorithm introduces an additional noise reduction functionality, which is applied in speech pauses, allowing the noise level to be further reduced without adding any speech distortion.
Moreover, the proposed algorithm introduces a noise estimation update controller and a gain controller is used to determine whether the audio signal contains speech or only background noise. Owing to this fact, it is possible to obtain a more reliable noise level estimation and thus the gain in each subband will correspond to the actual SNR, resulting in less speech distortion compared to the original SBA.
Comparisons between the SBA and the proposed algorithm in four different noise conditions, including non-stationary babble noise, show that the proposed method introduces less (in some cases up to 25 dB less) speech distortion for all evaluated input SNRs.
- 2.Loizou PC: Speech Enhancement: Theory and Practice. CRC Press, Taylor & Francis Group; 2007.Google Scholar
- 5.Uemura Y, Takahashi Y, Saruwatari H, Shikano K, Kondo K: Musical noise generation analysis for noise reduction methods based on spectral subtraction and MMSE STSA estimation. ICASSP '09: Proceedings of the 2009 IEEE International Conference on Acoustics, Speech and Signal Processing 2009, 4433-4436.CrossRefGoogle Scholar
- 6.Plapous C, Marro C, Scalart P: Improved signal-to-noise ratio estimation for speech enhancement. IEEE Trans Acoust Speech Signal Process 2006, 14: 2098-2108.Google Scholar
- 11.Benesty J, Chen J, Huang Y, Cohen I: Noise Reduction in Speech Processing. Volume 2. Springer; 2009.Google Scholar
- 13.ITU-T: Test Signals for Use in Telephonometry Recommendation ITU-T P.501. International Telecommunication Union, Geneva; 2009.Google Scholar
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.