A description of my current remote listening post, which lets me tune
over quite a range and listen to radio through my laptop from wherever
I am to a home receiver.
The computer is a 2014 MacBook Air running MacOS, which I bought new
and which was a daily driver for quite some time. The power cable
gave out at one point so I replaced that, but otherwise it's been
quite reliable. It's not fast enough to handle a modern workload of
dozens of tabs open in a browser, but it's plenty fast to be an SDR
front end.
The SDR software is GQRX 2.15.9 from https://gqrx.dk , downloaded via
Homebrew. This is an open source tool from Alexandru OZ9AEC with support
for Linux and Mac, using GNU Radio for processing, the Qt toolkit for
a user interface, and the gr-osmosdr library for SDR support. Like any
good usable SDR it decodes AM, FM, and SSB. Helpfully for my task it
can also relay an audio feed over UDP.
The SDR hardware is an Airspy HF+ Discovery SDR, paired with a Youloop
antenna, purchased from Airspy.US last year. This setup covers
0.5 kHz to 31 MHz plus 60 to 260 MHz, i.e. broadcast AM and FM,
2 meter VHF, air band, HF and shortwave bands. The Youloop is hanging
from a curtain rod - I have not yet done anything fancy to try to tweak
positioning for best reception.
All that plugs together pretty nicely, but it's all plugged into an
old laptop that's tethered to a power cord, and as such that doesn't
do so well for listening to radio around the house. So I have a few
more pieces in place to enable remote tuning and remote listening
from my M1 MacBook Air that's my new daily driver, either around the
house or wherever.
The first bit of the remote access puzzle has been to install Tailscale
everywhere I ever need to use a computer. This VPN software lets you
put together a private network of machines that can talk to each other
over an encrypted (Wireguard) connection. Tailscale takes care of poking
holes through firewalls so you can put endpoints anywhere - around the
house, at the office, in the cloud. It also has DNS support that gives
systems meaningful names so you don't have to memorize IP addresses.
With that in place, the remote access piece is provided by the built-in
MacOS program called "Screen Sharing". This software (based on VNC) lets
you remote in from one Mac to another. I found that it handles keyboard
and mouse events really well, but surprisingly doesn't have any options
for sharing sound coming off of the machine. A quick look at general
purpose sound sharing options got very complicated very fast, so I stopped
looking.
What got me going again was curiosity about the "UDP" button in the "Receiver
options" menu of GQRX. It turns out that for some time now, GQRX can
stream audio to a local (or a remote) UDP socket. This is helpful for
interfacing local audio data decoding or analysis tools on the same machine
(e.g. setting up an image decoder to display SSTV images), but it also can
be used to stream audio over the network.
The final piece is software to catch that audio stream, which I already
had installed. The venerable VLC tool lets you point at a UDP stream and
pick audio samples off the wire for playback. The tutorial on
streaming audio over UDP
has everything you need, including this magic incantation for starting up
VLC with all the right configuration options:
vlc --demux=rawaud --rawaud-channels=1 --rawaud-samplerate=48000 udp://@:7355
The end result is a remote radio in a window with a waterfall display and
a reasonably responsive audio stream. Thanks to Tailscale you can take this
combination anywhere and it will still work, though if your network is slow
or lossy there will be lag or dropouts.
Some alternative options if you don't have the exact combo of things that I
have.
GQRX runs on old and new Macs, as well as on Linux systems like the Raspberry Pi.
A Pi 4 has plenty of oomph to decode a signal, and there are videos of people
building Pi 3 based systems using a lower FFT size and rate.
If you do run this with a Pi as a remote, you'll still use VNC as the screen
sharing protocol. RealVNC has a "VNC Server" for Raspbian, and there are indications
that this is easy from a Mac using the built-in "Screen Sharing" client. I have
not tried this myself.
GQRX is not the only SDR software out there! If your remote machine is a Windows
machine, and if you have figured out how to remote into it, then SDR# (SDRSharp)
is an excellent tool with lots of signal processing capabilities and a plugin
(sdr-UDPAudio) to let you stream audio as UDP. My old Windows on Arm machine
didn't have an obvious way to remote into it, so sorting out these details is up to you.
There's other SDR hardware out there! I got my start with an inexpensive RTL-SDR
tuner stick which uses repurposed European DVB-T television hardware (RTL2832 + R820T)
to pick up signals. Spend $25-$30 for a nice RTL tuner at Nooelec or RTL-SDR.com,
or take your chances and spend about half that for a similar part of unknown quality
from AliExpress. The RTL based hardware has a smaller frequency range, so you
won't get AM or HF or shortwave reception, but you will pick up 2 meter ham band
and broadcast FM even with the inexpensive antennas that come in these kits.
If you want to listen to SDR and don't have any hardware at all, try the
KiwiSDR or WebSDR networks. WebSDR supports dozens or hundreds of simultaneous
listeners at each of a few listening posts scattered throughout the world. The
KiwiSDR network only handles 1-8 listeners per location, but there are hundreds
of these receivers out there in dozens of countries.