Hybrid Neural Guided Beamforming for Edge Devices
Project description
📖 Overview
This is the official implementation of a hybrid audio enhancement system, for real-time operation on dual-microphone edge devices (with smartphone like form-factors).
The pipeline comprises two main stages:
- Neural Priori: A Speech-Adapted Efficient Group Enhanced UNet estimates a probabilistic Ideal Ratio Mask (IRM).
- Spatial Filtering: A beamforming backend, which iteratively optimizes spatial filters using the neural priors.
✨ Key Features & Performance
- Robust to Reverberation: Outperforms state-of-the-art complex spectral mapping models. Benchmarks available.
- Strictly Distortionless: Unlike purely time-domain non-linear synthesizers (like ConvTasNet) that suffer from spectral degradation, the spatial filtering stage guarantees the target speech remains unaltered.
- Low-Latency and Edge compatible
📂 Repository Structure
| Directory | Description |
|---|---|
python/ |
Core Python Implementation: Clean inference scripts, metrics evaluation, and command-line interfaces. Start here for desktop usage. |
AudioEnhancerCpp/ |
Android Application: Complete Android Studio project (app/). Features a native C++ audio engine built via CMake and JNI. |
models/ |
Weights: Pre-trained .pth and .onnx models used by the inference pipelines. |
research/ |
Development & Training: Contains PyTorch Lightning training code, MATLAB prototyping scripts, and evaluation logic. |
🚀 Getting Started
🐍 Python (Desktop / Server)
- Navigate to the Python directory and install dependencies:
cd python pip install -r requirements.txt
- Run the enhancement inference on a noisy audio file:
python -m src.inference --input data/noisy_sample.wav --output data/clean_output.wav
📱 Android (Mobile App)
The mobile application is built to run the enhancement entirely on-device using C++ for low-latency NPU/CPU execution.
- Open Android Studio and select Open an Existing Project.
- Select the
AudioEnhancerCpp/folder. - Allow Gradle to sync and fetch the required NDK version.
- Build and run on a physical Android device or emulator (API 24+).
📄 License & Citation
This project is licensed under the MIT License.
To use this code in your research, please cite our work as:
@misc{hybrid_neural_beamforming_2026,
author = {{Audio Signal Processing Intelligence and REsearch Labs (ASPIRE), Indian Institute of Information Technology Design and Manufacturing Kurnool}},
title = {Hybrid Neural Guided Beamforming for Edge Devices},
year = {2026},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/Senpai-sama06/neural-guided-beamformer}}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file neural_beamformer-0.1.0.tar.gz.
File metadata
- Download URL: neural_beamformer-0.1.0.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0a8b5e1c932f697a37baf2d9b478a93b7306369c6d24292ca040d31748251c7
|
|
| MD5 |
3667178ede466ebd058407655a73297d
|
|
| BLAKE2b-256 |
326c66decd0fc5adb0969c6b965c9535c459d83b900d8c95fe58f0528451f02d
|
File details
Details for the file neural_beamformer-0.1.0-py3-none-any.whl.
File metadata
- Download URL: neural_beamformer-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3cbd65ffe039749c8db3bce1b0fd0b087d6aaa2215407414e1d3ee6b93323228
|
|
| MD5 |
ba4a2603687e0dc0af5b56cb9c7537ec
|
|
| BLAKE2b-256 |
4b25609798ece93b75918d838d9a1ba8f24f21dbbda2acb8cd50739c6dc7da5c
|