Hardware
- RTL-SDR (RTL2832U + R820T/2) — Blog V4 works great
- FM/HD antenna (window placement preferred)
Use an RTL-SDR (Blog V3/V4 recommended) and nrsc5 to listen to HD Radio with a single Terminal/PowerShell command. No heavyweight apps needed.
Know the **FM frequency** (e.g., 106.1e6) and **HD program** (HD1=1, HD2=2, HD3=3...).
Works on Apple Silicon and Intel. The smoothest audio path is piping nrsc5 into SoX’s play.
Install Homebrew (skip if you already have it):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Install SoX:
brew install sox
macOS Ventura/Tahoe note: microphone/speaker permissions aren’t needed for play, but ensure your default output device is correct in System Settings → Sound.
If you already have nrsc5 in your $PATH, you’re set. Otherwise, place the binary somewhere like /usr/local/bin/ or /opt/homebrew/bin/ (Apple Silicon).
Advanced: you can build from source using CMake + libusb + rtl-sdr. (This page focuses on usage; you already had it running earlier.)
nrsc5 -p -1 -g 25.0 -t wav 106.1e6 1 | play -t wav -
nrsc5 -p -1 -g 25.0 -o out.wav 88.5e6 2
afplay out.wav
pkill -f "sdrpp|rtl_tcp|rtl_fm|CubicSDR"
Two Terminal-only paths. Option A is simplest if you can use a prebuilt nrsc5.exe. Option B builds from source via MSYS2.
Install Scoop & Git (user-space, clean):
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex
scoop install git
Install SoX:
scoop install sox
Place nrsc5.exe in your PATH (e.g. C:\nrsc5\) and add it:
setx PATH "$($env:PATH);C:\nrsc5"
Live playback:
nrsc5 -p -1 -g 28.0 -t wav 106.1e6 1 | play -t wav -
Install MSYS2, open “MSYS2 MinGW x64”, then:
pacman -Syu --noconfirm
pacman -S --noconfirm mingw-w64-x86_64-toolchain ^
mingw-w64-x86_64-cmake mingw-w64-x86_64-pkgconf ^
mingw-w64-x86_64-libusb mingw-w64-x86_64-rtl-sdr ^
git
Build nrsc5:
git clone https://github.com/theori-io/nrsc5.git
cd nrsc5
mkdir build && cd build
cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --config Release
Run (PowerShell):
"C:\msys64\mingw64\bin\nrsc5.exe" -p -1 -g 28.0 -t wav 106.1e6 1 | play -t wav -
nrsc5 -p -1 -g 25.0 -t wav <FREQ_HZ> <HD_PROGRAM> | play -t wav -
Example: 106.1e6 1 → 106.1 MHz, HD1.
nrsc5 -p -1 -g 25.0 -o out.wav 88.5e6 2
mkdir -p aas
nrsc5 -p -1 --dump-aas-files aas 106.1e6 1
-g range: 15.0–35.0. Too high = distortion; too low = dropouts.
HD sidebands are often weaker. Try a better antenna, window placement, or an FM band-pass/attenuator to tame local blowtorches.
No on macOS; on Windows, Scoop is user-space. Zadig needs admin once to set the WinUSB driver.
SoX’s play handles the realtime WAV stream better and avoids the pipe quirks you saw with afplay.
This guide focuses on audio. For waterfalls, run a parallel app (e.g., SDR++) for visualizing RF while letting nrsc5 handle audio.
If you want me to package this into an installer or add a one-click launcher for your Mac/PC, reach out with your setup and goals.