This repository implements online CGMM clustering and MVDR beamforming based on Frame-by-Frame Closed-Form Update for Mask-Based Adaptive MVDR Beamforming and Online MVDR Beamformer Based on Complex Gaussian Mixture Model With Spatial Prior for Noise Robust ASR. Please cite these papers if you use this code. Note that this is not an official implementation of the above papers. The code was used in the BUT system for Clarity challenge.
To use the CGMM-MVDR module itself, only numpy
is needed. For running the provided notebook with example, these libraries are additionally required:
soundfile
scipy
matplotlib
The algorithm is implemented in the class OnlineCGMMMVDR
in cgmm_mvdr.py
. For an example how to use it, please see the Jupyter notebook Example.ipynb
.