Free & Open Source

Broadcast signal monitoring
built for radio engineers

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.

One-line installer — Linux & Raspberry Pi
/bin/bash <(curl -fsSL https://raw.githubusercontent.com/itconor/SignalScope/main/install_signalscope.sh)

Hub Dashboard

Every site. One screen.

The hub aggregates live signal data from all connected monitoring nodes in real time.

hub.example.com
📡 Belfast Transmitter Site ● Live
Cool FM 97.4
−5.2 dB
Downtown Radio
−6.8 dB
U105
−4.1 dB
📡 Dublin DAB Mux ● Live
RTÉ Radio 1
−3.2 dB
2FM
−3.9 dB
Lyric FM
−5.8 dB
🔗 Broadcast Chains 1 fault
FM Distribution OK
STL Path A FAULT
IP Backup OK
📋 Recent Alerts
STL_FAULT — Belfast FM 14:32
CHAIN_RECOVERED 13:10
AI_ANOMALY — Cool FM 09:44

What it does

Everything you need.
Nothing you don't.

Built by a broadcast engineer for broadcast engineers — every feature exists because it solves a real problem.

📻

FM Monitoring via RTL-SDR

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.

📡

DAB Digital Radio Monitoring

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.

🌐

RTP, HTTP & ALSA Inputs

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.

🔗

Broadcast Chain Fault Location

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.

🏢

Multi-Site Hub Architecture

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.

🎙

24/7 Compliance Logger

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.

🤖

AI Anomaly Detection

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.

🔔

Silence Detection & Alerting

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.

📊

EBU R128 Loudness & Metrics

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.

Up and running in minutes

1

Run the installer

One command installs SignalScope, all dependencies, and configures a systemd service automatically.

2

Plug in your dongle

Connect a £20 RTL-SDR dongle. SignalScope detects it automatically and lets you assign it a role.

3

Add your streams

Enter FM frequencies, DAB channels, RTP multicast addresses or HTTP stream URLs via the browser UI.

4

Connect your hub

Point multiple client nodes at a central hub for a unified dashboard across every site.

What you need

Minimal hardware. Maximum visibility.

🥧

Raspberry Pi 3B+ or later

Or any Linux machine. Ubuntu 22.04 LTS recommended for hub deployments. macOS supported for development.

📶

RTL-SDR Dongle

Any Realtek RTL2832U-based USB dongle. ~£20 online. Required for FM and DAB monitoring. Optional for HTTP/RTP-only installs.

🐍

Python 3.9+

Flask, numpy, scipy, onnxruntime. All installed automatically by the installer script. ffmpeg and welle-cli installed as system packages.

Free for everyone,
forever.

Free and open source. Run it on your own hardware, keep your data on your own network.

Install now
/bin/bash <(curl -fsSL https://raw.githubusercontent.com/itconor/SignalScope/main/install_signalscope.sh)