I got tired of running Python servers for voice agents, so I started porting Pipecat over. The design is Pipecat's, frames and processors and all, I just wanted it as one binary with real concurrency instead of a GIL. The models sit behind APIs or in ONNX anyway, so the server side is mostly audio plumbing and WebRTC.
Pion for WebRTC, no Daily and no hosted transport. RTVI over the data channel so existing clients work. STT/LLM/TTS are swappable interfaces. Silero for VAD, Smart Turn v3 for end of turn, both local ONNX, so barge-in works.
Early, and I will break the API. Needs cgo (libsoxr, plus libopus if you want speech to sound decent). Dockerfile has everything if you'd rather not deal with that.
Would like opinions on the package layout, some of it is still shaped like the Python it came from.