Skip to content

TPSSCW/SDRTrunk-Pro

Repository files navigation

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 restoredGradle Build Nightly Release

MacOS Tahoe 26.1 Users - Attention:

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

sdrtrunk

A cross-platform java application for decoding, monitoring, recording and streaming trunked mobile and related radio protocols using Software Defined Radios (SDR).

sdrtrunk Application Figure 1: sdrtrunk Application Screenshot

Download the Latest Release

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.

Download Nightly Software Build

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'.

Minimum System Requirements

  • Operating System: Windows (32 or 64-bit), Linux (32 or 64-bit) or Mac (64-bit, 12.x or higher)
  • CPU: 4-core
  • RAM: 8GB or more (preferred). Depending on usage, 4GB may be sufficient.

About

This is a build based off the standard nightly build of sdrtrunk with several added features, per alias audio routing, zello & thinline radio streaming, email alerts for no seen audio events per channel, email alerts for tuner error and streaming errors, NBFM ctcss, dcs, and audio filters, event history filter and number of events saves to settings

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages