Providers
Rapida supports three EOS providers, ranging from a simple silence timer to ML-powered turn detection models.Silence-Based EOS
The simplest approach: after the last speech activity, wait for a fixed duration of silence, then trigger end-of-speech. No ML model, no inference overhead. Why choose Silence-Based:- Zero additional compute — no model to load or run
- Predictable, deterministic behaviour — the timeout is exactly what you configure
- Works with any language, any accent, any audio quality
- Easiest to reason about and debug
Parameters
The default when switching to Silence-Based EOS in the UI is 700 ms. The backend default (when no value is set) is 1000 ms. The 700 ms UI default is optimized for a balance between responsiveness and natural conversation flow.
Pipecat Smart Turn EOS
Pipecat Smart Turn uses a Whisper-based audio model (~8 MB) to predict whether the caller has finished their turn directly from the speech audio waveform. Unlike silence-based detection, it understands prosodic cues — falling intonation, slowing speech rate, and other acoustic signals that indicate turn completion. Why choose Pipecat Smart Turn:- Detects turn completion from audio features, not just silence — catches prosodic cues like falling intonation at the end of a sentence
- ~10 ms inference time per prediction — negligible latency impact
- Supports 23 languages out of the box
- Small model size (~8 MB ONNX)
- Uses a rolling audio buffer (~5 seconds) for context — doesn’t need the full conversation history
- Audio from the caller is accumulated in a rolling buffer (max ~5 seconds at 16 kHz)
- When a final STT transcript arrives, the model runs inference on the buffered audio
- The model outputs a probability between 0 and 1 indicating likelihood of turn completion
- If probability >= threshold → use
quick_timeout(short wait, then fire) - If probability < threshold → use
silence_timeout(long wait, keep listening) - Interim STT transcripts reset the timer with the
fallback_timeout
Parameters
Parameter tuning recommendations
Parameter tuning recommendations
Turn Completion Threshold (0.1 – 0.9)
Quick Timeout (50 – 1000 ms)
Extended Timeout (500 – 5000 ms)
LiveKit Turn Detector EOS
The LiveKit Turn Detector uses a language model to predict turn completion from transcribed text combined with conversation history. Unlike Pipecat (which analyzes audio), LiveKit analyzes the linguistic content of what was said to determine if the caller is done. Why choose LiveKit Turn Detector:- Context-aware — uses conversation history (up to 6 turns by default) to make better predictions. If the assistant asked “What is your address?”, the model knows the caller is likely still speaking during a pause after saying “123 Main Street”
- Text-based analysis — catches semantic cues that audio models miss. For example, “My address is 123” is clearly incomplete, regardless of intonation
- Reduces false triggers on addresses, phone numbers, and lists — the model understands that these naturally contain pauses between segments
- Available in two model variants: English-only (66 MB, optimized) and Multilingual (378 MB, 14 languages)
- Address dictation (“123 Main Street… apartment 4B… New York”)
- Phone numbers (“area code 212… 555… 1234”)
- Lists or multi-part answers
- Complex questions requiring thought
- Final STT transcripts are accumulated into the current user turn
- When a final transcript arrives, the model builds a chat template from conversation history + current text
- The model predicts an end-of-utterance probability
- If probability >= threshold → use
quick_timeout - If probability < threshold → use
silence_timeout - Assistant responses (from
LLMResponseDonePacket) are recorded in history for context
Parameters
Model selection guide
Model selection guide
English model (
en, 66 MB)Multilingual model (
multilingual, 378 MB)Parameter tuning recommendations
Parameter tuning recommendations
Threshold (0.001 – 0.1)
Safety Timeout (500 – 5000 ms)
Choosing a provider
Decision guide
1
Start with Silence-Based
For most new assistants, Silence-Based EOS with a 700 ms timeout is the right starting point. It’s simple, predictable, and works well for 80% of use cases.
2
Switch to Pipecat if callers get cut off
If your conversation logs show frequent premature turn-taking — callers being interrupted mid-sentence during natural pauses — switch to Pipecat Smart Turn. Its audio model catches prosodic cues that silence timers miss.
3
Switch to LiveKit for structured data collection
If your assistant collects addresses, phone numbers, or multi-part answers where callers naturally pause between segments, LiveKit’s text-based model with conversation history is the strongest choice. It understands that “123 Main Street” after “What is your address?” is likely incomplete.
How EOS providers interact with VAD
VAD and EOS work together but serve different purposes:
The VAD continuously sends speech activity heartbeats while the caller is speaking. These heartbeats reset the EOS silence timer, preventing the EOS from firing while the caller is actively speaking. When speech stops, the VAD stops sending heartbeats, and the EOS timer begins counting down.
For the model-based EOS providers (Pipecat and LiveKit), the EOS also receives the final STT transcript. On receiving a final transcript, the model runs inference to decide whether to use the quick timeout (turn complete) or extended timeout (still speaking).
Next steps
Voice Activity Detection
Configure VAD providers and understand speech detection parameters.
Create an Assistant
Set up EOS as part of Listen configuration.