speech-to-speech vs xybrid
Modular local voice-agent pipeline — VAD→STT→LLM→TTS behind an OpenAI Realtime-compatible WebSocket; every stage swappable, the LLM slot takes any OpenAI-compatible server. Powers Reachy Mini robots. — versus — Cross-platform on-device AI toolkit: run LLMs, ASR and TTS natively from Flutter, Unity, Kotlin, Swift or Rust on a llama.cpp and ONNX Runtime core. Private, offline, no cloud.
Two routes to a local voice agent. speech-to-speech runs a swappable VAD-STT-LLM-TTS pipeline behind an OpenAI-Realtime-compatible socket on a machine you control; Xybrid puts the same stages on the device itself, inside your app binary.
| speech-to-speech | xybrid | |
|---|---|---|
| Stars | 13k | 425 |
| Forks | 1.6k | 45 |
| Language | Python | Rust |
| License | Apache-2.0 | Apache-2.0 |
| Last activity | 5 days ago | yesterday |
| Topics | voice | local, voice |
| Curated connections | 4 | 3 |
speech-to-speech — the curator's take
Production-proven plumbing (conversation backend for thousands of Reachy Minis) and the Realtime-compatible API means existing OpenAI voice clients switch over by changing a URL. The cascade design is the point: swap any stage, keep the rest. When NOT: you want speech-native understanding — a cascade transcribes first, so prosody and emotion die at the STT boundary; and 'local' assumes a GPU box for STT+LLM at conversational latency.
xybrid — the curator's take
The pick when the model has to ship inside the app — a mobile feature, a desktop tool, or AI NPCs in a Unity game — rather than behind your API. One Rust runtime, real SDKs per platform, and text plus speech in and out, so a voice assistant doesn't mean three vendors. The Unity binding with a playable 3D tavern demo is the differentiator; nothing else in the local stack targets game engines seriously. Check maturity per binding before committing: Flutter, Kotlin, Unity and the CLI are available, Swift is 'coming soon', and the browser SDK is a preview LiteRT.js adapter with raw typed-tensor I/O only. At 425 stars this is early, and on-device means you own model sizing, thermals and battery.