Live

Receiver and channel mixer

80%
Receivers0connected
Signals0discovered
Events0logged
Sessionidle

Receiver controls

Ready
No signal

Receiver

RF

Signal

RF amp and antenna power default off. Antenna power is only for compatible powered accessories.

Spectrum

Waiting for receiver
Noise Activity

Waterfall

Live RF activity
−110−20 dBFS

Latest

Most recent transmission
No activity yet

Channel mixer

Audio controls do not affect logging
Start a channel profile

Band monitor

One wide capture · independent channel audio
Idle
Listen modeCarrier · all codes

Privacy codes are squelch tones, not encryption. Carrier mode hears every transmission, including radios with no code. GP‑SDR identifies CTCSS on active audio and leaves the code blank when there is not enough evidence.

Channels0monitored
Active now0receiving
Last toneCTCSS detected
Captureshared bandwidth

Channels

Active channels rise to the top
Choose a band and start monitoring

Live receivers

Independent spectrum and waterfall for every SDR currently producing IQ
Waiting
Start a receiver or Mapper job to watch it here.

Spectrum controls

Standalone swept spectrum analyzer
Idle

The display continuously sweeps and retains the strongest observed level at each frequency until stopped or cleared. Use a smaller range or coarser resolution for faster updates.

Receivers0
Spectrum bins0
Captured slices0
Full sweeps0

Spectrum

No sweep data
Hover over spectrum
Start a sweep to build a live spectrum across the selected range.

Analog FPV receiver

Continuous low-latency video · HackRF or PlutoSDR
Idle

Analog NTSC/PAL only. A receiver is usable whenever it can tune the selected frequency and sustain the selected capture width. The RTL-SDR cannot cover 5.8 GHz. Keep RF amplification conservative because overload destroys picture sync.

Live video

Waiting for decoded frames
Decoded analog FPV video
Choose a channel and start the receiver.
Listen frequency
462.675000MHz
Click above or below a digit to step it
No signal

Receiver

Signal

Automatic & front end

Choose a receiver and frequency.

Spectrum

No IQ data
Hover for frequency

Waterfall

Newest samples appear at the top
−110−20 dBFS

Transmit & test lab

Known-signal fixtures and guarded SDR playback
Receive-only
Use a dummy load first. RF output is local-only, limited to 60 seconds, and disabled until you explicitly arm it. Follow your local licensing and interference rules.

Choose a PCM WAV file or generate a known test fixture. Dry run is selected by default.

Open Explore to load local observations.

Frequency × hour

Recorded events by hour of day · UTC · top 60 groups · click a cell to inspect

Dark cells mean no recorded events, not proven silence. Quiet-check history and total monitoring time are unavailable. Counts favor longer-observed frequencies.

Activity timeline

Recorded events per day · UTC

Collection map

Offline coordinate map · circles: receiver observations · diamonds: reference area centers

No map tiles or coordinates are sent to a third party. Reference areas are not transmitter sites. Click a circle to inspect its data.

Frequency groups

Same frequency, separate receive areas
SaveFrequencyAreaEventsRecorded timeModeDecoded / transcript

Select a frequency or map point

Review recorded evidence and geographically applicable reference candidates here.

Discovered signals

Repeated activity is grouped by frequency
FrequencyIdentityTypeHitsLast seen

Job setup

Independent tasks per receiver
Idle

Workflow
Receiver tuning Auto gain · safe sample rate · simultaneous channels
Identify filters
Compute & schedule Optional capture now · analyze later · timed phases
No deferred compute queuedRuns decoders, transcription, and the enabled local model without opening an SDR.
Location Optional tagging

Map repeatedly sweeps the range, identifies activity, runs available local decoders and transcription, then retains only useful IQ evidence.

Receiver monitor

Continuous · loops until stopped
Current frequencyWaiting to start
Active jobs00 receivers assigned
Total checks00 completed passes
Hits0No activity yet
Successfully identified0Authoritative matches
Analyzed frequencies0Candidates · not verified
Elapsed
Next pass ETANo active pass
Create or start a Mapper job.

Receiver captures

Every active Mapper receiver is shown at the same time
Waiting
Start a Mapper job to watch its receivers.

Stored capture analysis

Decoder, transcription, local model, and retention processing without an SDR
Idle
Files queued0No work queued
Frequency groups0Grouped by receive area
Completed00 failed
ElapsedETA —
Current frequencyWaiting for work
StageIdle
No frequency groups are active.

Live analysis log

Newest entries appear at the bottom
Start analysis to process stored captures.

All recordings at the same frequency and nearby location are evaluated together. Captures from distinct receive areas remain separate. Rejected IQ is deleted only after analysis completes successfully under the selected retention policy.

Combined results

No detected activity
FrequencyIdentityTypeHitsSourceLast seen
Google SheetOptional Additions Queue uploadOff

Fully identified requires nearby reference data or valid decoded frames.

Channels & profiles

Portable channel banks, scan ranges, and receiver roles.

Receivers

Multiple radios can run concurrently with independent roles.

Receiver & antenna lab

Compare observed RF response across both receivers
Idle
Receivers
No connected receivers
This is an ambient comparison, not a laboratory sensitivity measurement.

Remote RTL-SDR

Connect to an rtl_tcp server on your network

Decoders

Optional tools appear only when actually available.

Integrations

Optional receiver, decoding, transcription, and reference components.

Data & reference sources

Channel databases and automatic range updates.

Range updates

Sync built-in scan ranges from Google Sheets.

Not configured
Paste a shared sheet link to begin.
Sheet columnsProfile, Name, Start MHz, End MHz, Step kHz, Mode, Dwell ms, Enabled

Local database

Recursively import CSV, TSV, and GP-SDR JSON files.

Not configured
No folder selected.
Choose a folder containing supported channel files.
RadioReference download steps
  1. Open a county, state, or system page while signed in.
  2. Open Downloads and save its CSV into a folder organized by state or county.
  3. Choose the top-level folder here. Rescan after adding files.

RadioReference does not document a single whole-US archive. GP-SDR does not scrape or mirror its database.

RadioReference

Location-based channels and P25 systems.

Not configured
Premium account and approved app key required.
Request application key ↗

Local intelligence

On-device signal correlation and confirmed learning.

Local signal intelligence

Use Ollama on this Mac or a private-network computer. IQ and audio never leave GP-SDR.

Off
Export confirmed training set ↗
No benchmark run yet.

The model receives metadata only; raw IQ and audio remain in GP-SDR.

How it works

GP-SDR first detects and classifies the waveform, runs the selected protocol decoder, and optionally transcribes decoded voice. The local model then summarizes that evidence. Decoder frames remain authoritative and uncertain signals remain Unknown.

Display

Spectrum, waterfall, and rendering controls.

Display

Changes apply immediately and are saved on this device.

System

Web access, application information, and storage limits.

App & web access

Address
Access
LAN · token protected
Version
Architecture
Universal-ready

Core scanning and logs stay on this computer. The web app uses the private network link above.

Software update

Install verified releases without replacing your data.

Not checked

The native Mac app can download, verify, install, and restart GP-SDR. Settings, Mapper results, recordings, and profiles stay in Application Support.

Expert transmit mode

Skip the repeated transmit acknowledgement on this Mac.

Off

This convenience mode remembers your acknowledgement locally. It does not bypass local-only access, hardware/range validation, the emergency stop, firmware-health blocks, or the 60-second transmission ceiling.

Storage

Total used
Recordings
IQ evidence
Journal + profiles
Original IQ archive
IQ analyzing
IQ retained
IQ rejected

Calculating local storage…

Results are separate. Media cleanup removes eligible IQ data and recordings only. Mapper results, event history, transcripts, decoded metadata, profiles, calibration, and channel data remain until you explicitly clear their corresponding data. Original archives and pending IQ retain their existing protection rules.

Acknowledgements

GP-SDR includes SDRTrunk and JMBE Creator, and integrates with SoapySDR, whisper.cpp, HackRF, and RTL-SDR. Each remains under its own license. Complete credits and source details are in THIRD_PARTY.md.

New profile

Ranges, channels, and radio roles.

Scan ranges

Fixed channels

Receiver roles

P25 systems

Logging

Location import

RadioReference channels and P25 systems.

Enter a ZIP code to begin.

Component setup

GP-SDR only installs allow-listed open-source packages.

Optional tools not installed

Core receiving still works. Install these to unlock their listed decoders.

GP-SDR only runs allow-listed installers. Manual items open the upstream download instructions.

Confirm action

Review this action before continuing.

Confirm signal example

Only add labels you have verified.

Unconfirmed Mapper guesses and simulated events are never learned automatically.