github Thinline-Dynamic-Solutions/ThinLineRadio v7.0.0-beta9.7.16
Version 7.0 Beta 9.7.16

latest release: v7.0.0-beta9.7.17
6 hours ago

Beta 9.7.16 - March 10, 2026

New Features

Audio Fingerprinting for Content-Based Duplicate Detection

The existing duplicate detection relied purely on metadata (system, talkgroup, timestamp window). This release adds a full spectral fingerprinting engine that catches duplicates metadata alone can't handle.

How it works:

  • Normalises audio to 11025 Hz mono via FFmpeg dynaudnorm (removes volume/noise differences between recorders)
  • Divides audio into overlapping ~0.37s frames, computes FFT across 8 log-spaced frequency bands (200–3500 Hz)
  • Encodes temporal spectral changes as bits packed into []int32 fingerprints
  • Two recordings of the same transmission produce low Hamming distance; unrelated audio produces ~50% bit difference

Three detection layers:

  1. In-memory cache — atomic mutex-protected check catches simultaneous uploads before DB write (race condition fix). Uses both timestamp window and Hamming distance — P25 digital audio decoded by different receivers can look spectrally different, so the timestamp check handles that case unconditionally
  2. DB fingerprint query — 30-second window catches delayed/out-of-order uploads
  3. Emit suppression for patches — when FINDLAY and POST41 are patched, both calls are saved to DB (history preserved) but only the first is streamed to clients

Robustness improvements:

  • Bidirectional sliding window (±5 positions ≈ ±4 seconds) handles one recorder starting a few seconds earlier/later
  • Adaptive threshold relaxes matching for short clips (<5 integers = <2s audio) where noise has outsized impact

New admin options (all on by default): Audio Fingerprint Enabled, Fingerprint Threshold (default 0.25), Fingerprint Time Frame (default 30000ms)

Log messages: duplicate (fingerprint-cache), duplicate (fingerprint), patch duplicate suppressed at emit

Don't miss a new ThinLineRadio release

NewReleases is sending notifications on new releases.