Requirements
Sigil requires macOS 14 Sonoma or later. Include your Mac model when requesting beta access so we can confirm the right build. Beta access uses a personal, expiring evaluation key.
Open a recording, no radio needed
For a first exercise, the built-in CW sample decodes to WELCOME TO SIGIL. Choose CW/Morse in the Decoder workbench and run the decoder after loading that sample. The in-app Help menu includes walkthroughs for further practice.
Drag an IQ recording onto Sigil (or File ▸ Open) and it lands in analysis mode: full-capture waterfall, spectrum, and the analysis dock. Sigil reads .sigmf, .fc32/.cf32, .cs16/.sc16, .cu8, .cs8, .fc64/.cf64, .rf32, .wav, BLUE (.cdif/.blue), .sdvr, and headerless .raw.
SigMF metadata can supply the sample rate and center frequency. WAV stores the sample rate; confirm the recording’s center frequency separately. BLUE metadata can supply recording parameters. For headerless formats Sigil reads rtl_433-style filenames (like g003_315M_250k.cu8); anything it had to assume is flagged in the inspector's File section, where you can correct it.
Connect an SDR
Install the runtime library for your receiver. Common Homebrew commands are below; SoapySDR also requires the module for your specific device:
brew install librtlsdr # RTL-SDR brew install hackrf # HackRF One brew install uhd # USRP brew install soapysdr # also install your device’s Soapy module
Plug the device in and it appears in the sidebar; select it and start streaming. (HydraSDR RFOne uses the vendor's libhydrasdr; follow its install instructions.) SignalHound BB60 uses the vendor's libbb_api; download it from SignalHound. For a USRP, fetch the FPGA images afterward with uhd_images_downloader.
Capture a burst
On the live spectrum or waterfall, ⇧-drag a box around the signal. On the waterfall the box also selects a time slice, and it rides down the display with its data. Press R (or the toolbar capture button) and Sigil cuts that slice from its rolling history into a SigMF recording and opens it for analysis. The SDR keeps streaming while you analyze; switching back shows what scrolled past in the meantime.
Analyze and decode
The dock at the bottom of analysis mode is the workbench. ⇧-drag a selection around the signal of interest first; every tool honors it.
- Decoder: run a protocol decoder (or Analyze for a blind modulation verdict). When a decoder finds nothing it reports which stage gave up and what to try.
- Symbols: blind carrier/baud/constellation recovery, eye diagrams, channel measurements.
- Demod: a manual demodulator with draggable threshold and bit-phase controls, when you want to do it by hand. It covers the ASK, FSK, and PSK families, including multi-level signals.
- Bits: carve decoded bits into fields, read them as hex/decimal/binary/ASCII, identify CRCs, undo line coding, and diff bursts.
Every shortcut and gesture is listed in Help ▸ Keyboard & Mouse Shortcuts. The in-app walkthroughs (Help menu) teach the whole flow on bundled practice captures; start there.
Export a result
In the Bits workbench, frame and annotate the recovered data, then export the frame table as CSV. Check the field formats, scaling, and checksum coverage before using the output. The sensor example shows eight validated frames exported this way.
Save a protocol map to reuse the framing, field names, and interpretation on a matching bitstream in Bits. Check the resulting fields and checksums after applying it to a new burst.
Known-protocol exports depend on the decoder. See formats and exports for the available output types.
Listen
Click-to-tune VFO on the live spectrum with NBFM, WFM, AM, and USB/LSB demodulation, squelch, and one-click recording of the audio to WAV. WFM tuning shows the station's RDS data as it decodes.
Use external decoders
For modes Sigil doesn't decode itself (the keyboard modes with fldigi, anything with a specialist terminal), route Sigil's demodulated audio into that tool.
Live: install a virtual audio device such as BlackHole (brew install blackhole-2ch), select it as the output device in Sigil ▸ Settings… ▸ Audio, and point the other program's audio input at it. It hears exactly what you hear, so open the squelch if it needs continuous audio, and turn off the Voice HP filter if it needs the sub-audible band.
Offline: the Record button writes what you hear to a standard 16-bit mono WAV as you listen, safe for hour-long unattended monitors. And sigil demod (below) renders any band of a capture straight to a WAV or IQ file without opening the app.
You can also send demodulated audio to a command-line modem over a pipe. Check the modem’s required sample format and rate before connecting the tools.
The command-line tool
The app installs sigil, a command-line multitool on the same signal-processing core, on your PATH from Sigil ▸ Settings… ▸ Advanced ▸ Command-line tool (one click; it links /usr/local/bin/sigil to the copy inside the app, and updates keep the link working). The subcommands cover the file workflows:
sigil decode capture.sigmf -d flex # run protocol decoders sigil analyze unknown.sigmf # blind modulation diagnosis sigil demod fm.sigmf -m wfm -o mpx.sigmf # demodulate a band to a new file sigil generate morse "TEST" -o cw.sigmf # synthesize test signals sigil capture -c 433.92e6 -s 2.5e6 -o band.sigmf # record from your SDR
Use sigil analyze recording.sigmf --json for structured analysis output. Check the options for your installed version with sigil help <subcommand>, or man sigil once installed.
decode and demod also write to a pipe: -o - sends decoded bits, or samples as f32le or s16le, to stdout for the next tool in the chain, with the run's details echoed on stderr.
sigil app talks to the running app over its local socket. Turn on Settings… ▸ Advanced ▸ Local automation API, then sigil app list shows the verbs. The wire protocol and client examples are on the Automation API page.
Getting help
Support has the FAQ and contact details, and Help ▸ Report an Issue in the app is the fastest way to send us a bug.