Skip to main content
Silence-Based EOS triggers end-of-speech after a fixed duration of silence following the last speech activity or transcript. No ML model, no inference overhead. Provider identifier: silence_based_eos

Source Location


How It Works

  1. A single worker goroutine manages a timer
  2. When a final SpeechToTextPacket arrives, text is accumulated and the timer is set to timeout
  3. When an interim SpeechToTextPacket arrives, the timer resets
  4. When VAD is active, the timer stores a pending final instead of completing immediately
  5. When VAD ends, pending EOS fires immediately; if VAD end is missing, the recovery timer fires it
  6. State resets for the next turn

Parameters

The UI sets a default of 700 ms when switching to this provider. The backend default (when no value is configured) is 1000 ms.

Setup

No model files or downloads required. Works out of the box with both Docker and source builds. To select this provider, set microphone.eos.provider to silence_based_eos in the assistant’s audio options (or leave it unset — it is the default).