
Real-time SDR Spectrum & Waterfall Analyzer with Deterministic Replay and Python Bindings – New Open-Source Tool
Hey r/sdr,
I just open-sourced a tool I've been building because I kept running into the same frustration: analysis results that differ between GUI, scripts, and automated tests.
Meet sdr-signal-analyzer — a deterministic SDR analysis backend focused on reproducible signal inspection.
Key highlights:
- Same C++ core powers the CLI, GUI, and Python bindings → consistent results everywhere, no more “works in the GUI but not in my script” issues.
- Deterministic replay from committed SigMF IQ fixtures — perfect for testing, CI/CD pipelines, and sharing reproducible experiments.
- Simulator-first workflow (no hardware needed to get started) + optional live sources (rtl_tcp already verified in CI, UHD/SoapySDR support in progress).
- Peak detection, RF feature extraction, JSONL export, peak-hold, waterfall & spectrum view.
- The GUI is already quite usable and includes recent improvements like peak-hold reset.
It's still early-stage (0 stars, actively developed), but the replay determinism is fully verified in the repo (see docs/proof.md and the committed test fixtures).
Quick install (Ubuntu/Debian example):
Bash
sudo apt install -y cmake g++ libegl1 libxcb-cursor0 libxkbcommon-x11-0 ninja-build python3-dev
python -m pip install ".[gui]"
Then try:
- sdr-signal-analyzer-demo
- or sdr-analyzer-cli --source simulator --frames 20
Links:
- GitHub: https://github.com/schmijul/sdr-signal-analyzer
- Documentation: https://schmijul.github.io/sdr-signal-analyzer/
I’d love honest feedback, bug reports, feature ideas, or contributions — especially from people who care about automation, reproducible RF measurements, or building test pipelines.
Does anyone else miss reliable determinism when switching between tools like Inspectrum, GQRX, or SDRangel?