📻 HD Radio with RTL-SDR
Complete Terminal/PowerShell guide for macOS and Windows using nrsc5.
What You'll Need
- RTL-SDR dongle (V3 or compatible)
- Antenna (stock antenna works, but a better antenna helps)
- nrsc5 (HD Radio decoder)
- SoX (audio player for real-time playback)
- Homebrew (macOS) or MSYS2 (Windows)
macOS Setup
Works on Apple Silicon and Intel Macs. Tested on macOS Ventura through macOS 26 Tahoe.
Step 1: Install Homebrew (if not installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Step 2: Install SoX (Audio Player)
brew install sox
Step 3: Install RTL-SDR drivers
brew install librtlsdr
Step 4: Install nrsc5
brew install nrsc5
Step 5: Listen to HD Radio
Replace 88.5e6 with your desired frequency (in Hz notation) and 0 with the HD subchannel (0 = HD1, 1 = HD2, etc.):
nrsc5 -p -1 -g 25.0 88.5e6 0 | play -t s16 -r 44100 -c 2 -
Tip: If audio is choppy, try adjusting the gain with
-g (try values between 20-40).
Windows Setup
Using MSYS2 for a Unix-like environment on Windows 11.
Step 1: Install MSYS2
Download from msys2.org and run the installer.
Step 2: Update MSYS2
pacman -Syu
Step 3: Install dependencies
pacman -S mingw-w64-x86_64-rtl-sdr mingw-w64-x86_64-nrsc5
Step 4: Install Zadig drivers
Download Zadig, connect your RTL-SDR, and install WinUSB drivers for the device.
Step 5: Listen to HD Radio
nrsc5 -p -1 -g 25.0 88.5e6 0
Command Options
| Option | Description |
|---|---|
-p | Program mode (required) |
-1 | Use program 1 (main audio) |
-g XX.X | Set gain (try 20-40) |
-o file.wav | Save to file instead of stdout |
88.5e6 | Frequency in Hz (88.5 MHz) |
0 | HD subchannel (0=HD1, 1=HD2, etc.) |
Troubleshooting
No Audio / Choppy Sound
- Try adjusting gain:
-g 30.0or-g 40.0 - Check antenna connection and position
- Move closer to a window or try an outdoor antenna
- Verify the station broadcasts in HD Radio format
Device Not Found
- Make sure no other software is using the RTL-SDR
- On Windows, verify Zadig drivers are installed correctly
- Try unplugging and reconnecting the dongle
Signal Quality
Look for these indicators in the output:
- MER ≥ 10-13 dB: Good signal quality
- BER < 0.005: Low bit error rate
Save to File
To save HD Radio audio to a WAV file:
nrsc5 -p -1 -g 25.0 -o out.wav 88.5e6 0
Then play it back:
# macOS
afplay out.wav
# Windows
start out.wav