Native macOS SDR mission console for RTL-SDR workflows.
NeuralSDR2 is a native Swift/SwiftUI SDR application for macOS that combines live radio tuning, aircraft/weather mapping, satellite pass operations, recording, and internal post-pass decode workflows in one desktop app.
The project started as a traditional receiver UI and has been pushed toward a more operational "universal map + radio console + library" shape. It now includes a shared map workspace for aircraft, weather, and satellites, internal NOAA APT decode artifacts, packet post-pass analysis, and a growing library/replay workflow.
NeuralSDR2 is built around five main working modes:
Radio: live spectrum, waterfall, demodulation, manual tuning, and recordingAircraft: shared map workspace for ADS-B traffic and dump978 weather overlaySat Ops: satellite pass planning, Doppler tracking, pass recording, and post-pass workflows3D Earth: orbital context and space situational awareness viewLibrary: recordings, decoded NOAA products, packet reports, and replay/decode-again actions
- RTL-SDR device detection, open/configure/start/stop, and async IQ streaming
- Demodulation modes:
IQ,AM,NFM,WFM,USB,LSB,CW,DMR,P25,DSTAR - Real-time spectrum and waterfall displays
- AGC, squelch, bandwidth control, and speaker monitor mute
- IQ and audio recording paths
- Shared map surface for aircraft, weather, and satellite operations
- Device/observer location annotation and location-aware observer updates
- dump978 raw feed integration for FIS-B weather overlay
- Decoded NOAA overlay support
- Weather freshness and NOAA quality filtering
- TLE-backed satellite tracking and pass prediction
- Live Doppler status and optional retune workflow
- Per-satellite tuning profiles and receive presets
- Pass queueing and auto-record support
- Internal post-pass routing for decode workflows
- Internal NOAA APT image generation with decoded artifact metadata
- Channel A / Channel B NOAA outputs
- NOAA quality scoring, library surfacing, and map overlay linking
- Internal packet audio analysis/report workflow
- Library-side
ListenandDecode Againactions for saved captures
- Recent recordings and decoded artifact library
- Latest NOAA and packet session panels
- Replay of saved audio captures
- Re-run internal decode from saved recordings
Branding assets committed in this repository:
NeuralSDR2 is already usable as a real desktop SDR application, but it is still actively evolving.
What is working well now:
- RTL-SDR bring-up and live receive
- Radio console and recording flow
- Universal map shell for aircraft/weather/satellites
- NOAA pass recording and internal decode artifact generation
- Packet post-pass analysis flow
What is still rough or incomplete:
- Spectrum/waterfall presentation still needs continued polish
- Some decoder modes are present but not yet mature end-to-end
- Digital voice/internal decoder depth is still behind the NOAA path
- Packaging/distribution polish is improving but not yet "finished product" level
- macOS 13 or newer
- Xcode Command Line Tools
- Homebrew
librtlsdr
Install the native dependency:
brew install librtlsdrBuild and test:
swift build
swift testRun the app from SwiftPM:
swift run NeuralSDR2Build a local .app bundle:
bash ./build_app.sh
open ./releases/NeuralSDR2.app.
├── Package.swift
├── Sources/NeuralSDR2App/ # SwiftPM app entrypoint
├── src/
│ ├── App/ # App state and runtime coordination
│ ├── Audio/ # Audio engine/output
│ ├── DSP/ # DSP core, demodulators, analyzers, decoders
│ ├── Hardware/ # RTL-SDR, USB monitor, dump978 integration
│ ├── Recording/ # Recording manager and metadata
│ ├── Satellite/ # Tracking, pass prediction, NOAA decode helpers
│ ├── UI/ # SwiftUI/AppKit UI, map, displays, library
│ └── Resources/ # App icon and bundled resources
├── tests/ # Unit and integration tests
├── docs/ # Specs, guides, and progress docs
├── scripts/ # Packaging, appcast, signing helpers
└── distribution/ # Release metadata and formulas
Start here if you want the product and architecture context:
The repository includes local packaging scripts and a GitHub Actions workflow for build/test/release automation.
- CI workflow:
.github/workflows/build.yml - Local package script:
build_app.sh - Distribution metadata:
distribution/
Contributions are welcome, especially around:
- DSP correctness and performance
- decoder depth and protocol support
- spectrum/waterfall rendering polish
- map UX and operational workflows
- packaging, signing, and release automation
Please start with CONTRIBUTING.md.
NeuralSDR2 is released under the GPLv3.
This project is informed by the SDR and radio tooling ecosystem, especially:
NeuralSDR2 is aiming to be a native macOS SDR operations console, not just a tuner window.

