PC Nest Speaker 1.5.3 — responsive mode (4-knob latency tighten)
PC Nest Speaker 1.5.3
"Responsive mode" — coordinated 4-knob latency tighten across server and receiver.
What changed
Server (http-pcm-server.js)
| Knob | 1.5.2 | 1.5.3 | Effect |
|---|---|---|---|
-frame_duration |
20 ms | 10 ms | Halves Opus encoder lookahead (~10 ms latency). Per-frame overhead grows slightly; encoding efficiency at 192 k VBR drops ~3-5% — not perceptually audible |
-cluster_time_limit |
40 ms | 20 ms | WebM clusters now carry 2 × 10 ms frames instead of 2 × 20 ms. Receiver sees fresh data twice as often |
Receiver (receiver-audio.html)
| Knob | 1.5.2 | 1.5.3 | Effect |
|---|---|---|---|
TARGET_LAG |
0.30 s | 0.18 s | Direct subtract from steady-state pause/resume latency |
SOFT_LAG |
0.80 s | 0.50 s | playbackRate = 1.05 engages earlier — drift corrected before audible |
HARD_LAG |
1.50 s | 0.90 s | Hard-seek to live edge fires sooner |
Estimated total impact
~150–700 ms reduction on a typical pause/resume cycle, depending on how much drift had accumulated.
Trade-off — when 1.5.3 might NOT be the right choice
1.5.3 is tuned for clean home LAN. On a noisy Wi-Fi (interference, contention, distant access point) the smaller TARGET_LAG (180 ms) leaves less headroom for jitter — you'll hear more micro-glitches as drift management hard-seeks more often.
If 1.5.3 sounds glitchy where 1.5.2 was clean, it's a network problem, not a build regression. Tightening the envelope made us notice it. Two options if that happens:
- Stay on v1.5.2 for noisy networks
- Future: expose TARGET_LAG / HARD_LAG as a setting so users can pick "responsive" vs "stable" themselves
Confirmed unchanged from 1.5.1/1.5.2
- Audio quality bitrate: 192 kbps VBR with
-application audio(music-tuned) - Volume sync fan-out across all group members (1.5.2 fix)
- Force-relaunch of receiver page on every cast (so new receiver code lands)
- WebM init segment captured + prepended to each new client (the fix without which MSE/
<audio>silently parks data)
Files changed
src/main/http-pcm-server.js— FFmpeg args (frame_duration, cluster_time_limit)pcnestspeaker-receiver/receiver-audio.html— drift management constantspackage.json— version bump