SpiritBox

Investigation Command Center

A real software-defined-radio spirit box with on-device AI voice transcription, a live spectrum waterfall, EMF correlation, and complete evidence archival. Zero cloud. Full privacy.

Beta · v1.2.0 macOS (Apple Silicon) C++20 / Qt6 / whisper.cpp
Download v1.2.0 for macOS

Signed & Apple-notarized · installs to ~/Applications/BTHL/BTHL-SpiritBox · no admin required

Companion app: SpectraSentry Tactical Skanner — RF spectrum analysis, TSCM, and survey with TinySA / RF Explorer.
See It In Action

A guided tour of the actual app — every shot is the real running build (v1.2.0), not a mockup. Click any screenshot to view it full screen.

The Investigation Console ⤢ Click to enlarge

01 · The Investigation Console

One dockable command center for the whole hunt — radio, audio, AI, and EMF side by side.

Every subsystem is its own movable, dockable panel (close one and it snaps back rather than vanishing). Across the top: Start/Stop Sweep, Record, and a master Volume. The left Controls dock selects the SDR, sweep profile, dwell time, and gain. The center column is the heart of it — a giant live frequency readout (here 93.200 MHz), a scrolling Spectrum Waterfall painting every frequency step in real time, and a live Audio Waveform with a clean-signal meter. The right EMF Monitor streams the GQ EMF-390 reading and a rolling EMF timeline.

  • Bottom-left Detection Log filters by Voice / Transcription / Correlation / EMF Spike
  • Bottom-right Transcriptions panel holds the speech model + capture-mode controls
  • Everything shares one session clock so events can be correlated later
Live, On-Device AI Transcription ⤢ Click to enlarge

02 · Live, On-Device AI Transcription

A loaded whisper.cpp model turns swept-radio audio into timestamped text — entirely on your Mac, no cloud.

With a speech model loaded (ggml-base.en.bin), the Transcriptions panel fills with RESPONSE lines as the sweep runs — each stamped with the session time, source frequency, recognized text, the model's confidence (prob), and inference time in ms. The Detection Log mirrors the raw whisper hits. Because everything runs locally, your audio never leaves the machine and there is no network latency between a sound and its transcript.

  • Multi-feature voice-activity detection gates what gets transcribed
  • Lines are labelled RESPONSE @ <freq>; your own questions (Interactive mode) are INVESTIGATOR
  • Save Transcript… exports the full Q&A log to text at any time
Tunable Sweep Profiles ⤢ Click to enlarge

03 · Tunable Sweep Profiles

Pick the band that fits the session — or sweep everything your tuner can reach.

The profile selector ships with curated bands: AM Broadcast (530–1700 kHz), FM Broadcast (88–108 MHz), VHF Low Band (30–88 MHz), Full Spectrum, AM + FM, and the device-wide Ghost Sweep. Dwell (10–100 ms/step) and gain adjust live, without stopping the sweep, so you can tune the cadence to how legible responses are.

  • Six demodulation modes: AM, NFM, WFM, USB, LSB, raw IQ
  • The engine probes the tuner's real range and auto-skips bands it can't reach (e.g. AM on an E4000)
  • Optional randomized step order for a true non-sequential spirit-box sweep
Ghost Sweep — The Whole Spectrum ⤢ Click to enlarge

04 · Ghost Sweep — The Whole Spectrum

Stretch the radio across everything the hardware supports — here tuning past 1.5 GHz.

The Ghost Sweep profile sweeps the widest range your tuner allows (this RTL-SDR reaches ~2.2 GHz — note the 1578.600 MHz readout). It runs fast and randomized for the classic rapid spirit-box feel, clipping automatically to the device's real limits so no time is wasted on unreachable frequencies. The open EMF Monitor port menu shows auto-discovered serial devices (the GQ EMF-390 on a CH340 bridge plus a CP2102 adapter) — pick one and its readings stream alongside the audio.

  • Best for open-ended "passive listen" watches across the full band
  • EMF device auto-discovery with a one-click port picker
  • Out-of-range steps are skipped, not hammered — clean, efficient sweeps
Know Exactly What Your Gear Can Do ⤢ Click to enlarge

05 · Know Exactly What Your Gear Can Do

A live capability probe of every connected device — measured, never assumed.

The Device Capabilities panel interrogates each device and reports the truth. The SDR section shows the real driver, tuner chip, tunable range (51.999–2200 MHz), sample-rate envelope, gain range and named gain stages. The Microphone section lists supported rates, channels, and formats (audio is converted to 16 kHz mono for the model). The EMF Meter section reads the unit's firmware (GQ-EMF390v2Re 3.68) and which sensors it actually reports.

  • Magnetic field is recorded; electric-field / RF are honestly marked "Not reported by this firmware"
  • Unreported sensors are saved as empty — never a fabricated zero
  • The Ghost Sweep auto-clips to the exact tunable range shown here
On-Device Models — Your Choice ⤢ Click to enlarge

06 · On-Device Models — Your Choice

Load, switch, or download speech models on demand. The installer is lean; the rest come when you want them.

The Whisper menu manages the speech engine: Load / Switch Model swaps models live, Unload frees it, and Download Models… pulls additional models from the BTHL servers into your models folder. The app ships with the base English model so it works out of the box; step up to Small, Medium, or Large v3 Turbo for more accuracy. The app also checks for new releases and offers a one-click update.

  • Base model bundled; Small / Medium / Large download on demand
  • Signed & Apple-notarized installer, plus signed model packages
  • In-app updater keeps you current automatically
Core Features

RF Spirit Box

SoapySDR sweep engine, 6 demod modes, curated band profiles plus device-wide Ghost Sweep, live dwell/gain, and automatic out-of-range skipping.

Live Waterfall

Real-time QPainter spectrum waterfall, audio waveform + VU meter, and a VAD confidence bar — all painted on the GUI thread, no stalls.

On-Device AI

Local whisper.cpp transcription — load / switch / unload models live, download more on demand. Zero cloud, full privacy.

Three Capture Modes

Interactive (mic Q&A), Standalone (responses only), and Passive Listen (continuous). The mode is recorded with every session.

EMF Correlation

GQ EMF-390 over USB serial — magnetic field at 10 readings/sec, spike detection, and time-windowed matching to voice events.

Evidence & Sessions

WAV + JSONL + EMF CSV + transcription/correlation JSON, all timestamped. Export the Q&A transcript any time.

Tested Hardware
DeviceRoleInterfaceStatus
Nooelec RTL-SDR (E4000 & R820T)RF sweep / spirit-box sourceUSB — SoapySDRTested
RTL-SDR Blog V3/V4, HackRF, Airspy, SDRplayRF sweep / spirit-box sourceUSB — SoapySDRSoapySDR-compatible
GQ EMF-390 v2EMF meter (magnetic field, mG)USB serial (CH340)Tested
TinySA / TinySA UltraSpectrum analysis & RF surveyUSB serialField-tested (via SpectraSentry)
RF Explorer (3G/6G Combo, etc.)Handheld spectrum analyzerUSB serialField-tested (via SpectraSentry)
Built-in / USB microphoneInvestigator voice (Interactive mode)CoreAudioTested
Download v1.2.0 (.pkg) View on GitHub Companion: SpectraSentry →
×