dhihacker / AirBandScan
git clone https://github.com/dhihacker/AirBandScan.git
v1.3.1 · today
Scans the aviation band with an SDR, records every voice call on its own, and lets you listen, browse, and download them from a web browser. Classifies voice/non-voice signals, with live spectrum and spectrogram views. Works with RTL-SDR, HackRF, and Airspy on Windows and Linux.
—
stars, 24h
+37
stars, 7 days · #1,142
+37
stars, 30 days · #7,702
37
★ total · +37% this week
4
forks · 0 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageC++
LicenseGPL-3.0
Created2026-10-14 (6d ago)
Last pushtoday
Watchers0
OwnerUser
GitHub topics
Links
- GitHub: github.com/dhihacker/AirBandScan
- Homepage: https://github.com/dhihacker/AirBandScan
- Releases · Issues · Hacker News mentions
README excerpt
### Automatic VHF airband scanner and voice recorder Scans the aviation band with an SDR, records every voice call on its own, and lets you listen, browse and download them from a web browser. Also decodes satellite pictures: SSTV from the ISS and CubeSats, and Meteor-M LRPT weather images. Features · Supported SDRs · Screenshots · Install · Usage · Satellites · How it works · API ### Support the project --- ## Features - 📡 **Automatic scanning:** hops across your frequency ranges (118–137 MHz by default) and stays on a range while someone is talking. - 🎙️ **Records every call:** each transmission is saved on its own, with a short pre-roll so the first word isn't cut off. - 🗣️ **Voice detection:** a built-in speech detector separates real voice from data bursts, dead carriers, tones and noise. - 🎧 **Play in the browser:** click a waveform to seek, or turn on auto-play for new calls. - 💾 **MP3 and WAV:** voice calls are saved as MP3 automatically; any recording can be downloaded as MP3 or WAV. - 🌈 **Spectrum page:** live spectrum, waterfall and activity history, plus a spectrogram of every signal that was *not* recognised as voice. - ✈️ **Voice only:** ACARS and VDL2 data channels are ignored by default. - 📻 **AM or NFM:** AM for the airband, or narrow-band FM (marine, PMR, amateur, business radio), with 8.33 / 25 / 12.5 / 6.25 / 5 kHz channel rasters. - 🛰️ **Satellite images:** SSTV pictures from the ISS (ARISS events, PD120 / PD180) and CubeSats (Robot 36 / 72, Martin, Scottie, all PD modes), and **Meteor-M N2-3 / N2-4 LRPT** weather images (false-colour composite plus every MSU-MR channel), decoded live and kept in a gallery. Doppler is followed automatically, so no tracking software is needed. - ⚙️ **Web settings:** device, gain, ranges, thresholds and MP3 options, all from the browser. - 🖥️ **Single native program:** C++17, no Python, runs as a desktop app or headless server on Windows and Linux; open it from any phone or PC on your network. ## Supported SDRs | SDR | Models | Sample rates | Build requirement | |---|---|---|---| | **RTL-SDR** | Any RTL2832U dongle: RTL-SDR Blog V3 / V4, Nooelec NESDR (Mini, SMArt), generic R820T / R820T2 / R828D / E4000 sticks | 1.024 – 3.2 MS/s (2.4 recommended) | `librtlsdr` (always required) | | **RTL-SDR over the network** | Any `rtl_tcp` server: `rtl_tcp` on a Raspberry Pi / PC, SDR++ / SDR# rtl_tcp server, Android "RTL-SDR driver" | 1.024 – 3.2 MS/s (2.4 recommended; LAN bandwidth ≈ 2 bytes per sample) | none (built in) | | **Airspy** | Airspy R2, Airspy Mini | 2.5 · 3 · 6 · 10 MS/s | `libairspy` (optional) | | **Airspy HF+** | Airspy HF+ Dual Port, HF+ Discovery (VHF input: 60 – 260 MHz) | 192 – 912 kS/s (768 recommended) | `libairspyhf` (optional) | | **SDRplay** | RSP1, RSP1A, RSP1B, RSP2, RSPduo, RSPdx, RSPdx R2 | 2 – 10 MS/s | SDRplay API 3.x (optional) | | **HackRF** | HackRF One | 2 – 10 MS/s | `libhackrf` (optional) | | **PlutoSDR** | ADALM-Pluto (Rev B/C/D), Pluto+ and other AD9361/AD9363 boar