github Stuey3D/VibeSDR vibeserver-mac-v0.4.0-alpha
VibeServer for macOS — v0.4.0 Alpha (SDRplay support, and an RDS analyser)

pre-release5 hours ago

VibeServer turns a Mac and an SDR into a small, private SDR server. Plug in a radio, click Open in Browser, and you have a full waterfall, tuning and audio — for yourself, or for your phone, watch and friends on your network. Notarised by Apple, so it opens cleanly.


📡 New: SDRplay RSP support

RSP receivers now work alongside RTL-SDR dongles. Pick your radio in Settings ▸ Radio.

On an RSP you get the controls it actually has, rather than a dongle's single gain slider:

  • RF gain as an LNA state, and a separate IF gain reduction — with the direction labelled, because SDRplay gains are reductions and run the opposite way to every other gain control
  • IF AGC with an adjustable target, and the loop dynamics SDRplay's own software uses
  • System gain — the one number that makes two independent controls readable
  • FM and DAB notch filters, and bias-T
  • Sample rates to 8 MHz
  • The receiver's own overload warning, straight from the hardware

⚠️ SDRplay's API must be installed first

We deliberately don't bundle it — SDRplay distribute it themselves, and it installs a background service that every SDR application on the machine shares.

Download it (v3.15 or later): https://www.sdrplay.com/downloads/

Then plug in your RSP and press Refresh in Settings ▸ Radio. Without it, RSPs simply won't appear — everything else works exactly as before, so there's no need to install it if you only use a dongle.

If a radio stops appearing after another SDR program has crashed, that program may have left the SDRplay service locked. Restart it with sudo launchctl kickstart -k system/com.sdrplay.service and press Refresh. VibeServer will tell you when this has happened rather than hanging.


📻 New: ADV RDS — a broadcast-analyser view

Open DECODERS ▸ ADV RDS. Basic RDS (station name, RadioText, PI) is always on; this is the full picture, built for people who care what a transmitter is actually doing.

Everything the station sends — PI in hex and decimal with its country, coverage area and reference number · PS and the 32-character Long PS · RadioText and RT+ artist/title tagging · PTY and PTYN · TP, TA, MS and DI · the clock · alternative frequencies you can tap to tune to, with a confidence score · EON, the other stations in the same network and their traffic flags · which ODAs the station runs · the group-type mix · language, ECC and PIN.

And what your receiver is making of it

  • Block error rate — errors before correction, over the last 12 groups
  • Pilot and RDS injection in kHz deviation — the figures a broadcast analyser shows. A healthy pilot is 6.0–7.5 kHz; RDS is typically 2–4 kHz
  • Constellation — two tight lobes is healthy, a diffuse cloud means the subcarrier is buried, and a clean ring means the station's encoder isn't locked to its pilot at all
  • Symbol trace — a clear gap through the middle means every bit is being decided with margin
  • MPX spectrum — L+R, the 19 kHz pilot, the L−R sidebands and RDS at 57 kHz, labelled
  • RDS-to-pilot phase — the measurement you'd normally carry a Pira analyser to make

Every reading says what it means, not just what it is: gain figures name their spec band, the constellation carries a plain-English verdict, and nothing is left as an unlabelled graph.

It keeps what it catches

85% block errors — five blocks in six arriving damaged — and the station is still fully
identified: name, PI, programme type, clock, decoder flags and injection levels.

Nothing is discarded when the signal dips. RDS repeats everything endlessly, so the panel
accumulates: the PI confirms from the first good burst, the name assembles from later ones,
and nothing is cleared unless the station itself changes. A fade costs you the next few
groups, not what you already caught.

On the phase figure: it's stable and repeatable — the same transmitter reads within a few degrees across different receivers and different antennas — but the absolute calibration hasn't been checked against a reference instrument. Treat differences between stations as real; treat the absolute number as provisional. If you can compare it against an analyser, please do get in touch.


⚠️ Still an early alpha

  • One radio at a time, and one listener at a time — multi-radio pools and multi-client are designed but not built
  • RSP spans below 2 MHz aren't offered yet — zero-IF needs 2 MHz or more, and the decimation that would allow narrower spans isn't built
  • Best on your home network. If you open it to the internet, set a PIN (Settings ▸ Access) — a listener can change the radio's hardware settings

Install

Download VibeServer-0.4.0.zip, unzip, drag VibeServer.app to Applications. It's signed and notarised, so it opens without a Gatekeeper warning.

Don't miss a new VibeSDR release

NewReleases is sending notifications on new releases.