Skip to main content

Hybrid Neural Guided Beamforming for Edge Devices

Project description

Neural-Guided Beamformer

Real-Time Speech Enhancement via Neural Priors and a Beamformer backend

Python 3.8+ Android Min SDK License


📖 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:

  1. Neural Priori: A Speech-Adapted Efficient Group Enhanced UNet estimates a probabilistic Ideal Ratio Mask (IRM).
  2. 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)

  1. Navigate to the Python directory and install dependencies:
    cd python
    pip install -r requirements.txt
    
  2. 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.

  1. Open Android Studio and select Open an Existing Project.
  2. Select the AudioEnhancerCpp/ folder.
  3. Allow Gradle to sync and fetch the required NDK version.
  4. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neural_beamformer-0.1.0.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

neural_beamformer-0.1.0-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

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

Hashes for neural_beamformer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a0a8b5e1c932f697a37baf2d9b478a93b7306369c6d24292ca040d31748251c7
MD5 3667178ede466ebd058407655a73297d
BLAKE2b-256 326c66decd0fc5adb0969c6b965c9535c459d83b900d8c95fe58f0528451f02d

See more details on using hashes here.

File details

Details for the file neural_beamformer-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for neural_beamformer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3cbd65ffe039749c8db3bce1b0fd0b087d6aaa2215407414e1d3ee6b93323228
MD5 ba4a2603687e0dc0af5b56cb9c7537ec
BLAKE2b-256 4b25609798ece93b75918d838d9a1ba8f24f21dbbda2acb8cd50739c6dc7da5c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page