{'fraction_non_alphanumeric': 0.0325421611492817, 'fraction_numerical': 0.014803247970018737, 'mean_word_length': 4.551664355062413, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
CLC: Complex Linear Coding for the DNS 2020 Challenge

Complex-valued processing brought deep learning-based speech enhancement and signal extraction to a new level. Typically, the noise reduction process is based on a time-frequency (TF) mask which is applied to a noisy spectrogram. Complex masks (CM) usually outperform real-valued masks due to their ability to modify the phase. Recent work proposed to use a complex linear combination of coefficients called complex linear coding (CLC) instead of a point-wise multiplication with a mask. This allows to incorporate information from previous and optionally future time steps which results in superior performance over mask-based enhancement for certain noise conditions. In fact, the linear combination enables to model quasi-steady properties like the spectrum within a frequency band. In this work, we apply CLC to the Deep Noise Suppression (DNS) challenge and propose CLC as an alternative to traditional mask-based processing, e.g. used by the baseline. We evaluated our models using the provided test set and an additional validation set with real-world stationary and non-stationary noises. Based on the published test set, we outperform the baseline w.r.t. the scale independent signal distortion ratio (SI-SDR) by about 3dB.


Introduction
Monaural speech enhancement is an important part in many algorithms such as automatic speech recognition, video conference systems, as well as assistive listening devices. Most stateof-the-art approaches work in the short-time Fourier transform (STFT) representation and estimate a TF mask using a deep neural network. The estimated masks are usually well-defined and limited by an upper bound to improve stability of the network training. However, previous work has shown that especially complex masks are rather hard to estimate directly and it is beneficial to compute the loss based on the enhanced spectrogram or time domain audio [1,2,3,4]. Weninger et al. [1] used real-valued masks and computed the loss on the enhanced and clean magnitudes denoted as magnitude signal approximation (MSA) instead of the predicted masks, denoted as mask approximation (MA). Tan et al. [3] showed that this phenomena also holds for the complex domain. Using complex masks, such as the complex ideal ratio mask (cIRM), the original signal can be ideally reconstructed. That is, cIRM is theoretically able to modify the phase and rotate it back to the original clean phase. While these masks are typically unbounded, in practice, the network output is bounded by an activation function to reduce the search space. The authors showed that directly estimating a cIRM, i.e. via complex mask approximation (CMA) performs worse compared to computing the loss based on complex spectrograms approximation (CSA) or time-domain signal approximation (SA). Directly estimating the complex spectrograms, however, gives the network a huge degree of freedom which might also result in signal degradation for unseen noise types.
Le Roux et al. [4] also compared CMA, CSA, and a loss function based on the time-domain signal called waveform approximation (WA), first proposed by [5]. WA outperforms both CMA and SA, which provides evidence that even though complex masks allow to modify the phase and to reconstruct the ideal clean signal, they are hard to directly estimate. Le Roux et al. also used a codebook representation to further reduce the search space for the neural network. Their best model used a codebook containing 12 complex values.
Many algorithms process the noisy signal in an offline fashion [6,7,4,8,5,9] or introduce large delays, which is not viable for a lot of applications. For instance, Zhao et al. [9] or Le Roux et al. [4] used bidirectional recurrent neural networks (RNNs) or Pascual et al. [7] used an encoder/decoder architecture with skip connections, both methods requiring the full audio signal. Instead, the Interspeech Deep Noise Reduction (DNS) challenge [10] aims for methods that perform online processing with a limited delay, which is for instance required by VoIP applications. Specifically, the lookahead is limited to 40 ms with a maximum frame size of also T = 40 ms, which results in an overall algorithm delay of 80 ms. The challenge provides two tracks. The real-time track limits the processing time to T /2 on an Intel Core i5 quad core or equivalent, whereas the second track does not make any complexity and processing limitations. Thus, the maximum overall latency for the real-time track is 100 ms, which is still considered lip-synchronously [11].
In this paper, we propose to use a method called complex linear coding [12] for noise reduction. Instead of using a complex mask that is applied per TF-bin, we propose to use a linear combination of complex valued coefficients that are applied frequency bin-wise on the current time step as well as previous time steps. Schrter et al. [12] motivated CLC by its ability to model quasi-static properties of speech. That is, CLC is able to reduce noise within a frequency band, while keeping the speech components. This is especially helpful, when there are multiple speech harmonics in one frequency band or noise and speech harmonics have very similar frequencies. Mack et al. [13] used a similar technique, which they called deep filtering. They showed that this complex linear combination can also be seen as a filter that is applied in the complex TF domain. Since a filter applied to multiple TF bins, it is able to recover signal degradations like notch-filters or time-frame zeroing. Instead of making full use of the latency and complexity requirements by the challenge, the proposed method focuses on minimal complexity and latency of approx. 20 ms. This, e.g., relaxes the hardware as well as transmission constraints of each participants in a VoIP setting.
The rest of the paper is structured as follows. Sec. 2 describes the dataset used for training and evaluation, and outlines the data mixing and augmentation process is outlined. In Sec. 3, we shortly introduce the baseline system. Sec. 4 formally defines CLC and depicts the proposed models. In Sec. 5, we report the results on the provided test set as well as an additional validation set of both, our models and the baseline. This is followed by a summary and conclusion in Sec. 6.

DNS Training Dataset
The provided DNS training dataset consists of clean speech samples from the Librivox dataset [14] from 2150 speaker summing up to approx. 441 h. The noise dataset contains samples from the Audioset [15], Freesound and Demand [16] databases summing up to 70 000 samples and at least 150 noise classes.

DNS Test Dataset
The DNS test set contains overall 900 synthetic clips with reverberant and non-reverberant speech as well as real recordings without ground truth collected at Microsoft or taken from Audioset.

Additional Training Data
In addition to the provided datasets, we incorporated some speech and noise samples from different databases. We used about 4000 samples from the EUROM database [17] from the languages English, German, Swedish, Norwegian, Danish and French. Furthermore, we used about 3000 samples from the TIMIT dataset [18]. We extended the noise samples with 750 manually-selected noise samples from Audioset as well as about 1500 samples from the RNNoise dataset [19]. For all datasets, additional samples were excluded in a validation and test set. Speech samples were split speaker exclusive. The test set contains overall about 3000 noisy samples mixed with SNRs of {0, 5, 10, 20}.

Mixing and Augmentation Process
We deployed our own signal mixing algorithm to generate noisy samples as well as ground truth signals. The noisy mixtures were created by sampling up to four noises from the noise training set with various SNRs of {−5, 0, 5, 10, 20, 40}. To simulate room environments, we used pyroomacoustics [20] and simulated various shoe box rooms with a max size of [12, 8, 3.5] and T60 between 30 and 3000 ms. The generated room transfer functions (RTFs) were applied to 50 % of the input speech samples. In Sec. 4, we present two models that are trained with slightly different clean speech targets. One model uses the reverberant speech as target, the other model uses the closesource recordings before applying the RTFs. To ensure that the alignment of clean and noisy is the same in the latter case, the non reverberant speech samples were delayed until the peak of the RTF. Additionay, we randomly applied a gain change of {−6, 0, 6} dB.

Preprocessing and Normalization
We process the noisy input data using a standard STFT with a 20 ms Hamming window which corresponds to 161 frequency bins and 75 % overlap resulting in a frequency resolution of 100 Hz per frequency bin. This frequency resolution is slightly smaller then the baseline [21] and results in a shorter delay. However, it is a lot higher when compared to the original CLC-Net [12].
Since our input and output is complex valued, we cannot use log-power spectra with mean/variance normalization like [21]. Instead, similar to [12], we normalize the complex spectrum using unit norm: where X is the complex spectrum,μ a mean estimate of |X|, and t and f are time and frequency bins. This is done in an online fashion, i.e.μ is estimated as follows: The decaying factor α was set to 0.99. The unit normalization enhances the magnitude of the weaker parts in the spectrum while not modifying the noisy phase.

Baseline
Xia et al. [21] used a simple GRU based architecture, which is similar to what we propose. The input is transformed into TF domain using an STFT with a window size corresponding to 32 ms. After applying dB-scaling, it is mean/variance normalized using an exponential decay in an online fashion. They used a 3 layer GRU followed by a fully connected (FC) layer and sigmoid activation to predict a real valued mask. The network overall contained 1.26 M parameters. Their main contribution was a weighted SDR based loss function.

Complex Linear Coding
CLC was introduced in the context of hearing aids [12]. Motivated by linear predictive coding (LPC), CLC is able to model periodic properties within a frequency band. Especially when dealing with wideband spectrograms with a poor frequency resolution, CLC outperforms standard real or complex mask based methods. Using wideband spectrograms is often necessary in low-latency settings, since a narrowband spectrogram with a higher frequency resolution requires larger processing windows. In wideband spectrograms, speech harmonics may not be clearly separated so multiple harmonics can lie within a single frequency band. This results in cancellation due to multiple frequencies being superimposed within that band. The periodic structure can be modeled by CLC. A schematic figure of CLC is shown in Fig. 1.  Formally, complex linear coding is defined aŝ where A are the complex coefficients,Ŝ the enhanced spectrogram and N the CLC order. l is an optional offset parameter, which allows to incorporate future context in the linear combination when l ≥ 1. Theoretically, l can also be negative which results in a prediction of the l-th frame in the future. For l = −1, the linear combination is equivalent to the one in LPC.
In all experiments, we chose N = 5 and l = 0.

Network Architecture
We used a simple network architecture similar to the baseline. Instead of using a 3 layer GRU, we used an input layer with a fully connected layer, batch normalization and a ReLU activation. The majority of parameters is in the output layer, since it produces a N = 5 complex valued coefficients per frequency bin. We used a tanh activation function for the output layer, since we need an output range from −1 to 1 for the complex coefficients. The CLC network flow chart is shown in Fig. 2. We trained the network using PyTorch [22] for 200 epochs with an initial learning rate of 0.001 and a batch size of 32. For optimization, we used AdamW [23] with a weight decay of 1 × 10 −7 and gradient clipping of 0.25. As a loss function, standard mean squared error on the time domain signal was used. We found that this outperforms a loss computed on the complex spectrogram, which are similar findings as by e.g. [4,12]. x(t) ŝ(t) Figure 2: Flow chart of the proposed architecture. The fully connected output layer has the size N · F · 2, where N is the CLC order, F the frequency bins and 2 for the real and imaginary part of the complex number. ⊗ denotes the complex linear combination of equation 3.
We provide an open source PyTorch module including model weights and a script to process noisy input files based on PyTorch JIT 1 .

Results
This section describes the qualitative results based on the provided test set of our two models.

DNS Test Set
As explained in Sec. 2.4, we trained the first model on the reverberant clean target and thus only denoises its input, whereas the second model was trained to also deverberate the input signal. Since the provided clean targets of the test set were also reverberant, we submitted the former. As objective metrics, we use the scale independent signal distortion ratio (SI-SDR) [24], the short-time objective intelligibility (STOI) [25], and the RMSE on the time domain audio signal. Table 1 shows the results based on the published test. Compared to the baseline, CLC is very robust and does not degrade the speech signal to a high degree. Fig. 3 shows an example from the test set. Here we can see that, while the baseline degrades the speech signal quite a bit, CLC is able to preserve most of the voiced and unvoiced parts. For transient noises like keyboard typing however, the baseline performs slightly better. This may be due to the property of CLC, to model the more long-term, quasi stationary parts of speech and noise. Especially for reverberant signals, the baseline seems to also suppress parts of voiced and unvoiced speech. As a result, the intelligibility suffers and the enhanced signal is not pleasant to listen to.

DNS Blind Test Set
Based on the blind test set, we can also see that CLC outperforms the baseline by a delta mean opinion score (dMOS) of 0.17. Furthermore, CLC performs better on reverberant and real world data, while the baseline only performs well on the synthesized no-reverb. data.

Our Test Set
Additionally to results on the published DNS test sets, we provide results based on our test set as described in Sec. 2.3. As shown in Tab. 2, CLC outperforms the baseline by a large amount. The baseline again results in a deterioration of the STOI metric. 32 ms frame on a Intel Core i5 clocked at 1.6 GHz. Note, that this is slightly higher than reported by the authors (0.16 ms) on a different CPU. Our CLC based model has about 1.4 M parameters and runs in 1.0 ms per 20 ms frame. While our model has a slightly higher complexity, we argue that our model performs better on real-world and on reverberant data according to the blind test set MOS results, which is highly relevant for real-world applications like VoIP scenarios. Furthermore, the computation delay is negligible compared to the algorithm delay, and our algorithm delay is 8 ms less than the baseline.

Conclusion
In this paper, we presented a method based on complex linear coding. We have shown, that CLC is very robust in a variety of speech and noise conditions and thus outperforms the baseline. Especially for very noisy SNRs with quasi-static noisy, CLC outperforms real-and complex-valued mask-based methods. For transient noises like e.g. keyboard typing, however, CLC seems not to be able to adopt the noise fast enough. Also, the challenge requirements w.r.t. processing time and introduced latency require at least desktop hardware and are not suitable for mobile or embedded devices. Since this also allows large processing windows, resulting in a high frequency resolution, a complex mask is probably sufficient. For smaller processing windows ( 10 ms), the originally proposed CLCNet has shown to outperform mask based processing.