FM, DAB, RTP and HTTP stream monitoring with silence detection, RDS decoding, broadcast chain fault location, compliance logging and AI anomaly detection — all from a Raspberry Pi and a £20 RTL-SDR dongle.
/bin/bash <(curl -fsSL https://raw.githubusercontent.com/itconor/SignalScope/main/install_signalscope.sh)
Hub Dashboard
The hub aggregates live signal data from all connected monitoring nodes in real time.
What it does
Built by a broadcast engineer for broadcast engineers — every feature exists because it solves a real problem.
Tunes directly to the transmitter over the air. Full RDS decoding — PS name, RadioText, stereo flag, TP/TA, PI code. RF signal level, SNR and stereo L/R bars. Knows the difference between a studio fault, STL fault and transmitter down.
Monitors individual DAB services via RTL-SDR and welle-cli. Ensemble lock, SNR, service bitrate, DLS scrolling text. Detects service dropouts and audio faults independently of carrier presence.
Monitor Livewire / AES67 RTP multicast streams with packet loss and jitter metrics. Any HTTP/HTTPS stream decodable by ffmpeg. Local sound devices — microphone, line-in, USB audio, loopback.
Model your signal path as an ordered chain of monitoring points. When something fails, SignalScope identifies the first failed node automatically — so at 3am you know exactly where to look, not just that something is wrong.
One hub node aggregates data from unlimited remote client nodes. A single dashboard covers your entire estate. Clients push live data at 5 Hz — level bars update in real time across all sites simultaneously.
Continuous clock-aligned 5-minute recording segments. Timeline view with waveform minimap, show bands, track markers and silence indicators. Clip export to MP3, AAC or Opus. Hub mode streams recordings from any site on demand.
Each stream trains its own local ONNX autoencoder over 24 hours. Learns what normal sounds like, then flags deviations — hiss, distortion, noise bursts, clipping and unusual spectral content. Entirely local, no internet required.
Configurable silence floor and minimum duration. Composite fault diagnosis for FM inputs — carrier presence, RDS lock and packet loss all evaluated to identify fault location. Alerts via email, Teams, Pushover or webhook.
Momentary, short-term and integrated LUFS. True peak monitoring. 90 days of signal history in SQLite — level, LUFS, silence flag, clip count, RDS/DAB quality metrics. SLA tracking per stream.
Getting started
One command installs SignalScope, all dependencies, and configures a systemd service automatically.
Connect a £20 RTL-SDR dongle. SignalScope detects it automatically and lets you assign it a role.
Enter FM frequencies, DAB channels, RTP multicast addresses or HTTP stream URLs via the browser UI.
Point multiple client nodes at a central hub for a unified dashboard across every site.
What you need
Or any Linux machine. Ubuntu 22.04 LTS recommended for hub deployments. macOS supported for development.
Any Realtek RTL2832U-based USB dongle. ~£20 online. Required for FM and DAB monitoring. Optional for HTTP/RTP-only installs.
Flask, numpy, scipy, onnxruntime. All installed automatically by the installer script. ffmpeg and welle-cli installed as system packages.
Free and open source. Run it on your own hardware, keep your data on your own network.
/bin/bash <(curl -fsSL https://raw.githubusercontent.com/itconor/SignalScope/main/install_signalscope.sh)