github Stuey3D/VibeSDR vibeserver-mac-v0.4.2-alpha
VibeServer for macOS — v0.4.2 Alpha (SDRplay freeze fixed, FM-DX mode, RAW RDS)

pre-release4 hours ago

The headline is a bug fix: an SDRplay RSP could freeze solid — audio and spectrum stopped
dead while the server went on reporting itself perfectly healthy, and only quitting and
relaunching VibeServer brought it back.

The freeze

The SDRplay API can simply stop calling the stream callback while every handle stays valid and
every call still returns success. Nothing was watching for it.

The embarrassing part: the silence watchdog already existed, and the SDRplay path already
timestamped every buffer it received. But the watchdog was only ever started on the RTL-SDR
path, so on an RSP nothing ever read the timestamp. One missing call, in the one place it
mattered most — which is exactly why the server kept insisting it was fine.

It now detects the stall and re-initialises the stream in place, keeping your gain, AGC and
tuning. You lose a second of audio instead of the session. If the API is genuinely wedged rather
than stalled it stops after a few attempts and says so, instead of hammering it.

FM-DX — a new mode, next to WFM

The FM channel filter has always clipped the outer sidebands, and because those carry the top
of the MPX, it cost the RDS subcarrier 1.9 dB while leaving the 19 kHz pilot untouched. That
asymmetry is what HansVanEijsden's Pira analyser saw from the other end in 0.4.1.

Widening the filter gets it back — but it also lets more noise into the demodulator, which costs
audio quality near the threshold. Measured with noise, at the point where it matters:

channel RDS audio SNR
standard −1.86 dB +11.7 dB
a little wider −0.85 dB +11.1 dB
FM-DX −0.27 dB +9.7 dB

Roughly one for one. So this is a listener's choice per station, not a default: a DXer
chasing an identification will spend audio quality gladly, someone listening to music will not.
The first version of this change made it the default, which would have quietly made ordinary FM
noisier for everybody.

Selecting FM-DX opens the RDS analyser, because that is what the mode is for. Closing the
analyser drops back to WFM, so you can't end up paying for a panel you can't see. It costs about
45% more CPU per listener than FM with RDS — there is an operator switch to enable it
server-wide, with the same warning.

RAW mode in the RDS analyser

A new RAW button. Normally every gated field is confirmed by repetition, so one
mis-corrected block cannot poison it. RAW shows what is arriving live instead: labels start red
and turn green as each field earns confirmation, so you watch the panel resolve.

It earns its place on marginal signals. A station whose RDS locks and drops looks broken in
confirmed mode — fields simply never appear, with no explanation. In RAW it becomes a visible
"arriving but not surviving", which is the difference between "this software can't decode it"
and "this signal is marginal, and here is the evidence".

It is entirely a client-side view. The server always sends both, so switching to RAW cannot
affect anyone else listening to the same receiver.

More things that were reporting confidently and wrongly

  • TA, MS and DI are now confirmed by repetition, like PTY and TP. DI is four single bits
    spread across four groups, so one bad group could set a flag for the whole session.
  • RDS deviation was measuring noise. The subcarrier band is never empty, so with no station
    the estimator turned hiss into "12.9 kHz · generous" — past the 5.6 kHz spec ceiling, and it
    read higher as the signal got worse. It now reports nothing without block sync, subtracts
    a measured noise floor in FM-DX, and flags anything past spec as suspect rather than good.
  • RSP1B gain survives a restart. It was being lost inside the server, not by the client.

Also

  • "Use this Mac's location" in Settings. It fills in the Maidenhead locator, not your
    coordinates — a square a few km across, which is all a distance or bearing needs.
  • A receiver name, shown with the location over the spectrum.
  • The station logo, large, under the MPX display.
  • The RDS panel no longer stair-steps as fields arrive — the plots column could wrap.

Requires macOS 14. Notarised, so it opens without a Gatekeeper warning. RTL-SDR and SDRplay
RSP.

Don't miss a new VibeSDR release

NewReleases is sending notifications on new releases.