Cyclic MVDR Beamforming
Python implementation of the cyclic MVDR beamformer (also known as cyclic minimum power distortionless response, cMPDR) โ a model-based algorithm for cancelling dominant almost-cyclostationary (ACS) interferers such as engines, fans, and musical instruments.
This implementation accompanies the paper: MPDR Beamforming for Almost-Cyclostationary Processes.
๐ Paper: https://arxiv.org/abs/2510.18391
๐ป Code: https://github.com/Screeen/cmvdr
Description
Conventional acoustic beamformers typically assume short-time stationarity and process frequency bins independently, ignoring inter-frequency correlations. The cyclic minimum power distortionless response (cMPDR) beamformer extends the conventional MPDR to jointly exploit spatial and spectral correlations. By suppressing noise components that are coherent across harmonically related frequencies, it achieves improved noise reduction, especially in low signal-to-noise ratio (SNR) scenarios.
Applicable to speech enhancement, hearing aids, smart devices, and acoustic scene analysis.
Sample Usage
Installation
The package can be installed after cloning the repository:
git clone https://github.com/Screeen/cmvdr.git
cd cmvdr
pip install -e .
Command Line Interface
After installation, you can use the cmvdr command line tool to process audio files:
# Run cMPDR inference on a single file or a folder
cmvdr -i path/to/input_audio.wav -o path/to/output_folder/
Python Usage
You can also import the package in your Python scripts:
import cmvdr
print("cMVDR package successfully imported!")
Citation
If you find this work useful, please cite:
@article{bologni2025mpdr,
title={MPDR Beamforming for Almost-Cyclostationary Processes},
author={Bologni, Giovanni and M{\o}ller, Martin Bo and Heusdens, Richard and Hendriks, Richard C.},
journal={arXiv preprint arXiv:2510.18391},
year={2025}
}