Category: Broadcast Radio

Airspy WebSpy: A High Performance Web UI Client for Airspy SDRs

Over on X @lambdaprog, (aka Youssef Touil), the developer of SDR#, has been teasing development of a new web client called "WebSpy" for Airspy software-defined radios. The web client allows users to tune in to a remote Airspy SDR via a web browser interface that mimics the SDR# Windows software. Before WebSpy, it has only been possible to access Airspy devices remotely via the SpyServer server software and the SDR# Windows application.

While the software is still in development and not yet available for download, you can access a demo version (HF server) (Broadcast FM server) that Youssef has currently set up on his own server in France. From the X posts on the development of the software, it seems that WebSpy boasts some impressive efficiency in terms of the low 6 kB/s network bandwidth required. This means that even over slow connections, the FFT and audio should be smooth and clear. The web interface also works well on mobile, providing a touch-optimized interface.

Youssef wrote in and wanted to share some additional information about how SharpIQ and SharpFFT work:

Under the hood, WebSpy streams both the radio signal and the spectrum display using two purpose-built compression codecs: SharpIQ for the channel data and SharpFFT for the FFT display.

A key design choice is what gets streamed: unlike most web receivers, which demodulate on the server and send you compressed audio, WebSpy sends the raw IQ signal of the tuned channel and does all the demodulation right in your browser — the same DSP chain as the gold standard SDR#. This matters more than it might sound: with server-side audio you're listening to a lossy rendition of what the server decided to demodulate, with voice-codec artifacts baked in; with local IQ, the actual signal arrives at your machine, so demodulation, filtering and mode changes happen instantly and the audio quality is limited only by the signal itself, not by an audio codec.

Unlike general-purpose compressors, SharpIQ and SharpFFT were designed from the ground up for radio: they adapt in real time to what's actually happening on the band, spending bits only where there is information worth keeping, while preserving the weak-signal fidelity that SDR users care about — a CW signal buried near the noise floor comes through intact.

The result is that a complete listening session — channel IQ, live spectrum, waterfall and all — typically fits in about 5 kB/s, a fraction of what conventional audio streaming would need. That's low enough to comfortably operate a remote receiver over a modest mobile connection, which is precisely what makes a full SDR experience in a browser tab practical — nothing to install, nothing left behind, just a tab you can close; and at 5 kB/s the stream itself hides in the noise of ordinary web traffic. Discreet SIGINT, if you're so inclined.

WebSpy: Airspy Web UI Desktop Interface
WebSpy: Airspy Web UI Desktop Interface

 

Adding HD Radio Support to FM DX Webservers with an RTL-SDR

Thank you to Ivan (NO2CW) for submitting news about how he added HD Radio decoding capability to his FM DX Webserver receiver. The FM DX Webserver is a community of worldwide FM broadcast-band online receivers that mostly use SDRs based on the TEF6686 chip, with a few also using RTL-SDR receivers. HD Radio (aka nrsc5) is a proprietary digital audio standard used by FM broadcasters in North America. It's often observed by SDR users in a waterfall as the two rectangles flanking both sides of a broadcast FM signal. Ivan writes:

A major challenge has been that up until now none of the online receivers were HD Radio capable. I have now added this capability with the help of an RTL V3. The online receiver uses a combination of two receivers: a TEF6686 which is known to be highly sensitive and, when an FM HD Radio signal is present, an RTL V3 automatically kicks in to provide HD radio capability opening up HD1, HD etc audio streams together with bundled album art, traffic and weather. The program was initially conceived by discord user seehed and then further developed by me.

The core code for this plugin was developed by GitHub user seehed and can be found here: https://github.com/Seehed/NRSC5_HDRadio. I had to make a few tweaks to get it fully working.

How the Setup Works: The hardware setup requires both a TEF6686 receiver and an RTL dongle operating simultaneously.

I tested an RTL-SDR V4 first, but the necessary DLLs worked much better with an RTL-SDR V3 in my current build.

By default, the server uses the TEF6686 for browsing the FM band for analog signals. When a user tunes to a frequency where an HD Radio signal is present, the logic switches to "HD Mode" and the RTL V3 takes over. The NRSC5 library is used to process the digital signal. In this mode, users will notice the change in audio quality and the available subcarrier streams (HD1, HD2, HD3, etc.) become visible and selectable.

How Users Can Set It Up: To replicate this, a user would need:

  • A working FM DX Webserver with a TEF6686.
  • An RTL-SDR V3 plugged into the same host.
  • The NRSC5 library installed.
  • The plugin from the GitHub link above installed and configured in the webserver directory.

Ivan also notes that currently his Miami NO2CW receiver is the only one on the network supporting HD Radio.

HD Radio on FM DX Webserver. Receiving HD Radio inside the fm dx webserver application.

HD Radio Added to FM DX Webservers via an RTL-SDR
HD Radio Added to FM DX Webservers via an RTL-SDR

NRSC5 Studio: A New Feature-Rich Windows GUI for the nrsc5 HD Radio Decoder

We've recently had several submissions about the release of a new program called NRSC5 Studio, a new native open source Windows and Linux supported GUI for the nrsc5 HD Radio decoder. We note that in the past, we've posted about nrsc5 and the NRSC5-DUI interface.

nrsc5 is an open source decoder for the proprietary HD Radio digital audio standard used by FM broadcasters in North America, and it works with low-cost RTL-SDR dongles. NRSC5 Studio is written in Rust with an egui-based dockable interface, and it wraps nrsc5 to provide tuning, HD1 to HD4 subchannel selection, station presets, and now-playing metadata with album art and station logos.

NRSC5 Studio appears to be quite feature-rich. There's a live FFT spectrum and waterfall display tapped from the same I/Q stream feeding the decoder, a QPSK constellation viewer driven by live MER readings per sideband, and a closed loop AGC that automatically tunes the R820T2 gain table to maximize MER. Other extras include a rolling 8-hour album art collage heat map, a 24-hour song log with CSV export, and TPEG traffic map and animated weather radar decoding on stations that broadcast it (currently iHeartMedia stations only).

A portable zip release is available on the GitHub releases page, requiring no installer or admin rights.

AI-Disclaimer: The software Readme credits GitHub Copilot, an AI tool.

NRSC5 Studio Screenshot
NRSC5 Studio Screenshot

Guglielmo FM and DAB Receiver Software Updated to Version 0.7

Thank you to Marco for letting us know that his Guglielmo software has recently been updated to Version 0.7.

Guglielmo is an FM and DAB receiver for Linux, Windows and MacOS. It supports all major SDRs, including RTL-SDR, Airspy, SDRplay, HackRF, and LimeSDR. It is designed to be easy to use for media users rather than hobbyist technical users.

Version 0.7 adds the following features:

  • Raspberry PI appimage
  • UI improvements
  • Basic skins support
  • Logo handling

The new Raspberry Pi appimage, and binaries for other platforms can be found on the GitHub Releases page. Just expand the "assets" tab.

Guglielmo: Screenshot of the DAB Interface

PiCar – A DIY Car Radio Head Unit made from a Raspberry Pi and RTL-SDR

Thank you to Vinnie Moscaritolo for writing in and sharing with us PiCar, a project to develop a homebrew car radio head unit out of a Raspberry Pi and RTL-SDR. The advantage of PiCar over a standard vehicle head unit is that PiCar is not just a broadcast AM/FM tuner, but is also capable of tuning to and scanning for other signals, such as public safety. In addition, Vinnie has also added various other features to PiCar, such as a GPS nav system, and CAN bus snooper.

Vinnie writes:

What happens when a radio nerd with a Jeep and a Raspberry Pi decides factory dashboards are too boring? You get PiCar — a DIY car radio replacement with a VFD display, a couple of knobs, and a whole lot of hacker soul.

Built around RTL-SDR and Raspberry Pi, PiCar does AM/FM, GPS nav, CAN bus snooping, 1-wire sensors, and even streams tunes from your iPhone — all without draining your Jeep’s battery. It's not just a head unit, it's a rolling testbed for software-defined radio, CAN hacking, and embedded Linux audio.

Vinnie has posted a full 9-part series on PiCar over on his blog. The series covers the why and the how, with several demonstration pictures and videos.

PiCar - Raspberry Pi Car Radio Project

The PiCar head unit
The PiCar head unit

rtl_icecast: A Terminal Application for Streaming FM to an Icecast Server with RTL-SDR

Thank you to Jouni (OH3CUF) for submitting news about the recent release of his new Linux terminal based open-source software called 'rtl_icecast', which can be used with an RTL-SDR to stream FM audio to an Icecast server.

Icecast is an open-source streaming media server that broadcasts audio and video streams over the internet.

Jouni writes:

rtl_icecast is a shell native application that uses RTL-SDR to receive FM radio signals and stream them to an Icecast server in MP3 format.

The main target usage for this app is to stream your local HAM FM repeater audio to your public shoutcast/icecast server with just a RTL-SDR USB-receiver and for example Raspberry Pi. It can be used to stream broadcast FM too, of course.

The app is native app and uses the RTL-SDR on hardware level directly. No need to pipe or install anything extra. This works out of the box (well, I hope!)."

A block diagram of how the rtl_icecast streamer works
A block diagram of how the rtl_icecast streamer works

The Taylorator: Flooding the Broadcast FM Band with Taylor Swift Songs using a LimeSDR

Over on Hackaday and creator Stephen's blog, we've seen an article about the 'Taylorator,' open source software for the LimeSDR that floods the broadcast FM band with Taylor Swift music. In his blog post, Stephen explains how he wrote this software, explaining the concepts behind audio preparation, FM modulation, and what computing hardware was required to implement it.

The advertised use case of the Taylorator is obviously a bit of a joke; however, as the video on Stephen's blog shows, his software can play a different song on every broadcast FM channel. So, there could be some use cases where you might want people to be able to tune an FM radio to custom music on each channel. Of course, you could also just use it to play a practical joke on someone.

In terms of legality, in his blog post, Stephen notes that blasting the broadcast FM band on every channel is probably not legal and may go against the spirit of low-power FM transmitter laws in most countries. However, he notes that spreading a few mW over 20 MHz of bandwidth results in a weak signal that is unlikely to travel very far. Regardless, we would advise potential users of the software to check their local laws before going ahead and playing around with something like this.

The software is open source and available on Stephen's GitLab.

The Taylorator: Broadcasting Taylor Swift songs on every broadcast FM channel
The Taylorator: Broadcasting Taylor Swift songs on every broadcast FM channel

Guglielmo FM and DAB Receiver Software Updated to Version 0.6

Thank you to Marco, Guglielmo's programmer, for letting us know that his software has recently been updated to Version 0.6.

Guglielmo is Linux, Windows (and, in this recent update, x86 MacOS) based RTL-SDR FM and DAB tuner software that supports SDRs, including the RTL-SDR, Airspy, SDRplay, HackRF, and LimeSDR. It is designed to be easy to use for media users rather than hobbyist technical users.

Version 0.6 fixes bugs and adds the following features:

  • Software automatic gain control
  • Support for multiple devices for RTL-SDR and SDRplay
  • Support for RTL-SDR V4
  • New RTL-SDR and SDRPlay device drivers
  • New Portaudio sound driver
Guglielmo: Screenshot of the DAB Interface