VoiceBlender v0.15.0 adds a second, cheaper denoiser (GTCRN), IP-IP trunks without registration, ICE restart for WebRTC legs, a SIP source allowlist, proper NAT and Docker support, and custom headers on REFER transfers.
VoiceBlender v0.15.0 adds denoise_gtcrn, a pure-Go port of the GTCRN speech enhancement network. It costs less than half the CPU of RNNoise on telephony audio and removes more noise, but RNNoise is still the better choice for 48 kHz audio and for AMD in very heavy noise.
Why VoiceBlender now denoises call audio, how we tested it on TTS greetings mixed with real street and office noise, and why the first WebAssembly version gave way to rnnoise-go, a pure-Go RNNoise port that runs at 8, 16 or 48 kHz without resampling. AMD accuracy on noisy calls went from 1.6% to 100%.
Benchmarking VoiceBlender's voice-agent pipeline: 1,200 concurrent SIP sessions with no capacity knee, p50 turn latency of 1,478 ms that does not move across a 48x range of load, and 0.0044 CPU cores per session.
VoiceBlender v0.12.0 brings SIPREC session recording on both sides, multi-stream SIP legs for live translation, Deepgram Flux turn detection with preflight TTS, live routing changes, and a Google Cloud Storage backend for recordings.
VoiceBlender now negotiates AMR-NB and AMR-WB natively through two pure-Go codec libraries - no cgo, RFC 4867 framing, within-2x throughput of the C reference, and an honest look at the AMR-WB encoder amplitude divergence and its mitigation.
VoiceBlender v0.8.0 lands native LiveKit integration as a first-class leg and inbound SIP REGISTER support over UDP, TCP and TLS for PBX-style deployments.
A roundup of recent VoiceBlender additions: WebSocket-as-a-leg, experimental MoQ over WebTransport, symmetric SIP NAT traversal, role-based audio routing, bridged rooms, Real-Time Text and full VSI control.
How a protocol I once dismissed became emergency-calling infrastructure - and how we added T.140 Real-Time Text to VoiceBlender as a Kamailio World Dangerous Demo.