Mark Backman
5a1deb7cb4
Merge pull request #3659 from pipecat-ai/mb/change-vad-defaults
...
Set VADParams stop_secs to 0.2 by default
2026-02-06 23:51:50 -05:00
Mark Backman
a5fc2b1650
Set VADParams stop_secs to 0.2 by default
2026-02-06 23:49:08 -05:00
Aleix Conchillo Flaqué
ce690848c0
Merge pull request #3616 from omChauhanDev/fix/function-call-timeout-task-cleanup
...
fix: ensure function call timeout task is always cancelled
2026-02-06 16:40:56 -08:00
Aleix Conchillo Flaqué
4945cfbd8f
Buffer internal frames during ParallelPipeline lifecycle synchronization
...
Processors inside parallel sub-pipelines can push frames during
StartFrame/EndFrame/CancelFrame processing. Previously these frames
could escape the ParallelPipeline before all branches finished
processing the lifecycle frame. Now they are buffered and flushed
after synchronization completes.
2026-02-06 15:15:46 -08:00
Mark Backman
8d37d3bae7
Merge pull request #3666 from pipecat-ai/mb/deepgram-stt-smart-format
...
DeepgramSTTService: disable smart_format by default
2026-02-06 14:04:37 -05:00
Mark Backman
d7b1624d3c
Merge pull request #3663 from lukepayyapilli/fix/stream-close-sambanova-google
...
fix: close stream on cancellation for SambaNova and Google OpenAI services
2026-02-06 14:02:31 -05:00
Mark Backman
7f65204c3b
DeepgramSTTService: disable smart_format by default
2026-02-06 13:45:10 -05:00
Aleix Conchillo Flaqué
97eff414c3
Merge pull request #3660 from pipecat-ai/aleix/interruption-frame-completion-event
...
Attach asyncio.Event to InterruptionFrame for completion signaling
2026-02-06 10:14:26 -08:00
Aleix Conchillo Flaqué
d5105a78e6
STTMuteFilter should call frame.complete() when InterruptionFrame is blocked
2026-02-06 10:11:00 -08:00
Aleix Conchillo Flaqué
2345090b10
Attach asyncio.Event to InterruptionFrame for completion signaling
...
Move the interruption wait event from per-processor instance state to
the frame itself. The event is created in
push_interruption_task_frame_and_wait(), threaded through
InterruptionTaskFrame → InterruptionFrame, and set when the frame
reaches the pipeline sink. This scopes the event to each interruption
flow rather than sharing mutable state on the processor.
Also adds a 2s timeout warning to help diagnose cases where
InterruptionFrame.complete() is never called.
2026-02-06 09:57:24 -08:00
Mark Backman
d4993f0dcf
Update ElevenLabsSTTService to scribe_v2
2026-02-06 11:37:23 -05:00
Luke Payyapilli
29c53b99a4
fix: close stream on cancellation for SambaNova and Google OpenAI services
2026-02-06 10:02:40 -05:00
Mark Backman
aa5a855eab
Merge pull request #3656 from pipecat-ai/mb/openai-realtime-stt
...
Add OpenAIRealtimeSTTService
2026-02-06 09:15:58 -05:00
Mark Backman
b8ac2ba713
Merge pull request #3593 from ianbbqzy/ian/inworld-auto-mode
...
Add auto_mode support for inworld plugin
2026-02-05 18:16:38 -05:00
Ian Lee
6eea40858e
fix lint and changelog
2026-02-05 15:10:36 -08:00
Mark Backman
fa85f7bbc7
Merge pull request #3640 from lukepayyapilli/fix/openai-stream-close
...
fix: close stream on cancellation to prevent socket leaks
2026-02-05 18:00:06 -05:00
filipi87
76f63e54e2
Changing the ‘no audio received’ log from warning to debug.
2026-02-05 18:07:14 -03:00
Filipi da Silva Fuchter
cce5a13444
Merge pull request #3650 from pipecat-ai/filipi/twilio_issues
...
Ignoring RTVI messages inside the Serializers by default.
2026-02-05 15:52:59 -05:00
Mark Backman
8b9da632d1
Add OpenAIRealtimeSTTService
2026-02-05 15:48:00 -05:00
filipi87
6af4d872a8
Refactoring the serializers to ignore the RTVI messages by default.
2026-02-05 16:52:53 -03:00
Ian Lee
d10467e043
update timestamps reset handling
2026-02-05 11:39:39 -08:00
Ian Lee
fef9e3ea32
Add auto_mode support for inworld plugin
2026-02-05 11:39:39 -08:00
Mark Backman
56d8ef2bf4
Deprecate UserBotLatencyLogObserver, update 29 example
2026-02-05 14:29:45 -05:00
Derek Haynes
93138466d6
Feat: Add user-bot latency to OTel turn spans
...
This adds user-to-bot response latency tracking to OpenTelemetry spans:
- Created UserBotLatencyObserver as a reusable component for tracking
user-to-bot response latency
- Records the value as an attribute on turn spans (turn.user_bot_latency_seconds)
- Updated TurnTraceObserver to use UserBotLatencyObserver, following the same pattern as TurnTrackingObserver
- Updated PipelineTask to automatically create and wire UserBotLatencyObserver
when tracing is enabled (same as TurnTrackingObserver)
2026-02-05 14:29:42 -05:00
Mark Backman
5a5a98b497
Merge pull request #3649 from itsderek23/fix/tracing-orphan-spans
...
Fix orphan otel spans during flow initialization and transitions
2026-02-05 14:23:52 -05:00
Derek Haynes
0d45b48f7b
Fix import placement
2026-02-05 11:26:58 -07:00
Mark Backman
bd12b60b5c
Merge pull request #3614 from okue/fix/websocket-broadcast-frame-misuse
...
fix: pass frame class instead of instance to broadcast_frame in websocket transports
2026-02-05 12:19:03 -05:00
filipi87
752e16f553
Ignoring RTVI messages inside TwilioSerializer by default.
2026-02-05 10:51:03 -03:00
Derek Haynes
7c7408a048
Fix orphan spans in tracing during flow initialization and transitions
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-05 06:06:13 -07:00
Mark Backman
8f42343927
Merge pull request #3630 from pipecat-ai/mb/add-function-call-messages-rtvi
...
Add native RTVI function call lifecycle messages
2026-02-04 16:20:42 -05:00
Mark Backman
ecb02d9049
Bump RTVI_PROTOCOL_VERSION to 1.2.0
2026-02-04 11:17:38 -05:00
Mark Backman
cc68e00125
Deprecate llm-function-call message
2026-02-04 11:17:23 -05:00
Mark Backman
e0e3b5250b
Add RTVIObserverParams to control what information is included in function call events
2026-02-04 11:05:05 -05:00
Luke Payyapilli
55a3b10e70
fix(openai): close stream on cancellation to prevent socket leaks
2026-02-04 09:59:10 -05:00
Mark Backman
2db3d94d06
Merge pull request #3628 from pipecat-ai/mb/broadcast-speech-control-params-frame
...
Fix: Broadcast SpeechControlParamsFrame from VADController
2026-02-03 18:44:15 -05:00
Mark Backman
2a26b9f7a3
Fix: Broadcast SpeechControlParamsFrame from VADController
2026-02-03 18:40:39 -05:00
Aleix Conchillo Flaqué
c3a4da4a29
PipelineTask: also call set_bot_ready() for external RTVI processors
2026-02-03 14:16:08 -08:00
Mark Backman
84ca0b6d58
Merge pull request #3629 from pipecat-ai/fix/telephony-websocket-stopasynciteration
...
Fix StopAsyncIteration in parse_telephony_websocket
2026-02-03 12:10:07 -05:00
Mark Backman
c1857d255d
Avoid nesting try/excepts
2026-02-03 12:00:04 -05:00
Mark Backman
40c84faff5
Remove handle_function_call_start
2026-02-03 10:00:59 -05:00
Mark Backman
84cd9346f9
Add native RTVI function call lifecycle messages
2026-02-03 10:00:59 -05:00
Luke Payyapilli
8d3e10f054
Make EndFrame and StopFrame uninterruptible to prevent pipeline freeze
2026-02-03 09:12:59 -05:00
James Hush
803a20cc00
Fix formatting: remove extra blank line
...
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-02-03 16:46:44 +08:00
James Hush
90bead06ab
Apply suggestions from code review
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-03 16:42:13 +08:00
James Hush
b030f1178d
Add changelog and improve docstring for parse_telephony_websocket
...
- Added changelog entry for bug fix
- Enhanced docstring with Args and Raises sections
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-02-03 16:26:09 +08:00
James Hush
a627597bca
Fix StopAsyncIteration in parse_telephony_websocket
...
Handle WebSocket disconnections gracefully when telephony providers send
fewer messages than expected. Adds explicit StopAsyncIteration handling
for both first and second message retrieval.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-02-03 16:25:07 +08:00
Mark Backman
a4e499dc80
Merge pull request #3617 from pipecat-ai/fix/cjk-sentence-splitting
...
Fix sentence splitting for CJK and other non-Latin languages
2026-02-02 18:16:51 -05:00
Mark Backman
a592b7fdf0
Update per PR 1789, align with ErrorFrame norms
2026-02-02 08:55:29 -05:00
Mark Backman
ba2b7c05d6
Add ResembleAITTSService
2026-02-02 08:55:27 -05:00
James Hush
763002f2bc
Fix sentence splitting for CJK and other non-Latin languages in TTS pipeline
...
NLTK's sent_tokenize() only supports ~15 European languages and defaults to
English. For Japanese, Chinese, Korean, Hindi, Arabic, and other non-Latin
languages, NLTK fails to recognize sentence boundaries like 。?! causing
text to accumulate until flush instead of being emitted sentence-by-sentence.
Add a fallback in match_endofsentence() that scans for unambiguous non-Latin
sentence-ending punctuation when NLTK fails to split the text. Latin
punctuation (. ! ? ; …) is excluded from the fallback since NLTK handles
those correctly and they can be ambiguous (abbreviations, decimals, etc.).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-02 14:27:49 +08:00