Runtime
Audio and Turn Taking
How feros handles VAD, turn completion, interruptions, and timing safeguards.
Audio and Turn Taking
The runtime reactor processes audio frames, model events, tool events, and timers in one event loop.
Core Pipeline
- Ingest and normalize incoming audio
- Run denoise/VAD stages
- Stream STT updates
- Apply turn-complete rules (VAD + smart-turn + transcript gate)
- Trigger LLM and stream TTS response
Interruption Handling
When user speech arrives during assistant output:
- Runtime can interrupt immediately
- Or defer interruption until word-count / timeout gates are met
- Fallback timeout prevents stalled turns
Turn Safety Guards
- Smart-turn prediction does not commit by itself
- Runtime waits for non-empty transcript before advancing
- Late transcripts are dropped when timeout guard has already reset state
Idle Policy
Runtime tracks inactivity and can emit re-engagement prompts before hangup.