Show HN: GoSFU, a forkable WebRTC voice agent server in Go
A voice agent is not just speech-to-text, an LLM, and text-to-speech. That explains how the models fit together, but it does not explain what happens around them while a call is live.
When you run the system yourself, harder questions come up. How does audio move from the microphone to the speaker? How does the server keep time? What happens when someone stops speaking, cuts in, or has a bad network connection? How does the server keep track of the call while all this is happening?
GoSFU is my attempt to answer those questions in code. It is an early-stage, forkable voice agent server written in Go. The goal is simple. if a team wants to own this layer of its voice stack, it should have a starting point that it can read, modify, and run itself.
The project is still early, but the core loop works end to end. There are still a lot of interesting problems to solve. If you want to work on WebRTC, media servers, telephony, or realtime audio, take a look at the open issues. Contributions are welcome.
Repo: https://github.com/gokuljs/GoSFU
I also wrote about the ideas behind it here: https://gokuljs.com/blogs/when-latency-becomes-audible
0 comments
[ 5.0 ms ] story [ 9.4 ms ] threadNo comments yet.