Subband-wise Attention-based Neural MVDR Beamforming for Dynamic Sources

Kyeongmuk Kang and Jong Won Shin

Submitted to ICASSP 2027

School of Electrical Engineering and Computer Science
Gwangju Institute of Science and Technology, Gwangju, Korea

Overall architecture

Overall SB-ATT-MVDR architecture: (a) framework, (b) MC-MaskNet mask network, (c) subband-wise attention-based SCM estimation
(a) Framework: the five-channel mixture drives MC-MaskNet, whose masks form the instantaneous SCMs; the subband-wise attention-based estimators aggregate them into speech and noise SCMs for MVDR beamforming. (b) MC-MaskNet mask network. (c) Subband-wise attention-based SCM estimation.

Block diagrams


Model architectures

Comparison of attention-based SCM estimation methods

Comparison of ATT-MVDR, NL-ATT-MVDR, and SB-ATT-MVDR SCM estimation architectures
The stage table below follows this figure, from ISCM packing to the aggregated SCM.

All three build the same masked instantaneous SCM \(\mathbf{\Psi}^{\nu}(t,f)=m^{\nu}(t,f)\mathbf{Y}\mathbf{Y}^{\mathsf H}\) and feed the same Souden MVDR filter. They differ only in how \(\mathbf{\Psi}\) is aggregated into \(\mathbf{\Phi}\).

  1. Stage 1, group the bins. ATT-MVDR and NL-ATT-MVDR use one full-band group; SB-ATT-MVDR uses 32 subbands.
  2. Stage 2, flatten the instantaneous SCMs. ATT-MVDR and NL-ATT-MVDR produce 25,650 real values per frame; SB-ATT-MVDR produces 400, 800 or 1,600 per subband.
  3. Stage 3, project. ATT-MVDR and NL-ATT-MVDR project to 256 dimensions; SB-ATT-MVDR projects to 100 and shares one projection across subbands of equal width.
  4. Stage 4, encode. ATT-MVDR uses six Transformer layers of width 256; NL-ATT-MVDR uses two of width 256; SB-ATT-MVDR uses two of width 100. All use four attention heads.
  5. Stage 5, make the weights. ATT-MVDR produces one T by T matrix; NL-ATT-MVDR produces none and predicts the SCM directly; SB-ATT-MVDR produces one matrix per subband.
  6. Stage 6, aggregate. ATT-MVDR reuses one matrix at every frequency; SB-ATT-MVDR applies the matrix of the subband that owns the bin.
  7. SCM estimator parameters: 29.2 million, 31.8 million, and 1.4 million respectively; with the shared 1.28 million-parameter MC-MaskNet mask estimator the complete systems are 30.5, 33.1 and 2.7 million.
Stage-by-stage comparison of three attention-based SCM estimators
StageATT-MVDRNL-ATT-MVDRSB-ATT-MVDR proposed
1 · Group the bins All \(F\) bins at once
1 group
Split into subbands \(\mathcal{F}_n\), \(G_n\) bins each
\(N=32\) groups
2 · Flatten the ISCMs \(\psi^{\nu}(t)\in\mathbb{R}^{2FC^{2}}\)
25,650 values
\(\psi_n^{\nu}(t)\in\mathbb{R}^{2G_nC^{2}}\)
400 / 800 / 1,600 values
3 · Project \(E^{\nu,0}=\mathrm{Linear}(\psi^{\nu})\)
→ \(\mathbb{R}^{256}\)
\(E_n^{\nu,0}=\mathrm{Linear}_n(\psi_n^{\nu})\), shared per \(G_n\)
→ \(\mathbb{R}^{100}\)
4 · Encode \(E^{i}=\mathrm{Encoder}^{i}(E^{i-1})\)
\(D=256\), \(I=6\), 4 heads
\(E^{i}=\mathrm{Encoder}^{i}(E^{i-1})\)
\(D=256\), \(I=2\), 4 heads
\(E_n^{i}=\mathrm{Encoder}^{i}(E_n^{i-1})\)
\(D=100\), \(I=2\), 4 heads
5 · Make the weights \(\mathbf{A}=\mathrm{Softmax}\!\left(\tfrac{QK^{\mathsf T}}{\sqrt{D^{K}}}\right)\)
\(\mathbb{R}^{T\times T}\) — one matrix
none — the SCM is predicted directly
no \(\mathbf{A}\)
\(\mathbf{A}_n^{\nu}\) from the subband embeddings
\(\mathbb{R}^{N\times T\times T}\) — one per subband
6 · Aggregate \(\mathbf{\Phi}^{\nu}(t,f)=\sum_{t'}A^{\nu}(t,t')\mathbf{\Psi}^{\nu}(t',f)\)
same \(\mathbf{A}\) at every \(f\)
\(Z=\mathrm{Linear}(E^{I})\), \(\mathbf{\Phi}=\mathrm{Reshape}(Z)\)
no weighted sum
\(\mathbf{\Phi}^{\nu}(t,f)=\sum_{t'}A_{n}^{\nu}(t,t')\mathbf{\Psi}^{\nu}(t',f),\; f\in\mathcal{F}_n\)
weights follow the subband
SCM estimator parameters 29.2 M
30.5 M with MC-MaskNet
31.8 M
33.1 M with MC-MaskNet
1.4 M
2.7 M with MC-MaskNet
Full symbol list
SymbolMeaning
\(t,\ t'\)Output (query) frame and contributing (key) frame; \(T\) frames total
\(f,\ F\)One-sided STFT bin index and count
\(C\)Microphone count (5)
\(\nu\)Source label: desired speech (S) or noise (N)
\(m^{\nu}(t,f)\)Mask from the mask estimator
\(\mathbf{\Psi}^{\nu},\ \mathbf{\Phi}^{\nu}\)Instantaneous and aggregated SCM, \(C\times C\)
\(A^{\nu}(t,t')\), \(A_n^{\nu}(t,t')\)Contribution of frame \(t'\) to the SCM at frame \(t\); shared across all bins (ATT-MVDR) or specific to subband \(n\) (SB-ATT-MVDR)
\(D,\ I\)Embedding width and encoder layer count
\(n,\ N,\ G_n,\ \mathcal{F}_n\)Subband index, count, bins per subband, and its bin set

Experimental Setup

Detailed model / dataset configurations referenced from the paper. Simulation uses gpuRIR with WSJ0 speech, CHiME-3 noise, and a moving competing talker.

Room geometry and microphone configuration
Fig. Room geometry and microphone configuration (CHiME-3 5-channel tablet array; backward-facing mic excluded).
Model and dataset configurations
ItemValue
Model configuration
No. of Transformer-encoder layers2
No. of attention heads4
Dim. of Transformer-encoder layers100
Dim. of feedforward layer800
Sample rate16 kHz
Window / FFT / HopHann / 1024 / 256
Dataset configuration
Room width [Lx] (m)[4.0, 10.0]
Room depth [Ly] (m)[4.0, 10.0]
Room height [Lz] (m)[2.5, 4.0]
Speech corpusWSJ0
Noise corpusCHiME-3
No. of microphones5
No. of sources / interferers1 / 1
RT60 (s)[0.1, 0.3]
Trajectory points128
Height of mic / source (m)1.0 / [1.5, 1.9]
No. of data [train, val, test][30000, 2000, 2000]
Target-to-interference-plus-noise ratio, SINR (dB)[0, 10]
Interferer-to-diffuse-noise ratio, INR (dB)[-10, 10]

Additional simulation details: minimum angular separation 15°; target distance 0.5–2.0 m from the array center, interferer at least 2.0 m; interferer-to-diffuse-noise SNR in [-10, 10] dB. Training uses Adam with early stopping (up to 200 epochs, batch size 24); oracle Wiener-like masks for ISCM computation during training, and estimated masks at inference.

Implementation Details

STFT and channel settings

ItemValue
Sampling rate16 kHz
WindowHann, length 1024
FFT size / hop1024 / 256 (75% overlap)
Microphones5 of the 6 recorded channels, zero-based indices 0, 2, 3, 4, 5
Reference channel4th of the 0, 2, 3, 4, 5 channels
Diagonal loading1e-6 · I added to the noise SCM before inversion
Algorithmic latencyWhole utterance (non-causal)

These STFT settings are those used by all ATT-MVDR variants, including the proposed SB-ATT-MVDR. ABIC-MVDR and EaBNet follow their own published front ends.

SCM estimator configurations

ItemATT-MVDRNL-ATT-MVDRSB-ATT-MVDR (proposed)
Explicit temporal weight matrixYes, one T×T matrix shared by every frequency binNo — the SCM is predicted directly, with no weighted sum of input ISCMsYes, one T×T matrix per subband
Embedding dim dmodel256256100
Feed-forward dim20482048800
Attention heads444
Encoder layers I622
ISCM projectionSingle full-band linearDirect SCM projectionOne linear layer per \(G_n\), shared by the subbands of that size
Subband partition——N = 32 subbands: Gn = 8, 16 and 32 for 16, 8 and 8 subbands, covering 0–2, 2–4 and 4–8 kHz respectively
Mask estimator (MC-MaskNet)1.28 M1.28 M1.28 M
SCM estimators (speech + noise)29.2 M31.8 M1.4 M
Complete system (mask + SCM)30.5 M33.1 M2.7 M

Training objective

Every compared system except EaBNet minimised the scale-dependent SNR loss below, so the beamforming comparison is not confounded by the objective. EaBNet instead used its original combined spectral-magnitude and real–imaginary MSE loss.

L = −10 log10 ( ‖s‖2 / ‖s − ŝ‖2 )

SymbolMeaning
sTime-domain target speech
ŝEstimated speech: the beamformed output converted back to the time domain by the inverse STFT
‖·‖L2 norm

Quantitative Performance Evaluation

Table I: Objective evaluation results on the moving source dataset.
Model Param. (M) GMAC/s PESQ-nb PESQ-wb STOI BSS-SDR (dB) WER (%)
Noisy--1.901.340.834.935.54
ConvTasNet8.82.842.912.300.9313.356.13
- NL-ATT-MVDR40.64.873.152.630.9515.454.83
- ATT-MVDR38.04.732.982.580.9515.983.68
- IC-ATT-MVDR40.64.873.132.660.9515.414.29
- SB-ATT-MVDR10.25.013.172.730.9616.173.88
ABIC-MVDR0.354.013.202.780.9716.682.64
EaBNet2.837.353.282.860.9716.542.49
MC-MaskNet1.283.043.352.840.9615.582.56
- NL-ATT-MVDR33.15.113.422.960.9717.212.51
- ATT-MVDR30.54.983.162.820.9717.292.50
- IC-ATT-MVDR33.15.113.372.950.9716.972.46
- SB-ATT-MVDR2.75.253.342.970.9717.422.44
Table II: Objective results for the moving datasets with causal settings.
Model PESQ-nb PESQ-wb STOI BSS-SDR (dB) WER (%)
Noisy1.901.340.834.935.54
EaBNet3.132.710.9616.052.57
ABIC-MVDR3.172.730.9616.022.56
MC-MaskNet3.272.750.9615.322.69
- NL-ATT-MVDR3.352.890.9716.912.59
- ATT-MVDR3.052.620.9615.982.52
- IC-ATT-MVDR3.292.850.9716.622.57
- SB-ATT-MVDR3.272.860.9716.842.48

Causal models apply an upper-triangular mask to the temporal attention, so frame \(t\) attends only to frames \(\le t\) with zero lookahead, and the mask estimator uses cumulative layer normalisation instead of instance normalisation.

Table III: Oracle-mask component gains by local-SINR range.
Local-SINR range Mean Target gain Noise gain
ATTNLSB ATTNLSB
< -10 dB-23.31-2.07-6.10-3.39-19.87-20.79-23.63
[-10, 0) dB-5.03-1.51-2.53-1.59-12.44-10.55-13.31
[0, 10) dB4.81-0.93-0.69-0.71-10.26-6.63-10.05
≥ 10 dB20.08-0.22+0.01-0.11-7.07-3.33-6.58

Values are in dB. Target gains closer to 0 dB indicate better preservation, whereas lower noise gains indicate stronger suppression.

Table IV: Oracle-mask upper-bound performance under the oracle ideal Wiener mask (IWM) condition.
Model PESQ-nb PESQ-wb STOI BSS-SDR (dB) WER (%)
Noisy1.901.340.8314.935.54
ATT-MVDR3.272.980.97417.642.31
NL-ATT-MVDR3.673.320.98018.372.20
SB-ATT-MVDR3.743.470.98419.022.29
Table V: Ablation study for various band-split settings.
Model Gn Ranges N Shared FC layer Param. (M) GMAC/s PESQ-wb STOI WER (%)
Noisy------1.340.835.54
ATT-MVDRAll[8]1-30.54.972.820.972.50
V1[4, 8, 32, 64][1, 3, 6, 8]40Yes3.25.712.950.972.51
V2[4, 32, 64][2, 4, 8]40Yes3.15.712.920.972.50
V3[4, 8, 64][1, 4, 8]44Yes2.95.942.960.972.49
V4[32][8]16Yes2.44.332.890.972.52
V5[16][8]32Yes2.35.252.930.972.51
V6[8][8]64Yes2.27.092.950.972.45
V7[8, 32, 64][3, 6, 8]32Yes3.25.252.970.972.44
V8[8, 16, 32][2, 4, 8]32No7.35.252.990.972.49
V9[8, 16, 32][2, 4, 8]32Yes2.75.252.970.972.44
ColumnMeaning
GnNumber of STFT frequency bins grouped into one subband. The list gives the grouping size for each frequency range, in order.
RangesCumulative upper edges of those ranges in kHz. [8, 16, 32] with Ranges [2, 4, 8] means 0–2, 2–4 and 4–8 kHz — not three subbands.
NTotal number of subbands. V9 groups those ranges into 16, 8 and 8 subbands, so N = 32.
Shared FC layerYes: subbands with the same Gn share one input linear projection.
All, N = 1ATT-MVDR row: the full band is treated as a single group.

V9 is the default SB-ATT-MVDR configuration.


Round-trip Case: Temporal Attention Weights

Room configuration and temporal attention weights for a round-trip case
Temporal attention weights for a round-trip case. (a) Room configuration and source trajectories. Panels (b) and (c) show the temporal attention weights used for speech- and noise-SCM estimation, respectively.

Speech Samples for a Moving Source
with a Moving Competing Talker