SDRTrunk-Pro is a heavily modified fork of SDRTrunk, an open-source Java-based software-defined radio trunk tracking application. This fork adds numerous enhancements focused on stability, audio routing, and public safety monitoring.
Enhancements Over Stock SDRTrunk 🔊 Audio
Per-Alias Audio Device Routing — Route individual talkgroups/aliases to specific Virtual Audio Cable (VAC) devices NBFM Audio Filter Pipeline — 6-stage filter chain (low-pass, bass boost, FM de-emphasis, voice enhancement, noise gate, output gain) with JavaFX UI controls Silence Buffer Click Prevention — Eliminates audio artifacts when switching between channels
📡 Decoder Improvements
Ignore Unaliased Talkgroups — P25 Phase 1, P25 Phase 2, and DMR decoders can skip unaliased talkgroups to conserve tuner resources DMR Carrier Offset Processor — Fixes PPM correction corruption on shared RTL-SDR tuners via a dedicated DMRCarrierOffsetProcessor DMR Tier III Trunking Fixes — Corrected missing CSBK opcodes, vendor-specific opcodes, and unprocessed AnnounceChannelFrequency messages P25 MessageFramer Fix — Fixed ArrayIndexOutOfBoundsException off-by-one error in P25P1MessageFramer
🛡️ Watchdogs & Stability
Audio Activity Watchdog — Sends Gmail SMTP email alerts when no decoded audio is received for a configurable period, with repeat-alert behavior and JavaFX preferences UI Stuck Tuner Watchdog — Detects RSP1B noise blanker lockup in P25 Phase 1 decoders with separate LSM and C4FM threshold profiles Fixed JVM Heap — -Xms2g -Xmx2g with G1GC to eliminate GC pause-induced P25 sync loss ChannelMetadataModel Race Condition Fix — Resolved concurrency crash and null check bug in Icon.java
🎙️ Streaming
Zello Broadcasting — Stream decoded audio to Zello channels with WebSocket stability fixes, race condition handling, and per-channel routing ThinLine Radio Streaming — Integrated ThinLine Radio as a streaming destination alongside rdio-scanner
💾 UI & Persistence
Now Playing Persistence — Events/Messages tab filter states and history slider values survive application restarts
Window Layout Persistence — Window positions and split pane divider states are saved and restored
Changes to USB support in Tahoe version 26.x cause sdrtrunk to fail to launch. Do the following to install the latest libusb and create a symbolic link and then use the nightly build which includes an updated usb4java native library for Tahoe with ARM processor. There may still be issue(s) with MacOS accessing your USB SDR tuners.
brew install libusb --HEAD
cd /opt
sudo mkdir local
cd local
sudo mkdir lib
Next, find where brew installed the libusb library, for example: /opt/homebrew/Cellar/libusb/HEAD-9ceaa52/lib/libusb-1.0.0.dylib Note: the folder "HEAD-9ceaa52" is the version stamp for HEAD when you installed from it.
Finally, create a symbolic link from the installed library to the place where usb4java is expecting to find libusb (/opt/local/lib/libusb-1.0.0.dylib)
sudo ln -s /opt/homebrew/Cellar/libusb/HEAD-9ceaa52/lib/libusb-1.0.0.dylib /opt/local/lib/libusb-1.0.0.dylib
A cross-platform java application for decoding, monitoring, recording and streaming trunked mobile and related radio protocols using Software Defined Radios (SDR).
Figure 1: sdrtrunk Application Screenshot
All release versions of sdrtrunk are available from the releases tab.
- (alpha) These versions are under development feature previews and likely to contain bugs and unexpected behavior.
- (beta) These versions are currently being tested for bugs and functionality prior to final release.
- (final) These versions have been tested and are the current release version.
The nightly release contains current builds of the software for all supported operating systems. This version of the software may contain bugs and may not run correctly. However, it let's you preview the most recent changes and fixes before the next software release. Always backup your playlist(s) before you use the nightly builds. Note: the nightly release is updated each time code changes are committed to the code base, so it's not really 'nightly' as much as it is 'current'.
- Operating System: Windows (
32 or64-bit), Linux (32 or64-bit) or Mac (64-bit, 12.x or higher) - CPU: 4-core
- RAM: 8GB or more (preferred). Depending on usage, 4GB may be sufficient.