Gemini-3.5-live-translate-preview: first translated word distortion bug

Model / surface: gemini-3.5-live-translate-preview over the raw Live
websocket (v1beta BidiGenerateContent), automatic VAD, 16 kHz PCM in /
24 kHz out, voice pinned to Kore, en→ko. Reproduced with a minimal
harness — file → API → file, no other processing.

Symptom. Intermittently, the first translated word of a session’s first
turn is audibly “stretched” and garbled. The output transcription is always
correct; the defect is in the audio only. Numerically it is a 120–200 ms
segment where the waveform repeats at an exact pitch-period lag with
exponentially decaying gain — a frozen fundamental (we’ve observed 60–130 Hz,
different on each occurrence) held while the generator apparently stalls.
It behaves like packet-loss concealment, but there is no loss: TCP transport,
every received byte written to disk, and word-onset timing shows the clip is
genuinely lengthened by the artifact’s duration, not overlapped.

Reproduction. Send the same clean speech clip into a newly opened
session, starting immediately after setup completes. Aggravating factor: send
the first ~2 s faster than realtime (the backlog a real client accumulates
while the connection is being established), then the rest realtime-paced.

Incidence, same input clip every run:

session state when speech arrives dirty runs
fresh session, speech immediately, realtime-paced 2/6
fresh session, first 2 s as a burst, rest realtime 2/4 (once with two artifacts in the first word)
1 s of silence first (realtime-paced), then the burst shape 3/6
4 s of realtime silence first, then the burst shape 0/6
10 s of realtime silence first 0/6

So the trigger is session age in wall-clock time: sending 1 s of silence
bytes does not help, but a session that is ~4+ s old when speech arrives
never produced the artifact in our runs. It looks like the streaming
synthesizer stalls when it has to produce audio while the session is still
warming up, and conceals the stall by looping its last pitch period.

How to measure it. Plain fixed-lag autocorrelation misses the artifact,
because the best lag flips between the pitch period and its integer
multiples frame to frame. What works: per 5 ms hop, find the best integer
lag in 3–50 ms by normalized autocorrelation, fold the implied fundamental
into 60–260 Hz, and flag runs where correlation > 0.985 and the folded
fundamental stays within 3% for ≥ 120 ms with decaying gain. Cross-check:
compare the onset time of the second word against a clean run — dirty
clips are longer by the artifact’s duration.

Hello @Eph_Imp ,

Thank you for the detailed reproduction data and audio analysis. We are looking into this and will update this thread as soon as a resolution is available.