Hello, I have a question regarding the agent setup with elevenlabs STT and silero VAD:
elevenlabs and silero plugins are both v1.3.11
from livekit.agents import AgentSession
from livekit.plugins import elevenlabs, silero
vad_instance = silero.load(
vad_min_silence_duration=0.3,
smart_turn_threshold=0.3,
max_silence_duration=0.5,
)
stt_base = elevenlabs.STT(
model="scribe_v2_realtime",
language_code="pl",
server_vad=None
)
stt_instance = stt.StreamAdapter(
stt=stt_base,
vad=vad_instance,
)
session = AgentSession(
turn_detection="stt",
vad=vad_instance,
stt=stt_instance,
llm=...,
tts=...,
discard_audio_if_uninterruptible=False,
)
This setup works best among the rest I tried, but it processes two audio streams at the same time. My question is: Is there a way to send a commit signal to the elevenlabs STT model via silero VAD? I want the silero to commit the transcription, handle interruptions and send the End of Speech signal to the LLM so it starts producing a response. Right now I dont seem to be able to wire it properly so there is no lag on the LLM side or double processing from silero.
Can you share a code example on how it should be implemented properly?