Which package?
UI / App ↕ events@ottervoice/core ← session, state machine, VAD, barge-in, usage ↕ RuntimeAdapterruntime-web | react-native | node ↕ Provider interfacesprovider-deepgram | elevenlabs | openrouter | azure-speech | customChoose
Section titled “Choose”| Package | When |
|---|---|
@ottervoice/core |
Always. createVoiceSession, events, mocks. |
@ottervoice/runtime-web |
Browser mic + playback. |
@ottervoice/runtime-react-native |
Expo / RN with injected native audio. |
@ottervoice/runtime-node |
CLI / server audio and networking. |
Providers |
Pick a cloud vendor — or implement the same interfaces. |
@ottervoice/protocol |
Forward session events across processes. |
@ottervoice/provider-utils |
Custom providers: credentials, SSE, WebSocket ASR. |
Pipelines
Section titled “Pipelines”pipeline |
Path | Fit |
|---|---|---|
asr_llm_tts (default) |
ASR text → streaming LLM → TTS | Classic cascade |
audio_llm |
ASR captions ∥ Audio LLM text/PCM (timing configurable) | Lower-latency native audio models |
Bundled OpenRouter adapters are optional demos, not a fixed production route.