Files
pipecat/changelog
Mark Backman 4b704e6d3a GradiumSTTService improvements (#4066)
* Remove duplicate reconnection logic from Gradium STT

The _receive_messages method had its own while-True reconnect loop,
duplicating the reconnection handling already provided by
WebsocketService._receive_task_handler (exponential backoff, max
retries, error reporting). Flatten to just the inner message loop
and let the base class handle reconnection.

* Align Gradium STT VAD handling with base class patterns

Replace the process_frame override with a _handle_vad_user_stopped_speaking
override, which is the proper hook provided by STTService. Move
start_processing_metrics() into run_stt (matching Gladia's pattern).
Remove unused FrameDirection and VADUserStartedSpeakingFrame imports.

* Add transcript aggregation delay after flushed to capture trailing tokens

Gradium flushed response can arrive before all text tokens have been
delivered. Instead of finalizing immediately on flushed, start a short
timer (100ms) that allows trailing tokens to accumulate before pushing
the final TranscriptionFrame.

* Add changelog for PR #4066

* Change default encoding to pcm_16000

* Decouple encoding from sample_rate in Gradium STT

The encoding parameter now takes just the base type (pcm, wav, opus)
and the sample rate is derived from the pipeline audio_in_sample_rate,
assembled dynamically via input_format_from_encoding(). This fixes the
mismatch where SAMPLE_RATE=24000 was passed to the base class while
encoding defaulted to pcm_16000.
2026-03-18 15:57:34 -04:00
..
2026-03-11 10:44:15 -04:00
2026-03-11 14:18:47 -04:00
2026-03-11 17:40:53 -04:00
2026-03-11 17:40:53 -04:00
2026-03-11 21:47:51 -04:00
2026-03-12 09:22:31 -04:00
2026-03-12 11:34:25 -07:00
2026-03-12 14:56:37 -04:00
2026-03-12 17:22:13 -04:00
2026-03-13 10:22:58 -04:00
2026-03-13 10:58:51 -04:00
2026-03-13 13:55:27 -04:00
2026-03-15 08:56:54 -04:00
2026-03-15 19:15:18 +05:30
2026-03-16 19:51:37 -04:00
2026-03-17 11:35:38 -04:00
2026-03-17 12:01:50 -04:00