What's New in v0.8.0
Opus HQ Audio Codec
- New Opus HQ tier: 128kbps mono / 192kbps stereo (vs standard Opus at 32/64kbps)
- Server-side stereo demodulation for both FM (19kHz PLL) and C-QUAM AM stereo
- Dynamic mono↔stereo encoder switching based on pilot detection
- Client stereo controls work with both IQ and Opus codec paths
Delta+Deflate FFT Compression (now default)
- Lossless FFT compression achieving 7.5–10:1 ratio (vs ADPCM ~8:1 lossy)
- Delta-encode Uint8 dB values + zlib deflateRaw on server, fflate inflate on client
- Peak-hold FFT rendering for large FFT sizes up to 65536
RDS Decoder
- Client-side FM RDS decoder: 57kHz BPF → NCO → biphase → block sync → group parser
- Extracts station name (PS), radio text (RT), programme type (PTY), PI code, clock time
- Overlay on waterfall display with sync indicator
Audio Quality Improvements
- Server-side IQ chunk accumulation (fixed 20ms chunks) eliminates audio fragmentation
- Client-side linear resampler for SSB (24kHz) and CW (12kHz) → 48kHz
- Adaptive jitter buffer: 150ms min fill, 200ms target, ±1 sample/frame rate control
Dongle Hardware Options
- New config options: directSampling, biasT, digitalAgc, offsetTuning, ifGain, tunerBandwidth
- Full rtl_tcp protocol support (commands 0x01–0x0E)
Documentation
- SPEC.md updated to v0.8.0 with complete protocol, codec, and RDS documentation
- AGENTS.md rewritten with full architecture diagram and 26 design decisions
- README.md updated with screenshots, codec performance table, RDS, Opus
Codec Performance Summary
| FFT Codec | Ratio | Type |
|---|---|---|
| Deflate (default) | 7.5–10:1 | Lossless |
| ADPCM | ~8:1 | Lossy |
| Audio Codec | Bandwidth | Type |
|---|---|---|
| ADPCM (default) | ~48 KB/s | 4:1 lossy IQ |
| Opus | ~4 KB/s | VBR 32kbps mono / 64kbps stereo |
| Opus HQ | ~16 KB/s | VBR 128kbps mono / 192kbps stereo |