Does the google stt support realtime streaming? st...
# ask-ai
h
Does the google stt support realtime streaming? stt=google.STT( model="chirp_3", location="eu", spoken_punctuation=False, ),
t
Thanks for reaching out, James. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Thanks — you're asking whether Google STT supports real-time streaming (using your example config with
model="chirp_3"
,
location="eu"
,
spoken_punctuation=False
). Yes. Google Cloud Speech-to-Text supports real-time (streaming) recognition, and the LiveKit Google STT plugin supports streaming usage with models like
chirp_3
and options such as
spoken_punctuation=False
. LiveKit’s AI pipelines are designed to stream audio incrementally to keep latency low. If you plan to run this, do you want a short example of how to wire the
google.STT(...)
instance into a LiveKit pipeline/handler for streaming audio? Sources: Live conversations with AI using ChatGPT and WebRTC | LiveKit | Live conversations with AI using ChatGPT and WebRTC | LiveKit | Google Cloud STT plugin guide | LiveKit Documentation, with interactive elements
h
I tried the above code and I only get the results after I've finished speaking
t
Thanks — I’m responding about your report that Google STT only returns results after you finish speaking. Likely causes: • Your code is only handling FINAL transcript events instead of interim/partial events. • The STT stream isn’t configured to emit partials or you aren’t consuming the event stream as audio frames are pushed. Quick checks I need to help debug: 1. Are you using the STT instance’s streaming API (calling
stream()
and consuming
SpeechEvent
objects) while pushing audio frames incrementally? 2. Can you share the snippet where you instantiate
google.STT(...)
and the code that pushes audio and reads transcription events? (Remove any secrets.) If you want, I can provide a short example showing: • pushing frames with
push_frame()
(or equivalent), • consuming
INTERIM_TRANSCRIPT
vs
FINAL_TRANSCRIPT
events, and • any STT option to enable partials. Which language or runtime is your client using? Sources: Live conversations with AI using ChatGPT and WebRTC | LiveKit | Google Cloud STT plugin guide | LiveKit Documentation | Speechmatics STT plugin guide | LiveKit Documentation | Speech-to-text (STT) models overview | LiveKit Documentation, with interactive elements
h
session = AgentSession( stt=google.STT( model="chirp_3", location="eu", spoken_punctuation=False, ), llm=google.LLM( model="gemini-2.5-flash", vertexai=True, ), tts=google.TTS( gender="female", language="en-IN", voice_name="en-IN-Chirp3-HD-Aoede", ), vad=silero.VAD.load(), turn_detection="vad", max_tool_steps=20, ) this is my agent session. I've not changed anything else
t
Thanks — I’m responding to your AgentSession snippet and the issue that transcripts arrive only after you finish speaking. Likely cause: your session is returning only FINAL transcripts because interim/partial events aren’t being emitted or consumed. Please try these steps so I can help further: 1. Enable and consume interim/partial events ◦ The STT streaming flow must push audio frames continuously and consume the STT’s event stream (events include interim/partial and final transcripts). Ensure your code reads
INTERIM_TRANSCRIPT
(or partial) events as they arrive rather than waiting for final events. 1. Confirm STT partials option ◦ Set the STT option that enables partial/interim results (often named
enable_partials
,
enable_interim_results
, or similar). If your plugin accepts an explicit flag, add it to
google.STT(...)
. If you don’t see that parameter, the plugin still supports streaming but you must consume interim events from the stream. 1. Verify streaming usage ◦ Use the STT instance’s
stream()
(or equivalent) and: i. push audio frames incrementally (e.g.,
push_frame()
), ii. asynchronously iterate over SpeechEvent objects, iii. handle
INTERIM_TRANSCRIPT
to show live updates and
FINAL_TRANSCRIPT
to commit the result. If you want, share the small code section that reads/awaits the STT results (not just the AgentSession). Also tell me which runtime/language you’re using (Python, Node, etc.) and I’ll give a short example tailored to that environment. , with interactive elements