# Target Selection Strategies for Demucs-Based Speech Enhancement
## 2 The Demucs-Denoiser Model  
The Demucs-Denoiser model [12] carries out speech enhancement in the waveform domain, and is based on a U-Net architecture [15], summarized in Figure 1.  
It is composed of three stages:  
1. **Encoding stage. ** This stage consists of a series of \(L\) meta-layers, referred to as \"encoding layers\", which are described in Figure 2. As can be seen, each encoding layer has (a) a 1-dimensional convolutional layer with a kernel size \(K\), stride \(S\), and \(2^{l-1}H\) output channels (where \(K\), \(S\), and \(H\) are all tunable parameters, and \(l\) is the encoding layer index); (b) a rectified linear unit (ReLU) layer [16]; (c) another 1-dimensional convolutional layer, with a kernel size of 1, stride of 1, and \(2^{l}H\) output channels; and (d) a gated recurrent unit (GRU) layer [17] whose objective is to force it to have \(2^{l-1}H\) output channels (the same as its first convolutional layer). The output of each meta-layer is fed to both the next encoding layer (or, if it is the last one, to the sequence modeling stage), as well as to its corresponding \"decoding layer\" in the decoding stage of the model. The latter is referred to as a \"skip connection\". 2. **Sequence modeling stage. ** The output of the last encoding layer (meaning of the encoding stage in general) is a latent representation \(z_{l}\) of the model's input \(I\) (where \(I=X+N\), where \(X\) is the source of interest and \(N\) is the noise to be removed). The \(z_{l}\) latent representation is fed to this stage, the objective of which is to predict the latent representation \(z_{\hat{X}}\) of the enhanced signal \(\hat{X}\). Thus, it is crucial that the dimensions of its output are the same as of its input, so that the decoding stage is applied appropriately. In the causal version of the Demucs-Denoiser model (which is the one of interest for this work), this stage contains a stack of \(B\) number of long short-term memory (LSTM) layers, with \(2^{L-1}H\) number of hidden units, meaning that the number of hidden units (considered as the output of the sequence modeling stage) is equivalent to the number of output channels of the last encoding layer (i.e., the output of the decoding stage in general). 3. **Decoding stage. ** The objective of this stage is to decode the latent representation \(z_{\hat{X}}\) (created by the sequence modeling stage) back to the waveform domain, resulting in the enhanced signal \(\hat{X}\). This stage comprises another series of \(L\) meta-layers, referred to as \"decoding layers\", which are described in Figure 3. As can be seen, each decoding layer carries out the reverse of its corresponding encoding layer, being composed of (a) a 1-dimensional convolutional layer with a kernel size of 1, stride of 1, and \(2^{l}H\) output channels, (b) a GRU layer that converts the number of output channels to \(2^{l-1}H\), (c) a 1-dimensional transposed convolutional layer with a kernel size \(K\), stride \(S\), and \(2^{l-2}H\) output channels, and (d) an ReLU layer. Its input is the element-wise addition of the skip connection from the corresponding \(l\)th encoding layer and of the output of the last decoding layer (or the output of the sequence modeling stage, if it is the first one). Additionally, the last decoding layer does not employ an ReLU layer  
Figure 1: The Demucs-Denoiser model. since its corresponding convolutional layer has only one output channel and, thus, is the output of the Demucs-Denoiser model (\(\hat{X}\)). The authors of [12] found that upsampling the input signal \(I\) (and, respectively, downsampling the output signal \(\hat{X}\) to \(I\)'s original sampling rate) improved the model's accuracy. This is carried out in an online manner by the use of a sinc interpolation filter [18]. This model provided very good enhancing results (output signal-to-interference ratios above 20 dB) with very small window segments (64 ms) [13], outperforming other online speech enhancement techniques such as spectral feature mapping using the mimic loss function [19] and MetricGAN+ [20].