Sayna
Sayna is a Rust server that gives an agentic framework one unified voice layer: a single WebSocket/REST API in front of multiple speech-to-text (STT) and text-to-speech (TTS) providers — ElevenLabs, Deepgram, Google Cloud, and Microsoft Azure. MIT-adjacent license unstated in the fetched metadata, ~303★, active (pushed 2026-05-31).
Graded T3 at ingest, superseded 2026-08-20 → T1 — a first-party project repo with self-reported capabilities and no independent benchmark.
What it does
- Unified voice API: one interface picks the provider; swap Deepgram for ElevenLabs without touching the calling agent's code.
- Real-time, bidirectional: WebSocket audio streaming, not request/response TTS.
- LiveKit integration: WebRTC audio + room-based communication, so an agent can join a live voice room rather than just emit clips.
- VAD + turn detection: Silero-VAD plus an ML end-of-turn model, so the server (not the agent) decides when the human has stopped talking.
- Audio-disabled mode: run the control plane with no provider keys, for developing the WebSocket message flow without paying for STT/TTS calls.
Ships as a Docker image (saynaai/sayna), configured by environment variables per provider.
Where it sits in the spoke
Sayna is agent I/O tooling for the voice modality — the harness anatomy's output/UX layer, the same slot claude-to-speech occupies. The two differ in shape rather than purpose: Claude-to-Speech is a single-provider (ElevenLabs-only) Claude Code hook that speaks one agent's responses; Sayna is a standalone, provider-agnostic server any agentic framework talks to over a network API, and it also owns the STT half (listening), not just TTS (speaking). It is infrastructure a voice-enabled agent runs behind, not a plugin installed inside one harness.
The providers it wraps are speech-market products documented on the model/provider side in the sibling speech-audio-wiki (ElevenLabs, and Deepgram/Google/Azure as the market it aggregates); Sayna itself introduces no new speech model — it is the integration layer, which is why it is filed here by mechanism rather than there by modality.
Related
claude-to-speech · elevenlabs · agentic-tooling · synthesis
Re-tiered 2026-08-20 → T1. Under the corpus rule adopted this day (../QUALITY.md → tier by
the claim, not the URL), this page rests on the architecture — one WebSocket/REST surface in front of four named STT and TTS providers. A project is the primary source for its own design, and the earlier grade tiered the URL rather than the claim.