Aleix Conchillo Flaqué
644babe241
scripts(evals): run evals in parallel
2026-03-27 15:37:01 -07:00
kompfner
b33df03724
Merge pull request #4179 from pipecat-ai/pk/fix-gemini-live-vertex
...
Don't send history_config for Gemini Live Vertex (unsupported)
2026-03-27 17:34:29 -04:00
Paul Kompfner
28fbe1db08
Don't send history_config for Gemini Live Vertex (unsupported)
2026-03-27 17:30:47 -04:00
kompfner
9240e92d9f
Merge pull request #4177 from pipecat-ai/pk/tweak-26i-for-gemini-3.1-flash-live-support
...
Tweak 26i example system instruction for Gemini 3.1 Flash Live compat…
2026-03-27 17:20:06 -04:00
Paul Kompfner
5caf53f086
Tweak 26i example system instruction for Gemini 3.1 Flash Live compatibility
...
Gemini 3.1 Flash Live won't reliably report ending its turn until
after it says something following a tool call. Restructure the system
instruction so the model says goodbye *after* calling
end_conversation, and add a comment explaining the deferred EndFrame
behavior that makes this work.
2026-03-27 17:13:17 -04:00
Mark Backman
ac2716811c
Merge pull request #4176 from pipecat-ai/mb/fix-websocket-rtvi-messages
...
Fix RTVI events not delivered over WebSocket transports
2026-03-27 16:50:37 -04:00
Mark Backman
d313d56776
Fix RTVI events not delivered over WebSocket transports
...
The base serializer filters out RTVI protocol messages by default
(ignore_rtvi_messages=True) to prevent them from being sent over
telephony media streams. ProtobufFrameSerializer is used by WebSocket
transports, which are the delivery channel for these messages, so
disable the filter there.
2026-03-27 16:47:11 -04:00
kompfner
159776f106
Merge pull request #4175 from pipecat-ai/pk/gemini-live-dropped-support-for-text-modality
...
Warn when TEXT modality is set for Gemini Live, and remove 26d text example
2026-03-27 16:26:36 -04:00
kompfner
a23803478f
Merge pull request #4171 from pipecat-ai/pk/fix-gemini-3.1-flash-live-video
...
Gate Gemini Live sending real-time input messages to the API until it…
2026-03-27 16:26:03 -04:00
Mark Backman
bae193ab4d
Merge pull request #4172 from pipecat-ai/mb/rime-tts-fixes
...
Fix Rime TTS stop-frame handling and handle done message
2026-03-27 16:22:25 -04:00
Paul Kompfner
04adb697be
Warn when TEXT modality is set for Gemini Live, and remove 26d text example
...
All recent Gemini Live models (including the default
gemini-2.5-flash-native-audio-preview-12-2025, and going at least as
far back as gemini-2.5-flash-native-audio-preview-09-2025) only
support AUDIO as a response modality. We considered using
`modalities=TEXT` as a Pipecat-level signal to suppress audio output
frames (so developers could pair Gemini Live with an external TTS),
but the output transcription from the API arrives too late relative
to the audio to be useful for driving an external TTS service.
For now, just log a warning when a TEXT modality is configured
(at init or via set_model_modalities) and proceed as normal. The 26d
text-modality example is removed since it no longer represents a
viable configuration.
2026-03-27 16:21:15 -04:00
Mark Backman
4f9c8a6860
Merge pull request #4174 from pipecat-ai/fix/deepgram-sdk-6.1.0-compat
...
Fix Deepgram STT compatibility with deepgram-sdk 6.1.0
2026-03-27 15:11:43 -04:00
Mark Backman
a1a29b3933
Add changelog for #4174
2026-03-27 14:50:12 -04:00
Mark Backman
0798803c70
Bump deepgram-sdk minimum version to 6.1.0
2026-03-27 14:46:17 -04:00
Mark Backman
6422661d08
Fix Deepgram STT compatibility with deepgram-sdk 6.1.0
...
The SDK now requires explicit message objects for send_keep_alive,
send_close_stream, and send_finalize instead of no-arg calls.
2026-03-27 14:40:48 -04:00
Mark Backman
ed94b65d83
Merge pull request #4173 from pipecat-ai/filipi/updating_inworld_examples
...
Removing the models from the Inworld example so we can use the default model.
2026-03-27 14:02:55 -04:00
filipi87
f9670b9601
Removing the models from the Inworld example so we can use the default model.
2026-03-27 14:23:20 -03:00
Paul Kompfner
5b2991f47f
Gate Gemini Live sending real-time input messages to the API until it's ready, i.e. after we've sent the initial conversation history (or determined that we don't need to).
...
This fixes the 26c example when using Gemini 3.1 Flash Live, which seems to be more strict about not receiving real-time input (at least, video messages) before conversation history.
2026-03-27 12:41:05 -04:00
Mark Backman
fc3186dc0d
Add changelog entries for PR #4172
2026-03-27 12:38:53 -04:00
Mark Backman
1808b447c9
Handle done message from Rime TTS to avoid stop-frame timeout
...
Rime's WebSocket API sends a done message when synthesis completes.
Handle it to stop TTFB metrics, push TTSStoppedFrame, and remove the
audio context immediately instead of relying on the 3-second
stop_frame_timeout_s fallback.
2026-03-27 12:37:03 -04:00
Mark Backman
70df9d3fe4
Fix duplicate TTSStoppedFrame in TTS service timeout path
2026-03-27 12:07:37 -04:00
Filipi da Silva Fuchter
a8bfc23d3a
Merge pull request #4167 from pipecat-ai/filipi/inworld_improvements
...
InworldTTSService improvements.
2026-03-27 11:15:14 -04:00
filipi87
e2870fc2ac
Changing to debug the log when we are not able to append audio to the context.
2026-03-27 12:12:16 -03:00
filipi87
e851f8c1d5
Adding changelog entry for the fix.
2026-03-27 12:11:35 -03:00
filipi87
b31bece617
Not trying to recreate the context.
2026-03-27 12:06:21 -03:00
kompfner
9e350bcc2f
Merge pull request #4147 from pipecat-ai/cb/gemini-transcript-fixes
...
Fix Gemini Live to handle bundled server_content fields
2026-03-27 11:00:10 -04:00
Paul Kompfner
9c2594c484
Remove brittle test
2026-03-27 10:56:39 -04:00
Mark Backman
900fc88430
Merge pull request #4128 from pipecat-ai/mb/end-of-turn-assembly
2026-03-27 10:47:09 -04:00
filipi87
4ef5ac6f0c
InworldTTSService improvements.
2026-03-27 11:33:32 -03:00
Mark Backman
cbb3d99493
Merge pull request #4166 from pipecat-ai/mb/fix-example-ordering-56
...
Fix example numbering, add LemonSlice to evals
2026-03-27 10:29:07 -04:00
Filipi da Silva Fuchter
fb1996cedc
Merge pull request #4143 from pipecat-ai/cb/sagemaker-flux
...
Add Deepgram Flux STT service for AWS SageMaker
2026-03-27 10:27:49 -04:00
Filipi da Silva Fuchter
95c55ec6c3
Merge pull request #4145 from pipecat-ai/filipi/tts_improvements_remove_reset
...
TTS improvements.
2026-03-27 10:24:59 -04:00
Mark Backman
a45de9af7f
Merge pull request #4161 from tanmayc25/fix/lemonslice-missing-dtmf-callback
...
fix(lemonslice): add missing on_dtmf_event callback in DailyCallbacks construction
2026-03-27 10:19:54 -04:00
Mark Backman
5e61a57582
Fix changelog entry for #4161
2026-03-27 10:16:25 -04:00
Mark Backman
d8b0ed18fd
Fix example numbering, add LemonSlice to evals
2026-03-27 10:11:37 -04:00
Mark Backman
789275a57b
Merge pull request #4164 from pipecat-ai/mb/update-community-integrations-guide
...
docs: update COMMUNITY_INTEGRATIONS.md for accuracy
2026-03-27 09:38:31 -04:00
Filipi da Silva Fuchter
38c961a363
Merge pull request #4113 from inworld-ai/ian/lang-timestamps
...
fix(inworld): fallback to full text when TTS timestamps are not received
2026-03-27 09:34:05 -04:00
Mark Backman
41a86a51bf
docs: update COMMUNITY_INTEGRATIONS.md for accuracy
...
- Replace deprecated TTS classes (AudioContextWordTTSService, WordTTSService)
with current hierarchy (WebsocketTTSService, InterruptibleTTSService, TTSService)
- Add WebsocketSTTService and SDK-based STTService categories
- Fix LLM section: document _process_context, adapter_class, remove deprecated
create_context_aggregator guidance, add thought frames for reasoning models
- Fix Vision section: run_vision takes UserImageRawFrame not LLMContext,
yields Vision*Frame types not TextFrame
- Fix push_error API: takes (error_msg, exception) not ErrorFrame
- Fix frame name: TTSRawAudioFrame → TTSAudioRawFrame
- Remove stale v13+ version reference
- Clarify @traced_stt method convention
2026-03-27 09:22:32 -04:00
Filipi da Silva Fuchter
e1bfa4cf21
Merge pull request #4152 from vpalmisano/vpalmisano-patch-1
...
Fix audio transcript check in base_llm.py
2026-03-27 08:34:15 -04:00
filipi87
537d57449e
Fixing the format and including the changelog.
2026-03-27 09:29:46 -03:00
Tanmay Chaudhari
33e146decd
fix(lemonslice): add missing on_dtmf_event callback in DailyCallbacks construction
...
DailyCallbacks gained a required on_dtmf_event field in PR #4047 .
PR #4079 fixed this for TavusTransportClient but
LemonSliceTransportClient.setup() was not updated, causing a pydantic
ValidationError at pipeline setup time.
2026-03-27 12:06:26 +05:30
Mark Backman
eee47deb34
Merge pull request #4060 from alpsencer/fix/empty-tool-call-arguments
...
fix(openai): handle tool calls with empty/null arguments
2026-03-26 22:04:37 -04:00
Mark Backman
21a729ae5d
Merge pull request #4146 from pipecat-ai/mb/gemini-live-local-vad
2026-03-26 17:48:21 -04:00
Filipi da Silva Fuchter
1870f4010e
Merge pull request #4158 from pipecat-ai/filipi/flux_refactor
...
Creating a base class, DeepgramFluxSTTBase, to reuse Deepgram Flux logic
2026-03-26 17:33:35 -04:00
filipi87
28683a7296
Moving flux_stt.py to deepgram/flux/sagemaker/stt.py
2026-03-26 17:43:51 -03:00
filipi87
0e504d876d
Creating a base class DeepgramFluxSTTBase so we can reuse Deepgram Flux logic.
2026-03-26 17:37:37 -03:00
Mark Backman
5c51981207
Merge pull request #4149 from pipecat-ai/mb/fix-service-switcher-passthrough-errors
...
Fix ServiceSwitcher reacting to pass-through ErrorFrames
2026-03-26 16:34:45 -04:00
Mark Backman
a13c4d1248
Narrow ServiceSwitcher error check to active service only
...
Only trigger handle_error for ErrorFrames originating from the active
service, not any managed service. This prevents edge cases where errors
from a non-active service could incorrectly trigger failover.
2026-03-26 15:28:19 -04:00
filipi87
ca1b4ad124
Organizing the methods from Deepgram Flux and Flux SageMaker in the same position.
2026-03-26 16:05:17 -03:00
Mark Backman
533dcdba3f
Merge pull request #4154 from pipecat-ai/mb/deprecate-sambanova-stt
...
Remove SambaNovaSTTService
2026-03-26 14:10:14 -04:00
Mark Backman
7eec03cb77
Merge pull request #4156 from pipecat-ai/mb/mem0-improvements
...
fix(mem0): improve Mem0 service reliability and add get_memories() method
2026-03-26 14:09:34 -04:00
Mark Backman
83911dced6
docs: add changelog entries for #4156
2026-03-26 13:30:00 -04:00
Mark Backman
4e4a8c45d5
build(mem0): bump mem0ai dependency to >=1.0.8,<2
2026-03-26 13:28:41 -04:00
Mark Backman
9c6d51c570
feat(mem0): add get_memories() convenience method to Mem0MemoryService
...
Expose a public method for retrieving all stored memories outside the
pipeline, avoiding the need for callers to reimplement client branching,
OR filter construction, and asyncio.to_thread wrapping. Simplify the
example get_initial_greeting() to use it.
2026-03-26 13:28:41 -04:00
Mark Backman
9152d85824
fix(mem0): filter to user/assistant roles before storing in Mem0
...
Mem0 API only accepts user and assistant roles. Filter out system,
developer, and other roles before calling add() to avoid 400 errors.
2026-03-26 13:28:41 -04:00
Mark Backman
6a87d0e87d
fix(mem0): make memory service non-blocking and use position parameter
...
Move blocking Mem0 API calls off the event loop using asyncio.to_thread().
Store messages as a fire-and-forget background task via create_task() since
the result is not needed. Insert memory messages at the configured position
in the context instead of always appending.
Closes #1741
2026-03-26 13:28:41 -04:00
Mark Backman
fe0633ecd1
Add 14s to release evals
2026-03-26 12:27:27 -04:00
Mark Backman
ca2bfd6f12
Remove SambaNovaSTTService
...
SambaNova no longer offers speech-to-text audio models.
2026-03-26 12:22:06 -04:00
kompfner
345ccc0abe
Merge pull request #4148 from pipecat-ai/khk/gemini-transcription-fixes-addon
...
Fix bundled Gemini Live transcription ordering
2026-03-26 11:33:10 -04:00
namanbansal013
800fd6a916
Changelog entry for the websocket word context leak.
2026-03-26 11:52:34 -03:00
filipi87
d286991257
Changelog entry for the changes involving add_word_timestamp.
2026-03-26 11:51:31 -03:00
namanbansal013
a06bf47ed2
Discard any pre-audio word timestamps from the interrupted turn.
2026-03-26 11:42:24 -03:00
Mark Backman
5ad4aa9bea
Merge pull request #4153 from pipecat-ai/mb/deepgram-stt-try-except
...
Handle Deepgram SDK 6.x send_media() exceptions
2026-03-26 10:15:21 -04:00
filipi87
c4466ba678
Adding changelog for the InterruptibleTTSService race condition fix
2026-03-26 10:58:57 -03:00
filipi87
df602b900d
Preventing a race condition in the InterruptibleTTSServices in cases where run_tts has been invoked but the BotStartedSpeakingFrame has not yet been received.
2026-03-26 10:39:44 -03:00
Mark Backman
c331c75d66
Add tests for send_media() exception handling in DeepgramSTTService
2026-03-26 09:20:58 -04:00
filipi87
f7ec6befe1
Invoking superclass method when audio context is interrupted or completed.
2026-03-26 10:14:21 -03:00
Mark Backman
6a6ee8d563
Merge pull request #4150 from pipecat-ai/mb/resolve-dependabot-2026-03-25
...
Bump nltk minimum version to 3.9.4 to resolve CVE-2026-33230
2026-03-26 09:10:47 -04:00
Mark Backman
259f5e124c
Add changelog for #4153
2026-03-26 08:48:45 -04:00
Mark Backman
cfe91d11ec
Handle Deepgram SDK 6.x send_media() exceptions
...
Deepgram SDK 6.x surfaces connection errors from send_media() instead
of silently swallowing them. This causes error floods when the WebSocket
disconnects since every queued audio frame hits the dead connection.
Wrap send_media() in try/except: on failure, log one warning and set
self._connection = None so subsequent frames skip until the existing
_connection_handler reconnects.
2026-03-26 08:45:42 -04:00
Vittorio Palmisano
467184e63e
Fix audio transcript check in base_llm.py
...
In some cases the openai provider could answer with a `chunk.choices[0].delta.audio = None`, so the process context fails with error:
```
pipecat/services/openai/base_llm.py:552): Error during completion: 'NoneType' object has no attribute 'get'
```
2026-03-26 13:09:36 +01:00
Mark Backman
af566ac936
Merge pull request #4151 from ajmeraharsh/fix/livekit-clear-audio-queue-on-interruption
...
fix(livekit): clear AudioSource buffer on interruption
2026-03-26 00:52:26 -04:00
ajmeraharsh
62484a4fc3
fix(livekit): clear AudioSource buffer on interruption
...
When an InterruptionFrame arrives, the Python-side audio task is
cancelled but frames already submitted to rtc.AudioSource continue
playing from its internal buffer. This causes the bot to keep speaking
for several seconds after being interrupted.
Fix by overriding process_frame in LiveKitOutputTransport to call
audio_source.clear_queue() on InterruptionFrame, immediately flushing
the buffered audio.
2026-03-26 09:47:00 +05:30
Mark Backman
7fef3b01eb
Merge pull request #4142 from pipecat-ai/mb/grok-move-to-xai-module
...
Consolidate Grok services into xai module
2026-03-25 23:32:18 -04:00
Mark Backman
6d1918f12a
Update GROK_API_KEY to XAI_API_KEY
2026-03-25 23:23:58 -04:00
Mark Backman
e58740e948
Bump nltk minimum version to 3.9.4 to resolve CVE-2026-33230
2026-03-25 23:16:46 -04:00
Mark Backman
ddfe44940d
Add changelog for #4149
2026-03-25 22:54:25 -04:00
Mark Backman
fdbdbc8be3
Fix ServiceSwitcher reacting to pass-through ErrorFrames from other pipeline stages
...
ErrorFrames propagating upstream from downstream processors (e.g. TTS) would
enter the ServiceSwitcher via process_frame, traverse the active service sub-pipeline,
and reach push_frame where they incorrectly triggered failover. Now only errors whose
processor is one of the managed services trigger handle_error. Also fix the log in
handle_error to attribute errors to the actual source processor rather than the
current active_service.
Closes #4139
2026-03-25 22:53:04 -04:00
Kwindla Hultman Kramer
3cd7d882fb
Fix bundled Gemini Live transcription ordering
2026-03-25 18:56:00 -07:00
Chad Bailey
2d78533d77
Add changelog for Gemini Live server_content fix
2026-03-25 23:42:42 +00:00
Chad Bailey
c1dd44f947
Fix Gemini Live message handling to process all server_content fields
...
Gemini 3.x can bundle multiple fields (e.g. model_turn and
output_transcription) on the same server_content message. The previous
elif chain would only process the first matching field and silently
drop the rest. Switch to independent if checks so every field is
handled.
2026-03-25 23:42:07 +00:00
Mark Backman
9db15e7942
Add changelog entry for #4146
2026-03-25 18:07:05 -04:00
Mark Backman
503e5e9106
Fix Gemini Live local VAD by sending correct activity events to server
...
When Gemini Live was configured with local VAD (server-side VAD disabled),
the service was listening for the wrong frame types and not sending
ActivityStart/ActivityEnd events to the server. Now it listens for
VADUserStartedSpeakingFrame/VADUserStoppedSpeakingFrame and sends the
appropriate activity signals when local VAD is in use.
Also removes the unnecessary local SileroVADAnalyzer from server-side VAD
examples and adds a new 26a example demonstrating local VAD configuration.
2026-03-25 18:00:13 -04:00
filipi87
2ff4b3f4a3
Improving docstring based on the recent changes.
2026-03-25 17:52:05 -03:00
filipi87
b4096f9a11
Refactoring to remove "Reset" and "TTSStoppedFrame" from word.
2026-03-25 17:47:24 -03:00
filipi87
c4253a7d98
Refactoring to invoke append_to_audio_context instead of direct queue put.
2026-03-25 17:21:55 -03:00
Filipi da Silva Fuchter
2441c4f801
Merge pull request #4135 from pipecat-ai/filipi/audio_buffer
...
Fixed audio crackling and popping artifacts in AudioBufferProcessor
2026-03-25 15:40:17 -04:00
Mark Backman
a7a55dd30e
Merge pull request #4136 from pipecat-ai/mb/bump-package-version-nvidia
...
Upgrade protobuf to 6.x for nvidia-riva-client compatibility
2026-03-25 15:27:48 -04:00
Mark Backman
de6a7223ba
Suppress verbose gRPC C-core logging in nvidia services
...
Set GRPC_VERBOSITY=ERROR by default so users do not see noisy fork
handler and abseil warnings from the gRPC C library. Users can still
override by setting GRPC_VERBOSITY themselves.
2026-03-25 15:23:54 -04:00
Mark Backman
165932e1cc
Add changelog for #4136
2026-03-25 15:23:54 -04:00
Mark Backman
1f0d9ad01a
Upgrade protobuf to 6.x for nvidia-riva-client 2.25.1 compatibility
...
nvidia-riva-client 2.25.1 ships with gencode compiled against protobuf
6.31.1, which requires a runtime >= 6.31.1. Update protobuf from 5.29.6
to >=6.31.1,<7 and grpcio-tools from 1.67.1 to 1.78.0 to match.
Regenerate frames_pb2.py with the new compiler.
2026-03-25 15:23:53 -04:00
Chad Bailey
052075c244
updated changelog
2026-03-25 19:12:37 +00:00
Chad Bailey
a8d0e1de9f
Update changelog filename with PR number
2026-03-25 19:10:20 +00:00
Chad Bailey
4f0b2066c0
Add Deepgram Flux STT service for AWS SageMaker
...
Add DeepgramFluxSageMakerSTTService that combines SageMaker's HTTP/2
transport with Flux's JSON turn detection protocol (StartOfTurn,
EndOfTurn, EagerEndOfTurn, TurnResumed). Includes mid-stream Configure
support, silence watchdog, and an example bot.
2026-03-25 19:09:52 +00:00
filipi87
413dbaf974
Automated tests to validate the silence injection guards.
2026-03-25 16:05:58 -03:00
Ian Lee
5645909d34
[inworld] add falbback for empty timestamps from server
2026-03-25 11:55:09 -07:00
filipi87
da3f184316
Automated tests to validate the silence injection guards.
2026-03-25 15:38:21 -03:00
filipi87
e5a2723632
Fixed audio crackling and popping artifacts in AudioBufferProcessor.
2026-03-25 15:29:50 -03:00
Mark Backman
4ee4002d5d
Merge pull request #4137 from pipecat-ai/mb/language-string-log-level-debug
...
Downgrade unrecognized language string log from warning to debug
2026-03-25 12:26:46 -04:00
Mark Backman
54a17ab1f3
Add changelog for #4142
2026-03-25 12:22:37 -04:00
Mark Backman
1c99a537b2
Consolidate Grok services into xai module
...
Both GrokLLMService and XAIHttpTTSService use the same xAI API (api.x.ai),
so move Grok source files into the xai module. Leave deprecation shims in
the old grok/ paths for backward compatibility.
2026-03-25 12:07:40 -04:00
Mark Backman
ff5d055b3c
Merge pull request #4031 from niczy/xai-tts-service
...
Add xAI TTS service
2026-03-25 10:57:08 -04:00
Mark Backman
adc003d6c7
Code review cleanup
2026-03-25 10:53:07 -04:00
Nicholas Zhao
bbd14de9c5
Address PR review: rename to XAIHttpTTSService, add language map, clean up API
...
- Rename XAITTSService → XAIHttpTTSService and XAITTSSettings → XAIHttpTTSSettings
- Add language_to_xai_language() with explicit LANGUAGE_MAP using resolve_language()
- Remove deprecated InputParams, params, voice, language init params
- Remove XAI_DEFAULT_SAMPLE_RATE and XAI_PCM_CODEC constants; add encoding param
- Set sample_rate=None default (picked up from PipelineParams or user)
- Use Language.EN enum instead of string "en" for default language
- Add changelog/4031.added.md
- Add 07e-interruptible-xai.py foundational example
- Update 14g-function-calling-grok.py to use XAIHttpTTSService
- Register 07e in run-release-evals.py
2026-03-25 10:46:54 -04:00
Nicholas Zhao
02b97035f8
Add xAI TTS service
2026-03-25 10:45:15 -04:00
Mark Backman
f470ff193e
Update language tests to expect debug instead of warning
2026-03-25 10:26:10 -04:00
Mark Backman
7bc8b89a54
Add changelog for #4137
2026-03-25 10:21:44 -04:00
Mark Backman
a8eff6fbbf
Downgrade unrecognized language string log from warning to debug
...
Service-specific language strings like Deepgram's "multi" are valid
pass-through values, not issues worth warning about.
2026-03-25 10:20:36 -04:00
kompfner
86e086c6b5
Merge pull request #4130 from pipecat-ai/pk/realtime-services-init-v-context-system-instructions-cleanup
...
Prefer init-provided system instructions in realtime services
2026-03-25 09:13:52 -04:00
Paul Kompfner
4bdfe1cf31
Add changelog for realtime system instruction preference change
2026-03-24 17:34:50 -04:00
Paul Kompfner
bb33045389
Add system instruction conflict resolution tests for realtime adapters
...
Test that OpenAI Realtime, Grok Realtime, and Nova Sonic adapters
prefer init-provided system_instruction over context-provided, warn
on conflicts, and don't warn for developer messages.
2026-03-24 17:30:35 -04:00
Paul Kompfner
ac2b1ecd47
Prefer init-provided system instruction in Grok Realtime
...
Add system_instruction parameter to the Grok Realtime adapter's
get_llm_invocation_params() and call _resolve_system_instruction() to
prefer init-provided over context-provided system instructions and
warn on conflicts. Previously context-provided took precedence.
Update the Grok Realtime example to use settings.system_instruction
instead of session_properties.instructions.
2026-03-24 17:29:19 -04:00
Paul Kompfner
e7dd84b552
Prefer init-provided system instruction in OpenAI Realtime
...
Add system_instruction parameter to the OpenAI Realtime adapter's
get_llm_invocation_params() and call _resolve_system_instruction() to
prefer init-provided over context-provided system instructions and
warn on conflicts. Previously context-provided took precedence.
2026-03-24 17:21:53 -04:00
Paul Kompfner
39329aaddb
Prefer init-provided system instruction in Nova Sonic
...
Add system_instruction parameter to the Nova Sonic adapter's
get_llm_invocation_params() and call _resolve_system_instruction() to
prefer init-provided over context-provided system instructions and
warn on conflicts. Previously context-provided took precedence.
Remove the service-side fallback logic, as the adapter now handles
resolution.
2026-03-24 17:18:44 -04:00
Paul Kompfner
56a56a4174
Prefer init-provided system instruction in Gemini Live
...
Pass self._system_instruction_from_init to the adapter's
get_llm_invocation_params(), which calls _resolve_system_instruction()
to prefer init-provided over context-provided system instructions and
warn on conflicts. Previously context-provided took precedence.
Also fix the reconnect check to only reconnect when the resolved
system instruction actually differs from what the initial connection
used, avoiding unnecessary reconnects.
2026-03-24 17:06:56 -04:00
kompfner
b80328e038
Merge pull request #4125 from pipecat-ai/pk/gemini-live-endframe-deferral-issue
...
Gemini Live: fix EndFrame-deferral hang
2026-03-24 17:02:46 -04:00
kompfner
3a80be760b
Merge pull request #4089 from pipecat-ai/pk/system-and-developer-message-handling-update
...
Centralize system message handling in adapters; add developer message support
2026-03-24 16:24:11 -04:00
Mark Backman
b66c892100
Add changelog for #4128
2026-03-24 16:15:00 -04:00
Mark Backman
6c30371295
Fix Deepgram Flux event handler docstring to match implementation
...
Update documented event signatures to include transcript argument
where the code actually passes it. Remove stale on_speech_started
and on_utterance_end entries that were never registered.
2026-03-24 16:12:25 -04:00
Mark Backman
ddf6a41854
Add on_end_of_turn event handler to AssemblyAI STT
...
Fires after the final transcript is pushed in both Pipecat and
AssemblyAI turn detection modes, giving users a reliable hook
that arrives after all transcript frames. Matches the existing
Deepgram Flux on_end_of_turn pattern.
2026-03-24 16:11:35 -04:00
Paul Kompfner
e0c49927cf
Remove hard-coded model overrides from Together and Groq examples
...
Prefer service defaults — the hard-coded models we were using are no
longer available on these providers.
2026-03-24 16:05:15 -04:00
Paul Kompfner
45926a7135
Update Together.ai default model to openai/gpt-oss-20b
...
The previous default (meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo) is
no longer available as a serverless Together.ai model and now requires a
custom deployment. The new default is openai/gpt-oss-20b, one of
Together's recommended models for small & fast use-cases.
2026-03-24 16:05:15 -04:00
Paul Kompfner
8c678c1c98
Set supports_developer_role = False for more OpenAI-compatible services
...
DeepSeek, Mistral, OLLama, Qwen, SambaNova, and Together don't support
the "developer" message role.
2026-03-24 16:05:15 -04:00
Paul Kompfner
4c121332cf
Convert developer messages to user for Cerebras (and lay groundwork for other incompatible services)
...
OpenAI-compatible services that don't support the "developer" message
role can now set supports_developer_role = False on the service class.
BaseOpenAILLMService passes this as convert_developer_to_user to the
adapter, which converts developer messages to user messages before
sending them to the API. Applied to Cerebras and Perplexity.
Also removes the now-redundant developer→user conversion step from
PerplexityLLMAdapter (handled by the parent adapter via the flag).
2026-03-24 16:05:15 -04:00
Paul Kompfner
74686f9190
Add changelog for Gemini Live system_instruction fix
2026-03-24 16:05:15 -04:00
Paul Kompfner
19bcc8620c
Fix Gemini Live not honoring settings.system_instruction
...
_system_instruction_from_init was being set from the deprecated
`system_instruction` constructor parameter instead of
`self._settings.system_instruction`, so system instructions provided
via settings were silently ignored.
2026-03-24 16:05:15 -04:00
Paul Kompfner
0530722c58
Convert developer messages to user in Perplexity adapter
...
Perplexity doesn't support the "developer" role. Developer messages are
now converted to "user" before other transformations are applied.
2026-03-24 16:05:15 -04:00
Paul Kompfner
0d1b834770
Add developer message support to realtime adapters
...
OpenAI Realtime, Grok Realtime, and AWS Nova Sonic adapters now convert
"developer" role messages to "user" (consistent with all other non-OpenAI
adapters). Previously these messages were silently dropped. Adds starter
unit tests for all three realtime adapters.
2026-03-24 16:05:15 -04:00
Paul Kompfner
7a0f7b58d1
Remove bit of unintentionally-left-in debugging logic
2026-03-24 16:05:15 -04:00
Paul Kompfner
5806a3f0fa
Use "developer" role for remaining developer-intent messages in examples
2026-03-24 16:05:04 -04:00
Paul Kompfner
27fabfc1b3
Improve warning message wording and formatting
2026-03-24 16:02:42 -04:00
Paul Kompfner
d779a5b4ea
Use "developer" role for programmatic conversation-kickoff messages
...
These messages are developer instructions to the assistant (e.g. "Please
introduce yourself to the user"), not simulated user input. The
"developer" role is semantically correct for this purpose.
2026-03-24 16:02:42 -04:00
Paul Kompfner
2bb36b5b66
Update changelog for developer message simplification
2026-03-24 16:02:42 -04:00
Paul Kompfner
e0bc9c73c6
Add Anthropic interruptible example (07e) and register in release evals
2026-03-24 16:02:42 -04:00
Paul Kompfner
2135557689
Simplify: don't promote developer messages to system instruction
...
Developer messages are now always converted to "user" in non-OpenAI
adapters, never promoted to the system instruction. This removes an
inconsistency where adding an unrelated message to context would change
whether a developer message got promoted.
Simplifications:
- Rename _extract_initial_system_or_developer → _extract_initial_system
- Return Optional[str] instead of Tuple (role is always "system")
- Drop initial_context_message_role from _resolve_system_instruction
- Drop system_role fields from all ConvertedMessages dataclasses
2026-03-24 16:02:42 -04:00
Paul Kompfner
a0393b9af6
Fix: warn on system_instruction conflict even with single system message
...
When the only message in context was a system message,
_extract_initial_system_or_developer would convert it to "user" (to
prevent empty history) without warning about the conflict with
system_instruction. Now warns inline before converting, with a message
explaining both the conflict and the user-role conversion.
2026-03-24 16:02:42 -04:00
Paul Kompfner
64ba013b68
Move OpenAI Responses adapter tests into test_get_llm_invocation_params.py
...
Consolidates all adapter get_llm_invocation_params tests in one file.
Adds new tests for developer message handling in the Responses adapter.
2026-03-24 16:02:42 -04:00
Paul Kompfner
7377d88cf5
Move system_instruction tests into test_get_llm_invocation_params.py
2026-03-24 16:02:42 -04:00
Paul Kompfner
3bbec0a2c8
Broaden docstring: all non-OpenAI providers need non-empty messages
2026-03-24 16:02:42 -04:00
Paul Kompfner
e29a63e1ae
Improve _extract_initial_system_or_developer docstring clarity
2026-03-24 16:02:42 -04:00
Paul Kompfner
45178972d7
Fix stale docstring in PerplexityLLMAdapter
2026-03-24 16:02:42 -04:00
Paul Kompfner
bb7199d143
Add changelog entries for #4089
2026-03-24 16:02:42 -04:00
Paul Kompfner
d4dea30407
Centralize system message handling in adapters; add developer message support
...
Two goals:
1. Centralize system_instruction vs context system message resolution into
the LLM adapters. This eliminates duplication between in-pipeline and
out-of-band (run_inference) code paths across ~16 locations in service
llm.py files.
2. Add support for "developer" role messages in conversation context, which
is facilitated by the above centralization.
Shared helpers on BaseLLMAdapter:
- _extract_initial_system_or_developer: extracts/converts messages[0]
based on role and whether system_instruction is provided
- _resolve_system_instruction: warns on conflicts between system_instruction
and context system messages, returns the effective instruction
Developer message handling (new):
- Non-OpenAI adapters: an initial "developer" message is promoted to the
system instruction when no system_instruction is provided; otherwise it
is converted to "user". Subsequent "developer" messages are always
converted to "user". No conflict warning is emitted for developer
messages (unlike "system" messages).
- OpenAI adapter: "developer" messages pass through in conversation
history without triggering conflict warnings.
- OpenAI Responses adapter: "developer" messages are kept as "developer"
role (same as "system", which is also converted to "developer" for the
Responses API).
Other behavior changes:
- Gemini: "initial" system message detection now checks messages[0] only
(previously searched anywhere in the list)
- Bedrock: a lone system message is now converted to "user" instead of
being extracted to an empty message list (matches existing Anthropic
behavior)
2026-03-24 16:02:42 -04:00
Mark Backman
b49bf1c83f
Merge pull request #4127 from pipecat-ai/mb/tts-text-frame-ordering
...
Fix LLMFullResponseEndFrame racing ahead of final TTSTextFrame
2026-03-24 15:39:06 -04:00
Mark Backman
1b0f7ecb0e
Merge pull request #4126 from pipecat-ai/mb/fix-tts-flush-phantom-contexts
...
Fix TTS flush creating phantom contexts on ElevenLabs
2026-03-24 15:33:58 -04:00
Mark Backman
8e57dd67a2
Add changelog for #4127
2026-03-24 15:10:48 -04:00
Mark Backman
5d71de8aad
Fix LLMFullResponseEndFrame racing ahead of final TTSTextFrame
...
Route LLMFullResponseEndFrame through the serialization queue instead
of pushing it directly downstream when push_text_frames is enabled.
This ensures the frame is emitted only after the audio context is
fully drained, preserving correct ordering relative to TTSTextFrames.
Previously, the final sentence TTSTextFrame would arrive at the
LLMAssistantAggregator after LLMFullResponseEndFrame, causing it to
be dropped from the conversation context (especially with RTVI text
input where no subsequent interruption would flush the orphaned text).
2026-03-24 15:09:42 -04:00
Paul Kompfner
dc56cb2ccc
Gemini Live: reset _bot_is_responding when releasing deferred EndFrame
...
Without this, the released EndFrame re-enters process_frame, sees
_bot_is_responding is still True, defers again, and loops indefinitely.
2026-03-24 15:01:07 -04:00
Paul Kompfner
063955b7eb
Gemini Live: clean up EndFrame deferral state on disconnect
...
Cancel the deferral timeout task and clear the pending EndFrame during
disconnect, which could otherwise be left dangling after a
CancelFrame-triggered shutdown.
2026-03-24 14:30:14 -04:00
Mark Backman
e05bd54743
Add changelog for #4126
2026-03-24 13:43:07 -04:00
Mark Backman
35f52f70ab
Fix TTS flush creating phantom contexts on providers like ElevenLabs
...
When an interruption arrives before any LLM text reaches run_tts, the
turn context ID exists but was never registered via create_audio_context.
Calling flush_audio for this unregistered context sends a message to the
provider (e.g. ElevenLabs) with a context_id it has never seen, which
implicitly creates a server-side context that is never closed. After
enough rapid interruptions these phantom contexts accumulate and exceed
the providers limit (ElevenLabs: 5 simultaneous contexts, 1008 policy
violation).
Guard the flush call with audio_context_available so it only fires when
the context was actually opened.
Fixes #4114
2026-03-24 13:42:01 -04:00
Paul Kompfner
d05eb02b98
Add changelog for #4125
2026-03-24 12:54:50 -04:00
Paul Kompfner
4abd4d031d
Gemini Live: add safety timeout to EndFrame deferral to prevent indefinite pipeline hang
...
When an EndFrame arrives while the bot is mid-response, it is deferred
until turn_complete is received. If turn_complete never arrives, the
EndFrame gets stuck forever and the pipeline hangs indefinitely.
Add a 30-second timeout: if turn_complete hasn't arrived by then, the
deferred EndFrame is released anyway with a warning log. The timeout
is cancelled if turn_complete arrives normally.
2026-03-24 12:50:07 -04:00
Paul Kompfner
7e42998e9e
Gemini Live: fix potential EndFrame-deferral hang by handling turn_complete without usage_metadata
...
We observed a case where a deferred EndFrame was never released in
Gemini Live, causing the pipeline to hang indefinitely. The EndFrame
deferral mechanism waits for _handle_msg_turn_complete to set
_bot_is_responding back to False, but turn_complete messages were only
processed if they also contained usage_metadata. If Gemini ever sent
turn_complete without usage_metadata, the message would be silently
dropped and the deferred EndFrame would never be released.
Now turn_complete is always handled regardless of usage_metadata
presence, with usage_metadata processing only when available.
Note: we have not actually observed a turn_complete without
usage_metadata in practice, so this is a theoretical fix for the
EndFrame-deferral hang. The actual root cause of the observed hang
may lie elsewhere.
2026-03-24 12:32:14 -04:00
Filipi da Silva Fuchter
28eb4544d3
Merge pull request #4122 from pipecat-ai/filipi/inworld_follow_up
...
Invoking on_turn_context_created when we receive a TTSSpeakFrame.
2026-03-24 12:28:00 -04:00
Filipi da Silva Fuchter
b45dcb1ae0
Merge pull request #4028 from inworld-ai/ian/close-on-turn-complete
...
fix(inworld): close context at end of turn instead of relying on idle timeout
2026-03-24 12:07:51 -04:00
Mark Backman
6eb988b729
Merge pull request #4092 from harshitajain165/harshita/smallest-tts-only
...
Add Smallest AI TTS service integration
2026-03-24 11:54:34 -04:00
Mark Backman
f68b3222b3
Fix SmallestTTSService to use InterruptibleTTSService audio context system
...
- Route audio through audio contexts (append_to_audio_context) instead of
pushing frames directly, enabling proper turn management and interruptions
- Add push_stop_frames and push_start_frame so the base class handles
TTSStartedFrame/TTSStoppedFrame lifecycle
- Remove manual context_id tracking (self._context_id) in favor of
get_active_audio_context_id()
- Don't call remove_audio_context on "complete" — Smallest sends one
per request, not per turn; let the base class timeout handle cleanup
- Guard v2-only params (consistency, similarity, enhancement) so they
aren't sent to lightning-v3.1
- Remove request_id from request payload (not a documented request field)
- Add flush_audio override to send flush to WebSocket
2026-03-24 11:46:28 -04:00
filipi87
3274235ea1
Adding missing changelog entry.
2026-03-24 12:42:56 -03:00
filipi87
05b9c514fb
Invoking TTSSpeakFrame when we receive a TTSSpeakFrame.
2026-03-24 12:39:28 -03:00
Filipi da Silva Fuchter
03c0d7c345
Merge pull request #4013 from inworld-ai/ian/prewarm-context-inworld-v2
...
[inworld] Pre-open WebSocket TTS context on LLM response start
2026-03-24 11:37:28 -04:00
Filipi da Silva Fuchter
0783edb185
Merge pull request #4120 from pipecat-ai/filipi/krisp-viva-vad-support
...
Added cleanup() method to VADAnalyzer base class
2026-03-24 11:26:53 -04:00
Mark Backman
51d28b4a9f
Code review fixes
2026-03-24 11:21:04 -04:00
kompfner
cf083b8411
Merge pull request #4078 from pipecat-ai/cb/gemini-updates
...
Updates for Gemini Live
2026-03-24 11:18:00 -04:00
Harshita Jain
099814d74a
Add Smallest AI TTS service integration
...
Adds SmallestTTSService, a WebSocket-based TTS service using Smallest AI's
Lightning v3.1 model. Follows current Pipecat service conventions:
- SmallestTTSSettings dataclass with runtime-updatable settings (voice,
language, speed, etc.)
- Reconnects on model change; keepalive every 30s to prevent idle timeout
- TTS settings default to None so the API applies its own defaults
- Model enum: SmallestTTSModel.LIGHTNING_V3_1
Includes a foundational example (07zl-interruptible-smallest.py) using
Deepgram STT + Smallest TTS + OpenAI LLM.
STT integration will follow in a separate PR once the hallucination/finalize
behaviour is resolved.
Made-with: Cursor
2026-03-24 11:11:10 -04:00
Mark Backman
dd45843c42
Merge pull request #4117 from m-ods/feat/assemblyai-domain-param
...
feat(assemblyai): add domain parameter for Medical Mode
2026-03-24 11:02:01 -04:00
Mark Backman
fe15d8654b
Add changelog for #4117
2026-03-24 10:57:55 -04:00
Paul Kompfner
68a440ae2e
Move inference_on_context_initialization comment to constructor level
2026-03-24 10:49:45 -04:00
Paul Kompfner
8109ab6135
Further tweaks and improvements to Gemini 3 support in Gemini Live
...
Gets Gemini 3 support to the point where it works with:
- The "legacy" pattern from the previous (removed) 26- example
- inference_on_context_initialization=True (the default)
- inference_on_context_initialization=False
2026-03-24 10:45:41 -04:00
Filipi da Silva Fuchter
f311a0b6e4
Merge pull request #4084 from pipecat-ai/filipi/refactor_stop_frame
...
Refactoring the way we automatically push TTSStoppedFrame.
2026-03-24 10:06:02 -04:00
filipi87
9df8985d60
Refactoring the way we automatically push TTSStoppedFrame.
2026-03-24 11:00:06 -03:00
filipi87
b3a25e0ebe
Adding changelog entry for cleanup method.
2026-03-24 10:53:07 -03:00
filipi87
02cfb129d3
Invoke cleanup method on VAD analyzer.
2026-03-24 10:49:14 -03:00
filipi87
311afef7da
Fixing Krisp Viva example.
2026-03-24 10:48:22 -03:00
Filipi da Silva Fuchter
5ed183d215
Merge pull request #4022 from krispai/krisp-viva-vad-support
...
Draft Implementation for Krisp VIVA VAD.
2026-03-24 09:44:32 -04:00
Mark Backman
5c3d3aea2b
Merge pull request #4115 from pipecat-ai/mb/user-turn-stop-warnings
...
Warn when VAD stop_secs misconfiguration may degrade turn detection
2026-03-24 09:32:20 -04:00
Mark Backman
0651569a4e
Merge pull request #4119 from Alex-wuhu/novita-integration
...
feat: add Novita AI as LLM provider
2026-03-24 09:30:05 -04:00
Mark Backman
bf04ea2043
Add changelog for #4119
2026-03-24 09:23:40 -04:00
Mark Backman
aa0b49d69f
Code review fixes
2026-03-24 09:22:08 -04:00
Alex-wuhu
8c6f4a8d7b
Add Novita AI LLM service provider
2026-03-24 09:20:50 -04:00
Mark Backman
bbaa5971c4
Merge pull request #3981 from dhruvladia-sarvam/feat/sarvam-llm-integration
...
Sarvam LLM Integration
2026-03-24 09:00:01 -04:00
Mark Backman
cdd8c3e5bb
Fix examples
2026-03-24 08:53:56 -04:00
Mark Backman
1c8a8f51d4
Code review fixes
2026-03-24 08:46:03 -04:00
dhruvladia-sarvam
349b8645f3
Merge branch 'main' into feat/sarvam-llm-integration
2026-03-24 16:34:12 +05:30
dhruvladia-sarvam
696196e30c
alignment with pr 4081
2026-03-24 16:29:58 +05:30
Garegin Harutyunyan
dacffccd3a
fixed runtime issue.
2026-03-24 12:56:19 +04:00
Martin Schweiger
f21b262969
feat(assemblyai): add domain parameter for Medical Mode
...
Add `domain` field to AssemblyAISTTSettings to support AssemblyAI's
streaming API `domain` query parameter, enabling specialized recognition
modes like Medical Mode (`medical-v1`).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-24 13:09:42 +08:00
Aleix Conchillo Flaqué
7414b30308
Merge pull request #4116 from pipecat-ai/changelog-0.0.107
...
Release 0.0.107 - Changelog Update
2026-03-23 20:13:49 -07:00
aconchillo
3268cb93d5
Update changelog for version 0.0.107
2026-03-23 20:11:31 -07:00
Aleix Conchillo Flaque
9211379720
update uv.lock
2026-03-23 20:06:28 -07:00
Mark Backman
42cab7eea0
Add changelog entry for #4115
2026-03-23 18:01:04 -04:00
Mark Backman
483b643b07
Warn when VAD stop_secs misconfiguration may degrade turn detection
...
Add warnings in SpeechTimeoutUserTurnStopStrategy and
TurnAnalyzerUserTurnStopStrategy when stop_secs differs from the
recommended default (0.2s) or when stop_secs >= STT p99 latency,
which collapses the STT wait timeout to 0s. Document the stop_secs=0.2
assumption in stt_latency.py.
2026-03-23 17:57:51 -04:00
Filipi da Silva Fuchter
12dc429761
Merge pull request #4104 from pipecat-ai/filipi/audio_issue
...
Allow defining whether to insert silence in the output transport.
2026-03-23 17:17:37 -04:00
filipi87
066b206b3d
Renaming insert_silence to auto_silence
2026-03-23 18:12:26 -03:00
filipi87
ddd1b71b56
Renaming audio_out_insert_silence to audio_out_auto_silence
2026-03-23 17:57:42 -03:00
filipi87
8612c9f50a
Updating to use daily-python 0.27.0
2026-03-23 17:52:41 -03:00
Mark Backman
d314e2831a
Simplify 26 name, update evals
2026-03-23 15:46:13 -04:00
Mark Backman
fd0bfe141f
Merge pull request #4109 from pipecat-ai/pk/tiny-fix
2026-03-23 15:17:19 -04:00
filipi87
3042929989
Fixing changelog description.
2026-03-23 15:57:25 -03:00
dhruvladia-sarvam
0f6cc231cf
removing error wraps and model validation check
2026-03-24 00:06:15 +05:30
Chad Bailey
844555c520
removed old Gemini Live example
2026-03-23 18:31:36 +00:00
dhruvladia-sarvam
3428a4c6ad
fixes post PR 4081
2026-03-23 23:45:27 +05:30
Mark Backman
f283cc5bc6
Merge pull request #4091 from pipecat-ai/mb/gradium-multiplexing-setup
...
feat: send per-context setup in Gradium TTS multiplexing
2026-03-23 12:00:53 -04:00
Mark Backman
70552d7697
Add changelog entry for #4091
2026-03-23 11:58:14 -04:00
Mark Backman
84c2a24c9f
feat: send per-context setup messages in Gradium TTS multiplexing
...
Send a setup message with client_req_id before the first text message
for each context, matching Gradium multiplexing protocol. This allows
Gradium to associate each session with its setup configuration when
using close_ws_on_eos=False.
2026-03-23 11:58:14 -04:00
Garegin Harutyunyan
f8c7414ea7
format fix.
2026-03-23 18:58:19 +04:00
Garegin Harutyunyan
f1f51de962
Merge branch 'main' into krisp-viva-vad-support
2026-03-23 18:35:58 +04:00
Paul Kompfner
e93b0ace06
Remove an unnecessary check in SyncParallelPipeline
2026-03-23 10:00:32 -04:00
Garegin Harutyunyan
c32240e14b
Fixed review comments.
2026-03-23 17:44:48 +04:00
filipi87
e6602f9244
Disabling auto_silence for tavus video service.
2026-03-22 18:28:57 -03:00
filipi87
9a30b18f21
Configuring Daily CustomAudioSource to automatically inject silence or not.
2026-03-22 17:29:01 -03:00
filipi87
936a39f4a1
Updating tavus examples to not send silence.
2026-03-22 14:41:23 -03:00
filipi87
3b1cb30926
Adding changelog entry.
2026-03-22 13:26:00 -03:00
filipi87
ce36487143
Allow defining whether to insert silence in the output transport.
2026-03-22 13:09:09 -03:00
Mark Backman
ec3bd8c5b1
Merge pull request #4097 from pipecat-ai/mb/update-minimax-docs-link
...
Update MiniMaxHttpTTSService platform docs link
2026-03-21 07:08:40 -04:00
Mark Backman
622ebd5d74
Update MiniMaxHttpTTSService platform docs link
2026-03-21 07:02:06 -04:00
Mark Backman
a9a1941a45
Merge pull request #4093 from poislagarde/fix/genesys-pong-parameters
2026-03-20 19:52:58 -04:00
Pablo Ois Lagarde
53e0136366
chore: rename changelog fragment to PR #4093
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 16:46:35 -03:00
Pablo Ois Lagarde
bc0e7130b8
fix: always include parameters field in Genesys AudioHook messages
...
The AudioHook protocol requires every message to carry a `parameters`
object. `_create_message` conditionally included it only when parameters
were truthy, so pong responses and closed responses without
outputVariables were sent without the field.
Clients that validate message structure (including the Genesys reference
implementation) rejected these messages, which broke server sequence
tracking and prevented outputVariables from reaching the Architect flow.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 16:37:53 -03:00
Mark Backman
d8af4447ff
Merge pull request #3449 from kingster/telemetry-fix-system-message
...
fix: Record correct system_instruction in LLM spans for LLM services
2026-03-20 13:42:47 -04:00
Mark Backman
c89e366739
refactor: align tracing attributes with OpenTelemetry GenAI conventions
...
- gen_ai.system -> gen_ai.provider.name (deprecated)
- system / system_instructions -> gen_ai.system_instructions
- gen_ai.usage.cache_read_input_tokens -> gen_ai.usage.cache_read.input_tokens
- gen_ai.usage.cache_creation_input_tokens -> gen_ai.usage.cache_creation.input_tokens
2026-03-20 13:36:20 -04:00
Ian Lee
e9f3086ea3
add on_turn_context_created hook instead
2026-03-20 10:33:25 -07:00
Mark Backman
b5c362d6e6
refactor: rename tracing span attribute "system" to "system_instructions"
...
Align with the OpenTelemetry GenAI semantic convention
gen_ai.system_instructions for system prompts. The old "system"
attribute name was unrelated to gen_ai.system (which is for
provider name).
2026-03-20 13:20:03 -04:00
Mark Backman
e5aaa4c4eb
fix: read system_instruction from _settings instead of removed attribute
...
Replace adapter-based extraction in traced_llm with direct reads from
_settings.system_instruction (priority) and context messages (fallback).
The old approach had three bugs: signature mismatch with Anthropic
adapter, key name inconsistency, and unnecessary overhead from full
message/tools conversion.
Also deduplicate the system instruction in spans -- it was appearing as
both "system" and "param.system_instruction".
2026-03-20 13:12:40 -04:00
Varun Singh
a12ad27348
enable_dialout should not depend on sip_caller_phone being set ( #4087 )
...
* enable_dialout should not depend on SIP being set
* we still need room_prefix to have pipecat-sip, s/sip/telephony in room prefix
2026-03-20 10:01:31 -07:00
Mark Backman
44504efdc7
Merge pull request #4090 from pipecat-ai/mb/fix-tts-audio-context-routing
...
fix: route TTS audio through audio context queue in Fish, LMNT, Neuph…
2026-03-20 11:06:53 -04:00
Mark Backman
da8070e98e
Add changelog entry for #4090
2026-03-20 10:46:36 -04:00
Mark Backman
b98ad7fb64
fix: route TTS audio through audio context queue in Fish, LMNT, Neuphonic, Rime NonJson
...
These services were pushing audio frames directly via push_frame() in their
WebSocket receive loops, bypassing the base TTSService audio context
serialization queue. This causes incorrect frame ordering and broken
interruption handling.
Changes per service:
- Fish Audio: use append_to_audio_context(), replace _handle_interruption
with on_audio_context_interrupted()
- LMNT: use append_to_audio_context(), remove redundant push_frame override
- Neuphonic: use append_to_audio_context(), remove redundant push_frame and
process_frame overrides (base class handles pause/resume)
- Rime NonJson: use append_to_audio_context(), remove redundant push_frame
override
2026-03-20 10:41:43 -04:00
Mark Backman
10ddf45015
Merge pull request #4088 from pipecat-ai/mb/add-community-integrations-README
...
Add community integrations to README
2026-03-20 10:34:09 -04:00
Filipi da Silva Fuchter
e41cb2cd0c
Merge pull request #4083 from pipecat-ai/filipi/deepgram_sagemaker_tts_improvements
...
Improvements to DeepgramSageMakerTTSService
2026-03-20 10:30:48 -04:00
Filipi da Silva Fuchter
a69abcc67a
Merge pull request #4082 from pipecat-ai/filipi/sarvam_tts_improvements
...
Improvements to SarvamTTSService.
2026-03-20 10:28:02 -04:00
Mark Backman
a11c48d5b0
Add community integrations to README
2026-03-20 10:09:58 -04:00
Kinshuk Bairagi
7caec9018b
Merge branch 'pipecat-ai:main' into telemetry-fix-system-message
2026-03-20 18:36:31 +05:30
kompfner
08052d8880
Merge pull request #4085 from pipecat-ai/pk/remove-broken-05a-example
...
Remove 05a example, which was broken and isn't currently a priority t…
2026-03-19 15:59:39 -04:00
Paul Kompfner
4c456ada04
Remove 05a example, which was broken and isn't currently a priority to fix
2026-03-19 15:52:48 -04:00
kompfner
488dc1d07e
Merge pull request #4074 from pipecat-ai/pk/openai-responses-llm-service
...
feat: add OpenAI Responses API LLM service
2026-03-19 15:44:26 -04:00
Paul Kompfner
dafbb2eb66
fix: typo "conversatione" → "conversation" in 20- examples
2026-03-19 15:38:38 -04:00
Paul Kompfner
ea1534f9f8
docs: note input_audio coming soon, no conversion needed
...
The LLMContext format already matches the expected Responses API
shape for input_audio, so no adapter conversion will be needed
once OpenAI enables support.
2026-03-19 15:36:23 -04:00
kompfner
f6e7599e49
Merge pull request #4029 from pipecat-ai/pk/sync-parallel-pipeline-fixes
...
`SyncParallelPipeline` and related fixes
2026-03-19 14:41:16 -04:00
Paul Kompfner
6424c36666
refactor: remove model init param from OpenAIResponsesLLMService
...
Model is only configurable via settings, matching the canonical API.
2026-03-19 14:38:01 -04:00
Paul Kompfner
05e344b9ec
docs: port _closing comments from BaseOpenAILLMService
2026-03-19 14:30:34 -04:00
Paul Kompfner
4ec7be8850
feat: include cached_tokens and reasoning_tokens in usage metrics
2026-03-19 14:23:39 -04:00
Paul Kompfner
0533ea7b7f
refactor: use direct attribute access for typed stream events
...
Replace getattr() calls with direct attribute access and isinstance()
checks on the strongly-typed OpenAI SDK event models.
2026-03-19 14:19:10 -04:00
Paul Kompfner
a3431d3b01
fix: prefer _full_model_name over _settings.model in tracing
...
The API-provided full model name is more specific than the
user-provided model name (e.g. includes version/snapshot details).
Reorder the lookup in _get_model_name and add a comment where the
Responses service sets the field.
2026-03-19 13:58:35 -04:00
Paul Kompfner
348df9d4ce
fix: remove redundant instructions override in run_inference
...
The override would re-add `instructions` after the adapter had
intentionally converted it to a developer message for empty contexts.
Added a regression test.
2026-03-19 13:34:41 -04:00
Filipi da Silva Fuchter
a9256ebc35
Merge pull request #4075 from pipecat-ai/filipi/tts_frame_order
...
Fixing TTS frame order
2026-03-19 13:30:28 -04:00
filipi87
a0f311158d
Changelog entry for the DeepgramSageMakerTTSService improvements.
2026-03-19 11:46:49 -03:00
filipi87
d3ca034c4f
Routing the audio through the audio context queue.
2026-03-19 11:40:43 -03:00
filipi87
39425a675a
Improvements to DeepgramSageMakerTTSService.
2026-03-19 11:32:56 -03:00
filipi87
c4d1b89049
Adding changelog entry for the Sarvam fixes.
2026-03-19 11:17:39 -03:00
filipi87
fd8c6c88bb
Improvements to SarvamTTSService.
2026-03-19 11:13:17 -03:00
Paul Kompfner
57fd29f0c4
Remove changelog fragment that no longer applies after a rebase
2026-03-19 09:57:26 -04:00
Paul Kompfner
06f7da44f1
Clarify SyncParallelPipeline docstrings
...
Rewrite docstrings to more clearly explain what SyncParallelPipeline
does: hold all output until every parallel branch finishes, so frames
produced in response to a single input are released together.
2026-03-19 09:43:51 -04:00
Paul Kompfner
d702ebd6a2
Add frame_order parameter to SyncParallelPipeline
...
Adds a FrameOrder enum with ARRIVAL (default, existing behavior) and
PIPELINE (pushes frames in pipeline definition order). This lets callers
guarantee output ordering between parallel pipelines — e.g. ensuring
image frames precede audio frames — without needing a separate reordering
processor downstream.
Updates the 05-sync-speech-and-image example to use FrameOrder.PIPELINE,
removing the ImageBeforeAudioReorderer class entirely.
2026-03-19 09:43:51 -04:00
Paul Kompfner
26fc238eb7
Add changelog entry for Whisker debugger fix
2026-03-19 09:43:51 -04:00
Paul Kompfner
61ff53f2b9
Add changelog entries for PR #4029
2026-03-19 09:43:51 -04:00
Paul Kompfner
5e7639812a
Add ImageBeforeAudioReorderer to sync-speech-and-image example
...
Add a processor after SyncParallelPipeline that ensures each image frame
precedes its corresponding TTS audio frames. SyncParallelPipeline batches
them together but doesn't guarantee branch ordering. The reorderer detects
when TTS frames arrive before their image (via context_id tracking) and
holds them until the image arrives.
Also rename ImageAudioSync to MarkImageForPlaybackSync for clarity.
2026-03-19 09:43:51 -04:00
Paul Kompfner
ba779f920f
Revert a couple of logs that were changed from trace to debug just for debugging
2026-03-19 09:43:51 -04:00
Paul Kompfner
c3d6e965d8
Use TextAggregationMode.TOKEN in the 05-sync-speech-and-image
...
example since the SentenceAggregator already provides complete sentences.
2026-03-19 09:43:37 -04:00
Paul Kompfner
0f1ff16af1
Add sync_with_audio support for OutputImageRawFrame
...
Add a `sync_with_audio` field to `OutputImageRawFrame` that routes image
frames through the audio queue in the output transport, ensuring images
are only displayed after all preceding audio has been sent. This enables
proper audio/image synchronization in pipelines like the calendar month
narration example.
Update the 05-sync-speech-and-image example to use an `ImageAudioSync`
processor that sets this flag on image frames.
2026-03-19 09:41:21 -04:00
Paul Kompfner
1ede8460a2
Fix SyncParallelPipeline race condition with concurrent SystemFrame processing
...
The FrameProcessor two-queue architecture processes SystemFrames and
non-SystemFrames on separate concurrent async tasks. Both paths called
SyncParallelPipeline.process_frame(), which used the same per-pipeline
sink queues. A SystemFrame's wait_for_sync could steal frames from a
concurrent non-SystemFrame's wait_for_sync, corrupting synchronization
and stalling the pipeline.
This was triggered by the auto-embedded RTVI processor (added in
v0.0.101) which floods OutputTransportMessageUrgentFrame SystemFrames
through the pipeline during LLM responses.
Fix: SystemFrames (except EndFrame) now take a fast path — passed
through internal pipelines and pushed downstream directly without
touching the sink queues or drain logic. EndFrame retains the full
drain behavior as a lifecycle frame.
2026-03-19 09:41:21 -04:00
Paul Kompfner
463db59bb5
Minor comment typo fix
2026-03-19 09:41:21 -04:00
Paul Kompfner
0be4084683
Fix bug resulting in SyncParallelPipeline breaking the Whisker debugger
2026-03-19 09:41:21 -04:00
filipi87
8f6dfc4777
Mentioning the frame order fix in the changelog.
2026-03-19 10:26:58 -03:00
filipi87
6841c0719b
Always appending TTSTextFrame to the audio context.
2026-03-19 10:12:01 -03:00
filipi87
2836b1ea7e
Fixing the frame ordering of the AggregatedTextFrame.
2026-03-19 10:07:25 -03:00
filipi87
5fd98e1391
Fixing TTS frame order.
2026-03-19 09:43:40 -03:00
Mark Backman
ef419cd87a
Merge pull request #4073 from joachimchauvet/fix/livekit-mixer-invalidstate-log-spam
...
Suppress InvalidState log spam from audio mixer during interruptions in LiveKit transport
2026-03-19 08:39:42 -04:00
Aleix Conchillo Flaqué
8750c26cdc
Merge pull request #4080 from pipecat-ai/changelog-0.0.106
...
Release 0.0.106 - Changelog Update
2026-03-18 23:39:22 -07:00
aconchillo
3e0c536fe7
Update changelog for version 0.0.106
2026-03-18 23:36:18 -07:00
Aleix Conchillo Flaqué
7ee5fa9e20
Merge pull request #4079 from pipecat-ai/aleix/fix-tavus-dtmf-callback
...
Add missing on_dtmf_event callback to Tavus transport
2026-03-18 21:47:28 -07:00
Aleix Conchillo Flaqué
7dfcaf8096
Add missing on_dtmf_event callback to Tavus transport
...
The on_dtmf_event callback was added to DailyCallbacks in #4047 but
the Tavus transport was not updated, causing a missing argument error.
2026-03-18 21:46:06 -07:00
Chad Bailey
05157129e2
added changelog
2026-03-18 23:31:18 +00:00
Chad Bailey
4a0411cbc4
disabled single responses for gemini 3 live models
2026-03-18 23:23:45 +00:00
Chad Bailey
6cd39b8b42
updates
2026-03-18 23:04:22 +00:00
Chad Bailey
38d7882f0f
updated context seeding to allow gemini 3.1 to greet the user
2026-03-18 21:28:17 +00:00
Filipi da Silva Fuchter
4aea7784c9
Fixed the ordering of _maybe_pause_frame_processing call in TTSService ( #4071 )
...
* Fixing the invocation of pause_frame_processing at the correct time when receiving LLMFullResponseEndFrame and EndFrame.
2026-03-18 16:55:59 -04:00
Mark Backman
bad10177d4
Add WakePhraseUserTurnStartStrategy ( #4064 )
...
- Add WakePhraseUserTurnStartStrategy for gating interaction behind wake
phrase detection, with timeout and single_activation modes
- Add default_user_turn_start_strategies() and
default_user_turn_stop_strategies() helper functions
- Deprecate WakeCheckFilter in favor of the new strategy
- Extend ProcessFrameResult to stop strategies for short-circuit evaluation
- Fix MinWordsUserTurnStartStrategy including filtered text in output
2026-03-18 16:47:17 -04:00
Mark Backman
c4be513044
Improvements for Nova Sonic LLM and TTS output frames ( #4042 )
...
* Fix empty user transcription causing spurious interruption in Nova Sonic
Skip _report_user_transcription_ended() when _user_text_buffer is empty,
which happens when the initial prompt is text-only. Previously, an empty
TranscriptionFrame was pushed upstream, triggering a chain reaction:
on_user_turn_stopped → UserStartedSpeakingFrame → interruption →
premature BotStoppedSpeaking → multiple response start/stop cycles.
* Improve TextFrame and assistant end of turn logic
Now, SPECULATIVE text results are used to push the LLMTextFrame,
AggregatedTextFrame, and TTSTextFrame. Additionally, the TTSTextFrames
are push at the end of the corresponding audio segment.
* Remove BotStoppedSpeakingFrame fallback from Nova Sonic
Now that assistant response end is detected directly from Nova Sonic
contentEnd events (END_TURN and INTERRUPTED), the BotStoppedSpeakingFrame
handler is no longer needed. Inline the cleanup logic in reset_conversation.
2026-03-18 16:04:12 -04:00
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
Paul Kompfner
b1a8588209
feat: add 12- and 14d- image/video examples for OpenAI Responses
2026-03-18 15:39:06 -04:00
Paul Kompfner
5de794e1da
feat: add service_tier support to OpenAIResponsesLLMService
2026-03-18 15:29:04 -04:00
Paul Kompfner
891966346c
feat: add 55zi update-settings example for OpenAI Responses
2026-03-18 15:17:16 -04:00
Paul Kompfner
2001ab4577
feat: add 20a persistent context example for OpenAI Responses
2026-03-18 15:14:28 -04:00
Paul Kompfner
0449df828c
chore: update previous_response_id comment
2026-03-18 15:07:10 -04:00
Paul Kompfner
951bb0c1a7
feat: set store=False and add run_inference tests
...
Set store=False in Responses API calls since we send full conversation
history as input items and don't use previous_response_id.
Add 5 run_inference tests for OpenAIResponsesLLMService using real
LLMContext and adapter (only HTTP client mocked).
2026-03-18 14:47:12 -04:00
Paul Kompfner
21b1812c71
chore: add note about previous_response_id and empty input handling
2026-03-18 14:26:51 -04:00
Paul Kompfner
c4f21ef76b
test: add run_inference tests for OpenAIResponsesLLMService
...
Uses real LLMContext and adapter (only HTTP client is mocked) to test
basic inference, client exception propagation, system_instruction
override, empty context fallback, and max_tokens override.
2026-03-18 14:17:21 -04:00
Paul Kompfner
a7167ad121
test: add run_inference tests for OpenAIResponsesLLMService
...
Tests cover basic inference, client exception propagation,
system_instruction override, and max_tokens override.
2026-03-18 14:09:17 -04:00
Paul Kompfner
eaccb96454
docs: add changelog for OpenAI Responses API service
2026-03-18 11:46:49 -04:00
Paul Kompfner
45186cc4ce
feat: add OpenAI Responses API LLM service
...
Add OpenAIResponsesLLMService using the Responses API, with a dedicated
adapter that converts LLMContext messages to Responses API input items
(system→developer, tool_calls→function_call, tool→function_call_output,
multimodal content conversion, and tools schema flattening).
- New adapter: open_ai_responses_adapter.py
- New service: openai/responses/llm.py
- Examples: 07-interruptible and 14-function-calling variants
- 19 unit tests for adapter conversion logic
- Eval entries for both examples
2026-03-18 11:45:23 -04:00
joachimchauvet
0378fb0d91
fix(livekit): suppress InvalidState log spam from audio mixer during interruptions
2026-03-18 16:04:42 +02:00
Mark Backman
53388e0426
Merge pull request #4063 from pipecat-ai/mb/wake-word-start-strategy
2026-03-17 21:05:10 -04:00
Mark Backman
edf16c5533
fix: pass list-type Deepgram settings as lists instead of stringifying
...
List-valued settings like keyterm, keywords, search, redact, and replace
were being converted to strings before being passed to the SDK connect()
method. The SDK expects lists so its encode_query can produce repeated
query params (keyterm=a&keyterm=b).
2026-03-17 18:24:20 -04:00
Mark Backman
d4f69dd333
Merge pull request #4046 from pipecat-ai/mb/fix-4045
...
Fix SonioxSTTService crash when language_hints contains plain strings…
2026-03-17 16:41:11 -04:00
Mark Backman
a32f558b07
Merge pull request #4026 from pipecat-ai/mb/fix-deepgram-base-url
...
Fix DeepgramSTTService base_url forcing HTTPS/WSS schemes
2026-03-17 16:39:24 -04:00
Mark Backman
4e99cb39b0
Merge pull request #4056 from pipecat-ai/mb/fix-filter-turns-deprecation
...
Fix deprecation warning when using filter_incomplete_user_turns
2026-03-17 16:23:43 -04:00
Mark Backman
10b3bff525
Merge pull request #4058 from pipecat-ai/mb/improve-stt-tts-language-code-robustness
...
fix: resolve raw language strings through Language enum for proper service conversion
2026-03-17 16:20:12 -04:00
Mark Backman
95ee096622
Merge pull request #4057 from pipecat-ai/mb/fix-4053
...
Fix stale state in user turn stop strategies between turns
2026-03-17 16:19:31 -04:00
Mark Backman
6799995b0a
Merge pull request #4062 from pipecat-ai/mb/update-pyasn1-0.6.3
...
Update uv.lock with pyasn1 v0.6.3
2026-03-17 16:19:13 -04:00
Mark Backman
05abc95b5f
Update uv.lock with pyasn1 v0.6.3
2026-03-17 16:10:35 -04:00
Yavuz Alp Sencer ÖZTÜRK
9a55eb67cf
fix(openai): handle tool calls with empty/null arguments
...
When an LLM returns a tool call with no arguments (arguments=null in
the streaming chunks), the tool call is silently dropped because:
1. `tool_call.function.arguments` is None, so nothing is accumulated
and `arguments` stays as "" (empty string)
2. `if function_name and arguments:` treats "" as falsy, skipping the
entire tool call execution
OpenAI always sends arguments="{}" even for parameterless tools,
masking this bug. But vLLM, Ollama, and other OpenAI-compatible
providers may omit arguments entirely when the tool schema has no
required parameters, causing tool calls to be silently ignored.
Fix: check only `function_name` (not `arguments`) and default empty
arguments to "{}" so `json.loads` produces an empty dict. Apply the
same fallback for intermediate tool calls in multi-tool responses.
2026-03-17 19:44:59 +03:00
Mark Backman
18e654b3f0
docs: add changelog for #4058
2026-03-17 12:01:50 -04:00
Mark Backman
790a23d2e5
fix: resolve raw language strings through Language enum for proper service conversion
...
Raw strings like "de-DE" passed as the language parameter to TTS/STT services
were bypassing the Language enum resolution logic, causing silent failures
(e.g. ElevenLabs expects "de" not "de-DE"). Now raw strings are first converted
to Language enums so they go through the same resolve_language() path, with a
warning logged for unrecognized strings.
2026-03-17 12:00:28 -04:00
Mark Backman
d70df1d8b0
Add changelog for #4057
2026-03-17 11:35:38 -04:00
Mark Backman
5000b040dd
Fix stale state in user turn stop strategies between turns
...
Reset stop strategies at turn start (not just turn stop) so that late
transcriptions arriving between turns do not leave stale _text that
causes premature stops on the next turn. Also cancel pending timeout
tasks in reset() for both SpeechTimeout and TurnAnalyzer strategies.
2026-03-17 11:31:08 -04:00
Mark Backman
248419a7c4
Merge pull request #4050 from pipecat-ai/copilot/update-enable-dialout-to-false
...
Fix PSTN runner defaulting enable_dialout to True
2026-03-17 11:07:23 -04:00
Mark Backman
024e2ebd4e
Fix deprecation warning when using filter_incomplete_user_turns
2026-03-17 10:51:01 -04:00
Mark Backman
091f88e42e
feat: add enable_dialout parameter to configure() for dial-out rooms
...
Expose enable_dialout as a configure() parameter (default False) so
dial-out examples can opt in without needing to build DailyRoomProperties
manually.
2026-03-17 09:03:50 -04:00
Mark Backman
e11b486312
fix: clean up configure() type hints, deduplicate token expiry, and improve comment
...
Narrow misleading Optional type hints on parameters that never accept
None, extract the duplicated token_exp_duration * 60 * 60 calculation,
remove unnecessary forward-reference quotes on DailyMeetingTokenProperties,
and clarify why enable_dialout is explicitly set to False.
2026-03-17 08:54:07 -04:00
Mark Backman
f54b3c6884
Merge pull request #4048 from julienvantyghem/daily-audio-only-docstring
...
update enable_recording param documentation
2026-03-17 08:21:50 -04:00
copilot-swe-agent[bot]
7e60320a74
fix: set enable_dialout to False in PSTN runner to prevent room creation failures
...
Co-authored-by: jamsea <614910+jamsea@users.noreply.github.com >
2026-03-17 04:04:11 +00:00
copilot-swe-agent[bot]
89cb0f089e
Initial plan
2026-03-17 04:01:00 +00:00
Julien Vantyghem
e5b4403ed4
update docstring following https://github.com/pipecat-ai/pipecat/pull/3916
2026-03-16 19:54:04 -06:00
Mark Backman
a0595adbdc
Merge pull request #4012 from pipecat-ai/mb/deprecate-old-local-smart-turn
2026-03-16 21:09:26 -04:00
Mark Backman
dc1632bbac
Merge pull request #4023 from pipecat-ai/mb/update-small-webrtc-prebuilt-2.4.0
2026-03-16 21:09:08 -04:00
Mark Backman
53f49ac094
Merge pull request #4024 from pipecat-ai/mb/fix-lang-enum-stt-tts
2026-03-16 21:08:48 -04:00
Mark Backman
bf02d61418
Merge pull request #4025 from pipecat-ai/mb/fix-example-system-instruction
2026-03-16 21:07:01 -04:00
Mark Backman
154a8d1987
Merge pull request #4035 from pipecat-ai/mb/bump-pyjwt-version
2026-03-16 21:06:31 -04:00
Mark Backman
fa5b757408
Merge pull request #4044 from pipecat-ai/mb/pyopenssl-upgrade
2026-03-16 21:06:09 -04:00
Aleix Conchillo Flaqué
c765bc98d3
Merge pull request #4047 from pipecat-ai/aleix/daily-python-0.25.0-dtmf-events
...
Update daily-python to 0.25.0 and add DTMF input events
2026-03-16 18:05:10 -07:00
Aleix Conchillo Flaqué
59486d5abf
Add changelog entries for PR #4047
2026-03-16 17:58:12 -07:00
Aleix Conchillo Flaqué
5cb6aecc9f
Add DTMF input event support to Daily transport
...
Handle Daily's on_dtmf_event callback, convert it to an
InputDTMFFrame pushed into the input transport. Also add __str__
methods to InputDTMFFrame and OutputDTMFFrame for better logging.
2026-03-16 17:57:39 -07:00
Aleix Conchillo Flaqué
5c685c35d7
pyproject: update daily-python to 0.25.0
2026-03-16 17:41:44 -07:00
Aleix Conchillo Flaqué
1a1d5e6a84
Merge pull request #4006 from pipecat-ai/aleix/task-frame-flush-ordering
...
handle EndTaskFrame, StopTaskFrame and CancelTaskFrame downstream
2026-03-16 17:35:11 -07:00
Mark Backman
abb8bae6f7
Add changelog for #4046
2026-03-16 19:51:37 -04:00
Mark Backman
2801439e48
Fix OpenAI STT crash when language is a plain string instead of Language enum
2026-03-16 19:48:49 -04:00
Mark Backman
3b8d040e41
Fix SonioxSTTService crash when language_hints contains plain strings ( #4045 )
...
Refactor language_to_soniox_language to use resolve_language + LANGUAGE_MAP
pattern consistent with other services. Fix resolve_language fallback to use
str(language) instead of language.value so plain strings don't crash.
2026-03-16 19:45:03 -04:00
Mark Backman
538b9fa2d9
Bump pyopenssl in uv.lock to 26.0.0
2026-03-16 17:58:44 -04:00
dhruvladia-sarvam
8a4f6b486e
wrapper fixes
2026-03-17 02:47:47 +05:30
dhruvladia-sarvam
8745f20330
fix llm wrapper redundancy and restore run_inference parity
2026-03-15 22:24:06 +05:30
Mark Backman
b437cbe126
Merge pull request #4037 from omChauhanDev/fix/llm-switcher-timeout-secs
...
forward timeout_secs in LLMSwitcher register methods
2026-03-15 10:08:11 -04:00
Om Chauhan
ed0f5ab09b
added changelog
2026-03-15 19:15:18 +05:30
Om Chauhan
a6ad8a355b
forward timeout_secs in LLMSwitcher register methods
2026-03-15 19:10:32 +05:30
Mark Backman
e8415b7451
Add changelog for #4035
2026-03-15 08:56:54 -04:00
Mark Backman
24c3d23229
Bump PyJWT minimum version to 2.12.0 for CVE-2026-32597
...
Addresses Dependabot alert #165 (GHSA-752w-5fwx-jx9f) where PyJWT
<= 2.11.0 accepts unknown `crit` header extensions.
2026-03-15 08:53:06 -04:00
Ian Lee
3e5be23bd8
fix(inworld): close context at end of turn instead of relying on idle timeout
...
The Inworld WS TTS plugin previously relied on the base TTS service's 3-second AUDIO_CONTEXT_TIMEOUT to detect when audio was done, then sent close_context in on_audio_context_completed. This added unnecessary latency before TTSStoppedFrame was emitted.
The original implementation likely borrowed this idea from the 11labs' impelementation. But it's likely better to mirror the Cartesia plugin pattern where on_audio_context_completed is a no-op because the server signals completion directly.
Now close_context is sent in on_turn_context_completed (right after flush_context), so the server responds with contextClosed immediately after the last audio byte. The existing receive handler already calls remove_audio_context on contextClosed, which exits the audio context handler cleanly.
2026-03-13 12:52:07 -07:00
Mark Backman
2f7c441c1c
Add changelog for #4026
2026-03-13 13:55:27 -04:00
Mark Backman
79b7a0f969
Fix DeepgramSTTService base_url forcing HTTPS/WSS schemes
...
The base_url parameter previously forced wss:// and https:// schemes,
breaking air-gapped or private deployments that need ws:// or http://.
Extract URL derivation into _derive_deepgram_urls() helper that respects
the developers scheme choice while deriving the paired WebSocket and
HTTP URLs the Deepgram SDK requires.
Closes #4019
2026-03-13 13:53:06 -04:00
Mark Backman
978a1a2083
Update the system_instruction wording in the foundational examples to not mention WebRTC call
2026-03-13 12:22:10 -04:00
Mark Backman
0ec5f5e5ac
Add missing language deprecations for XTTSService, LmntTTSService
2026-03-13 11:33:59 -04:00
Garegin Harutyunyan
33f042b500
format fix.
2026-03-13 19:32:39 +04:00
Garegin Harutyunyan
0722784f3a
tests for VAD.
2026-03-13 19:30:03 +04:00
Mark Backman
1ea23ad362
Add changelog for #4024
2026-03-13 10:58:51 -04:00
Mark Backman
9f2f73b6b4
Remove redundant per-service language conversion from subclasses
...
Now that the base TTSService and STTService handle Language enum
conversion at init time, subclasses no longer need to convert in their
own __init__ methods. Remove conversion calls from hardcoded defaults,
params paths, and deprecated direct arg paths across 22 service files.
Services just pass raw Language enums and let the base class convert
via language_to_service_language() polymorphic dispatch.
2026-03-13 10:57:04 -04:00
Mark Backman
8467058e48
Fix Language enum conversion at init time in base TTS/STT services
...
When a Language enum (e.g. Language.ES) is passed via
settings=Service.Settings(language=Language.ES), it gets stored as-is
without conversion to the service-specific code. The base
_update_settings() handles this for runtime updates, but at init time
apply_update() copies the raw enum. This causes API errors because
services send the unconverted enum value.
Add language conversion in TTSService.__init__ and STTService.__init__
after super().__init__(), using the subclass language_to_service_language()
via normal method resolution.
2026-03-13 10:56:33 -04:00
Garegin Harutyunyan
cbc1c275b3
num_frames_required() implementation.
2026-03-13 18:28:22 +04:00
Mark Backman
7365ebfdf9
Add changelog for #4023
2026-03-13 10:22:58 -04:00
Garegin Harutyunyan
14ca70f13e
Fixed format issue.
2026-03-13 18:22:56 +04:00
Mark Backman
1064482ade
Update pipecat-ai-small-webrtc-prebuilt to 2.4.0
2026-03-13 10:20:51 -04:00
Garegin Harutyunyan
f7568a91b1
Draft Implementation for Krisp VIVA VAD.
2026-03-13 18:12:21 +04:00
Ian Lee
dfe5fec8f9
[inworld] prewarm context on llm response start
2026-03-12 15:34:57 -07:00
Mark Backman
ed0b8dadb5
Add changelog for #4012
2026-03-12 17:22:13 -04:00
Mark Backman
de38ca626d
Deprecate LocalSmartTurnAnalyzerV2 and LocalCoreMLSmartTurnAnalyzer
...
Both analyzers are superseded by LocalSmartTurnAnalyzerV3. Added
deprecation warnings and docstring notices following the existing
pattern from LocalSmartTurnAnalyzer.
2026-03-12 17:19:32 -04:00
kompfner
30d95e3b84
Merge pull request #4009 from pipecat-ai/pk/perplexity-message-ordering-strictness
...
Add PerplexityLLMAdapter for message ordering strictness
2026-03-12 16:51:11 -04:00
Paul Kompfner
99f28120b7
Remove trailing system→user conversion for cross-call stability
...
Perplexity appears to have statefulness within a conversation, so
converting a system message to "user" in one call and then back to
"system" in the next (after more messages are appended) causes API
errors. Remove the trailing system→user conversion entirely — if the
context only has system messages, the API call will fail but the
mistake will be caught right away.
2026-03-12 16:07:39 -04:00
Paul Kompfner
e69f5a76e1
Add test for trailing assistant+system ordering, improve docstring
...
Add test exercising the step 3 ordering where stripping a trailing
assistant exposes a system message that then gets converted to user.
Move the reasoning about when a trailing system message can occur
into the docstring.
2026-03-12 15:24:17 -04:00
Paul Kompfner
7f98cc9921
Remove initial system message merging, handle trailing system messages
...
Perplexity allows multiple initial system messages, so don't merge them.
Instead, skip system-system pairs during the consecutive same-role merge
step. Broaden the trailing message fix to convert any trailing system
message to user (not just a lone system message), so contexts with only
system messages don't fail.
2026-03-12 15:14:56 -04:00
Mark Backman
43a2d55c61
Merge pull request #4010 from pipecat-ai/mb/quickstart-cloud-build
...
Update quickstart to use cloud builds
2026-03-12 15:07:06 -04:00
Paul Kompfner
e4bf6281c6
Add changelog for #4009
2026-03-12 14:56:37 -04:00
Paul Kompfner
0373f85b85
Add PerplexityLLMAdapter to enforce Perplexity's message ordering constraints
...
Perplexity's API is stricter than OpenAI about conversation history:
- Requires strict alternation between user/tool and assistant messages
- Disallows system messages except as the initial message
- Requires the last message to be user or tool
The new adapter transforms messages before sending to satisfy all three
constraints: merging consecutive initial system messages, converting
non-initial system to user, merging consecutive same-role messages, and
removing trailing assistant messages.
Also adds dual-system-instruction warnings to Cerebras, Fireworks,
Mistral, Perplexity, and SambaNova services (matching the existing
BaseOpenAILLMService pattern), and updates the warning text in
BaseOpenAILLMService to be more descriptive.
2026-03-12 14:56:30 -04:00
Mark Backman
38a4d4ff23
Update quickstart to use cloud builds
2026-03-12 14:46:49 -04:00
Aleix Conchillo Flaqué
f6f08d19a8
Add changelog for #4006
2026-03-12 11:34:25 -07:00
Aleix Conchillo Flaqué
2eccd28cf0
handle EndTaskFrame, StopTaskFrame and CancelTaskFrame downstream
...
EndTaskFrame and StopTaskFrame are now ControlFrames instead of
SystemFrames, so they flow through the pipeline and queue behind
pending work. This prevents races where EndFrame could overtake
in-flight frames (e.g. function call responses).
CancelTaskFrame and InterruptionTaskFrame remain SystemFrames
(via new TaskSystemFrame base): since they need immediate propagation.
The sink now catches EndTaskFrame, StopTaskFrame and CancelTaskFrame
downstream and re-queues it upstream to the task, ensuring the full
pipeline drains before shutdown begins.
2026-03-12 11:34:25 -07:00
Aleix Conchillo Flaqué
374bfd4068
Merge pull request #4007 from pipecat-ai/aleix/fix-parallel-pipeline-flush-and-tts-stop-order
...
Fix ParallelPipeline flush ordering and TTS stop sequence
2026-03-12 10:21:31 -07:00
Aleix Conchillo Flaqué
a461b2b9e6
Add changelog entries for PR #4007
2026-03-12 10:16:29 -07:00
Aleix Conchillo Flaqué
1a66bdef8e
Fix TTS stop ordering to drain audio contexts before canceling
...
Wait for _audio_context_task to finish draining the contexts queue
before canceling _stop_frame_task, ensuring all pending audio
contexts are processed during shutdown.
2026-03-12 10:16:29 -07:00
Aleix Conchillo Flaqué
73a56f5d81
Fix ParallelPipeline flush ordering and buffered frame handling
...
Flush buffered frames before pushing the synchronization frame so
downstream processors see the buffered frames first. Switch to a
while-loop with pop(0) so frames added to the buffer during flush
are also drained.
2026-03-12 10:16:29 -07:00
kompfner
383300979d
Merge pull request #4004 from pipecat-ai/pk/service-settings-update-frame-can-target-specific-service
...
Add optional `service` field to `ServiceUpdateSettingsFrame` for targ…
2026-03-12 11:48:41 -04:00
Paul Kompfner
27b686db8c
Don't bother honoring the new LLMUpdateSettingsFrame.service field in the deprecated OpenAIRealtimeBetaLLMService
2026-03-12 11:04:49 -04:00
Mark Backman
3ffa72170b
Merge pull request #3457 from ahoshaiyan/fix/reduce-tool-result-context-size
...
Reduce Tool Result Context Size by Using UTF-8 for JSON Serialization
2026-03-12 10:41:33 -04:00
Mark Backman
1fe1f0f439
Apply ensure_ascii=False to remaining LLM services and fix changelog format
2026-03-12 10:35:19 -04:00
Ali Alhoshaiyan
765fbeec63
Add changelog
2026-03-12 10:35:19 -04:00
Ali Alhoshaiyan
84538b0ca8
Reduce Call Tool Result Context Size by Allowing UTF-8 in JSON Serialization
2026-03-12 10:35:19 -04:00
Mark Backman
1c676c2073
Merge pull request #4005 from pipecat-ai/add-sip-provider-room-geo-to-configure
...
Add sip_provider and room_geo params to configure()
2026-03-12 09:28:28 -04:00
Mark Backman
bf66ae7e46
Add changelog for #4005
2026-03-12 09:22:31 -04:00
Varun Singh
7a7d600985
Add sip_provider and room_geo parameters to configure()
...
Add convenience parameters to configure() so callers don't need to
manually construct DailyRoomProperties/DailyRoomSipParams for common
SIP provider and geo configuration.
2026-03-11 21:50:10 -07:00
Paul Kompfner
36b57252b4
Add changelog for PR #4004
2026-03-11 21:47:51 -04:00
Paul Kompfner
65e4e365dc
Add optional service field to ServiceUpdateSettingsFrame for targeting a specific service instance
...
When `service` is set and doesn't match, the service forwards the frame instead of consuming it. This allows targeting a specific service when multiple services of the same type exist in the pipeline.
2026-03-11 21:41:43 -04:00
kompfner
36f9a6d809
Merge pull request #4003 from pipecat-ai/pk/fix-deprecated-vad-analyzer-usage
...
Fix deprecated vad_analyzer usage in examples
2026-03-11 20:55:39 -04:00
Mark Backman
904331bba1
Merge pull request #4001 from pipecat-ai/mb/simli-settings
...
Migrate SimliVideoService to AIService with Settings pattern
2026-03-11 17:45:59 -04:00
Mark Backman
11b14b7857
Add changelog for PR #4001
2026-03-11 17:40:53 -04:00
Mark Backman
c0a3cdd35c
Merge pull request #4002 from pipecat-ai/mb/update-quickstart-0.0.105
...
Update quickstart example for 0.0.105
2026-03-11 17:39:07 -04:00
Paul Kompfner
69e7677f4f
Remove changelog for #4003
2026-03-11 17:33:20 -04:00
Paul Kompfner
9a0568e6fe
Add changelog for #4003
2026-03-11 17:32:39 -04:00
Paul Kompfner
ccc2549c0c
Broaden the vad_analyzer deprecation warning in BaseInputTransport to account for use-cases where there is no LLMUserAggregator at play
2026-03-11 17:28:26 -04:00
Paul Kompfner
e456a6bb23
Move away from remaining deprecated TransportParams.vad_analyzer usage in example files. Skip updates to deprecated services.
2026-03-11 17:17:40 -04:00
Mark Backman
2d9dc2fa1c
Update quickstart example for 0.0.105
2026-03-11 17:12:59 -04:00
Mark Backman
59dc30a84d
Merge pull request #3997 from pipecat-ai/mb/sarvam-package-0.1.26
...
Update sarvamai dependency from 0.1.26a2 to 0.1.26
2026-03-11 16:59:32 -04:00
Mark Backman
a54aa2d1f8
Migrate SimliVideoService to AIService with Settings pattern
...
Align Simli with HeyGen/Tavus by extending AIService instead of
FrameProcessor and using a ServiceSettings dataclass. InputParams is
preserved but deprecated; its fields are promoted to direct init params.
Lifecycle handling moves to start()/stop()/cancel() methods.
2026-03-11 16:56:41 -04:00
Mark Backman
3ceff3d5fd
Merge pull request #4000 from pipecat-ai/mb/fix-openai-default-model
...
Fix: Restore default model to gpt-4.1 for OpenAI, Azure
2026-03-11 16:29:51 -04:00
kompfner
52057d628e
Merge pull request #3999 from pipecat-ai/pk/camb-voice-int
...
Override CambTTSSettings.voice type from str to int to match Camb.ai'…
2026-03-11 16:18:59 -04:00
Mark Backman
4a45145cba
Restored the default model to gpt-4.1 for OpenAI and Azure LLM services
...
The default model for OpenAILLMService and AzureLLMService was still set
to gpt-4o. Restored it to gpt-4.1. Also, removed hardcoded gpt-4o/gpt-4o-mini
model references from examples so they pick up the new default.
2026-03-11 16:18:47 -04:00
Paul Kompfner
080ed22ff5
Override CambTTSSettings.voice type from str to int to match Camb.ai's integer voice IDs
2026-03-11 15:44:05 -04:00
Mark Backman
71e6158861
Add changelog for PR #3997
2026-03-11 14:18:47 -04:00
Mark Backman
a9e124b84f
Update sarvamai dependency from 0.1.26a2 to 0.1.26
...
Bump the Sarvam AI SDK to the stable release version.
2026-03-11 14:17:40 -04:00
kompfner
65561a1d83
Merge pull request #3996 from pipecat-ai/pk/prefer-nested-settings-alias
...
Prefer nested settings alias
2026-03-11 13:41:29 -04:00
Paul Kompfner
e5b60ba095
Make deprecated-init-param warnings recommend the preferred Service.Settings(...) pattern
...
Move the warning helper into AIService as _warn_init_param_moved_to_settings.
It now uses type(self).__name__ to produce messages like
"Use settings=AnthropicLLMService.Settings(model=...)" instead of the raw
settings class name "AnthropicLLMSettings(model=...)". Callers no longer need
to pass the settings class explicitly.
2026-03-11 13:04:15 -04:00
Paul Kompfner
eb9212f152
Update COMMUNITY_INTEGRATIONS.md code sample to prefer Settings alias over raw settings class name
2026-03-11 12:37:43 -04:00
Paul Kompfner
51a8a28a99
Prefer Service.ThinkingConfig over raw ThinkingConfig class names in Anthropic and Google services and examples
2026-03-11 12:34:10 -04:00
Paul Kompfner
6b168d6bbb
Prefer Service.Settings over raw settings class names across all services
...
Replace direct references to settings class names (e.g. `FooSettings`) with the nested `Settings` alias form throughout all 87 service files:
- Type annotations: `Settings`
- Runtime code: `self.Settings`
- Docstrings: `ServiceClass.Settings`
- Cross-file inheritance: `ParentService.Settings`
This makes the `Settings` alias the canonical way to reference a service's settings, keeping only the class definition and alias assignment as the remaining hits for each raw settings class name.
2026-03-11 12:15:00 -04:00
kompfner
cbb4835e7b
Merge pull request #3991 from pipecat-ai/pk/fix-out-of-date-docstrings
...
Fix out of date docstrings
2026-03-11 10:54:40 -04:00
Paul Kompfner
3cbd27d202
Add changelog for PR #3991
2026-03-11 10:44:15 -04:00
Paul Kompfner
42262d10bb
Move OpenAIRealtimeSTTService's noise_reduction into its Settings object, as it might be useful to update it at runtime, and fix outdated OpenAIRealtimeSTTService docstring example
2026-03-11 10:44:15 -04:00
Paul Kompfner
df82df8e39
Fix outdated Google + Gemini TTS service docstring examples
2026-03-11 10:14:18 -04:00
Paul Kompfner
0ebcb55582
Fix outdated DeepgramSageMakerTTSService docstring example
2026-03-11 10:11:26 -04:00
Paul Kompfner
264ce681f7
Fix outdated DeepgramSageMakerSTTService docstring example
2026-03-11 10:10:15 -04:00
Paul Kompfner
916936d3ee
Fix outdated Sarvam TTS docstring examples
2026-03-11 10:07:07 -04:00
Paul Kompfner
087abc9bb9
Fix outdated CambTTSService docstring example
2026-03-11 10:03:21 -04:00
Aleix Conchillo Flaqué
7e88b13421
Merge pull request #3983 from pipecat-ai/changelog-0.0.105
...
Release 0.0.105 - Changelog Update
2026-03-10 17:59:02 -07:00
aconchillo
610dc25fb1
Update changelog for version 0.0.105
2026-03-10 17:58:32 -07:00
Aleix Conchillo Flaqué
327bcfa8d2
Merge pull request #3982 from pipecat-ai/aleix/fix-examples
...
Fix Groq, Google, and Nvidia examples
2026-03-10 17:37:26 -07:00
Aleix Conchillo Flaqué
4c19337d89
Fix examples: Groq model, Google settings class, Nvidia system instruction
2026-03-10 15:29:52 -07:00
dhruvladia-sarvam
dc0386937a
Initial
2026-03-11 02:27:57 +05:30
Aleix Conchillo Flaqué
a4310d4335
Merge pull request #3980 from pipecat-ai/aleix/move-google-vertex-openai
...
Move Google Vertex and OpenAI LLM modules to subpackages
2026-03-10 13:37:02 -07:00
Aleix Conchillo Flaqué
23218aaed7
Add changelog for #3980
2026-03-10 13:04:16 -07:00
Aleix Conchillo Flaqué
7be2c43e1d
Update imports to use new google.gemini_live.vertex path
2026-03-10 13:00:31 -07:00
Aleix Conchillo Flaqué
ea09586db6
Add deprecation stub for google/gemini_live/llm_vertex.py
2026-03-10 13:00:02 -07:00
Aleix Conchillo Flaqué
d086b9f138
Move google/gemini_live/llm_vertex.py to google/gemini_live/vertex/llm.py
2026-03-10 12:59:36 -07:00
Aleix Conchillo Flaqué
b23652caa6
Update imports to use new google.vertex and google.openai paths
2026-03-10 12:58:04 -07:00
Aleix Conchillo Flaqué
4fa3890cec
Add deprecation stub for google/llm_openai.py
2026-03-10 12:55:16 -07:00
Aleix Conchillo Flaqué
8ea006739c
Move google/llm_openai.py to google/openai/llm.py
2026-03-10 12:54:37 -07:00
Aleix Conchillo Flaqué
b159d02b0c
Add deprecation stub for google/llm_vertex.py
2026-03-10 12:54:05 -07:00
Aleix Conchillo Flaqué
0df421de9c
Move google/llm_vertex.py to google/vertex/llm.py
2026-03-10 12:53:13 -07:00
Aleix Conchillo Flaqué
ed5b061716
Merge pull request #3979 from pipecat-ai/aleix/daily-optional-transcription-settings
...
Clean up start_transcription to use its settings parameter
2026-03-10 12:51:31 -07:00
kollaikal-rupesh
80bd935c19
Add ServiceSwitcherStrategyFailover for automatic failover on service errors ( #3870 )
...
* Add ServiceSwitcherStrategyFailover for automatic error-based service switching
Introduce a strategy hierarchy: ServiceSwitcherStrategy (base) →
ServiceSwitcherStrategyManual (handles ManuallySwitchServiceFrame) →
ServiceSwitcherStrategyFailover (adds error-based failover). ServiceSwitcher
now defaults to ServiceSwitcherStrategyManual with strategy_type optional.
Non-fatal ErrorFrames are forwarded to the strategy via handle_error().
* Move metadata request into _set_active_if_available
Requesting metadata is part of making a service active, so it belongs
alongside setting _active_service and firing on_service_switched. This
removes the duplicate queue_frame calls from ServiceSwitcher push_frame
and process_frame.
2026-03-10 15:37:30 -04:00
Mark Backman
43a9e9a1b5
Merge pull request #3899 from pipecat-ai/mb/tracing-service-settings-comment
...
Add defensive comment for given_fields() usage in tracing
2026-03-10 15:33:57 -04:00
Aleix Conchillo Flaqué
11a0c11050
Fix start_transcription ignoring its settings argument
...
DailyTransportClient.start_transcription() accepted a settings
parameter but always used self._params.transcription_settings
instead, silently discarding any custom settings passed by callers.
2026-03-10 12:08:53 -07:00
Aleix Conchillo Flaqué
4a2d57511d
Make DailyParams.transcription_settings optional
...
Change transcription_settings to Optional[DailyTranscriptionSettings]
defaulting to None. The default settings are now applied at the call
site when transcription is started, and start_transcription receives
the serialized settings dict directly.
2026-03-10 11:55:38 -07:00
Aleix Conchillo Flaqué
743e2ac277
Merge pull request #3831 from pipecat-ai/aleix/custom-video-tracks
...
Replace VirtualCameraDevice with CustomVideoTrack + custom video track support
2026-03-10 11:44:29 -07:00
Aleix Conchillo Flaqué
86597cc9ec
Add changelog entries for PR #3831
2026-03-10 11:32:16 -07:00
Aleix Conchillo Flaqué
14dd028b8f
Add custom video track example with per-track params
2026-03-10 11:32:16 -07:00
Aleix Conchillo Flaqué
18e99123af
Replace VirtualCameraDevice with CustomVideoTrack and add custom video track support
...
Use CustomVideoSource/CustomVideoTrack for the default camera output instead of
VirtualCameraDevice, mirroring how audio already uses CustomAudioSource/CustomAudioTrack.
Add support for custom video destinations (register_video_destination, add/remove
custom video tracks, routing in write_video_frame) so multiple video tracks can be
published simultaneously.
2026-03-10 11:32:16 -07:00
kompfner
6c4a46dc79
Merge pull request #3978 from pipecat-ai/pk/fix-inaccurate-comment
...
Fix an out-of-date comment for accuracy. In the OpenAI LLM service, w…
2026-03-10 14:29:39 -04:00
Mark Backman
9b26faff05
Merge pull request #3961 from ai-coustics/goekmengoergen/sys-663-re-enable-enhancement-level-feature-on-pipecat
...
Add enhancement_level support to `AICFilter`.
2026-03-10 14:24:15 -04:00
Paul Kompfner
3790640322
Fix an out-of-date comment for accuracy. In the OpenAI LLM service, we *don't* replace any context system messages with system instructions from the constructor.
2026-03-10 13:59:01 -04:00
Aleix Conchillo Flaqué
c25d5af8c8
Merge pull request #3970 from pipecat-ai/aleix/update-daily-python
...
Update daily-python to 0.24.0
2026-03-10 10:49:27 -07:00
Aleix Conchillo Flaqué
6e52623959
Merge pull request #3976 from pipecat-ai/aleix/fix-google-system-instruction-priority
...
Fix Google LLM system instruction priority
2026-03-10 10:48:28 -07:00
Mark Backman
912f1be31c
Add system_instruction parameter to run_inference ( #3968 )
...
* Add system_instruction parameter to run_inference
Allow callers to provide a custom system instruction directly when calling
run_inference, without having to construct provider-specific context objects.
For OpenAI, the instruction is prepended as a system message (preserving
existing messages). For Anthropic, Google, and AWS Bedrock, it overrides the
single system field with a warning when an existing system instruction is
present in the context.
* Use system_instruction parameter in _generate_summary
Pass the summarization prompt via run_inference's system_instruction
parameter instead of embedding it as a system message in the context.
* Add changelog for #3968
2026-03-10 12:57:23 -04:00
Mark Backman
0817a57f4c
Merge pull request #3974 from pipecat-ai/mb/azure-stt-region-optional
...
Make Azure STT region optional when private_endpoint is used
2026-03-10 12:31:39 -04:00
Aleix Conchillo Flaqué
db27aaa790
Add changelog for #3976
2026-03-10 09:26:26 -07:00
Aleix Conchillo Flaqué
153705f05b
Fix Google LLM system instruction priority
...
Constructor/settings system_instruction now takes priority over the
context system message. Previously the context value would overwrite
the constructor value on every call. Warn when both are set.
2026-03-10 09:25:42 -07:00
Mark Backman
54c767cce3
Merge pull request #3960 from sysradium/fix-realtime-calls
...
Treat conversation_already_has_active_response as non-fatal in Realtime API
2026-03-10 11:40:34 -04:00
Mark Backman
2ce9179662
Merge pull request #3958 from pipecat-ai/mb/deepgram-tts-audio-context
...
Route Deepgram WebSocket TTS audio through audio context queue
2026-03-10 11:37:39 -04:00
Mark Backman
50cc01a578
Guard against None context ID in append_to_audio_context
...
After interruption, both _playing_context_id and _turn_context_id are
None. If a subclass calls append_to_audio_context(None, frame), the
recovery path matches (None == None) and creates a bogus audio context
that blocks the handler from ever processing the real context.
Early-return when context_id is falsy to prevent this.
2026-03-10 11:34:03 -04:00
Mark Backman
d5c0789ab5
Add changelog for #3958
2026-03-10 11:34:03 -04:00
Mark Backman
92b5185165
Route Deepgram WebSocket TTS audio through audio context queue
...
The Deepgram TTS service was bypassing pipecats audio context management
system, pushing audio frames directly via push_frame() instead of routing
them through append_to_audio_context(). This caused stale audio to leak
into the pipeline after interruptions and missed ordered playback
guarantees.
- Route audio frames through append_to_audio_context() with context
availability checks to discard stale post-interruption frames
- Handle Flushed responses by appending TTSStoppedFrame and removing
the audio context to signal completion
- Replace _handle_interruption override with on_audio_context_interrupted
hook (the recommended pattern used by ElevenLabs and Cartesia)
- Remove redundant process_frame override that caused double-flush
(base class already flushes via on_turn_context_completed)
- Remove redundant start_tts_usage_metrics call (base class handles
aggregated usage metrics)
2026-03-10 11:34:03 -04:00
sysradium
ba0ebd5525
Treat conversation_already_has_active_response as non-fatal in Realtime API
2026-03-10 15:57:55 +01:00
Gökmen Görgen
3a6f848a5b
update test description.
2026-03-10 14:54:49 +01:00
kompfner
c660152a84
Merge pull request #3966 from pipecat-ai/pk/add-some-more-missing-55-examples
...
Add missing 55-* update-settings examples for OpenPipe LLM and XTTS TTS
2026-03-10 09:45:58 -04:00
Gökmen Görgen
a96702acfc
fix test.
2026-03-10 14:41:18 +01:00
Gökmen Görgen
780559dc32
address feedback.
2026-03-10 14:23:00 +01:00
Gökmen Görgen
8e1c8a38e4
don't change enhancement level if bypass toggled.
2026-03-10 14:18:45 +01:00
Gökmen Görgen
483f6689ed
address feedback, use one logging.
2026-03-10 13:52:13 +01:00
Gökmen Görgen
bc11bf9673
remove _is_filter_enabled from AICFilter and refactor related logic and tests.
2026-03-10 13:48:32 +01:00
Gökmen Görgen
82b300298a
add changelog.
2026-03-10 13:36:15 +01:00
Gökmen Görgen
0c87fcc48c
re-add bypass parameter support to AICFilter and update related unit tests.
2026-03-10 13:36:15 +01:00
Gökmen Görgen
df64f3f943
add enhancement_level support to AICFilter.
...
# Conflicts:
# src/pipecat/audio/filters/aic_filter.py
2026-03-10 13:36:15 +01:00
Mark Backman
db22bf0f75
Merge pull request #3973 from yuki901/fish-audio-s2-pro
...
Update Fish Audio default model from s1 to s2-pro
2026-03-10 07:57:27 -04:00
Mark Backman
edc65fc45e
Add changelog for #3974
2026-03-10 07:48:02 -04:00
Mark Backman
233867fdfb
Make region optional and validate Azure STT config
...
Make `region` optional so users can provide only `private_endpoint`.
Raise ValueError if neither is provided, and warn if both are given
(private_endpoint takes priority).
2026-03-10 07:47:05 -04:00
yukiobata1
ceb53e044b
Add changelog for #3973
2026-03-10 19:29:47 +09:00
yukiobata1
c7ef23dd22
Update Fish Audio default model from s1 to s2-pro
2026-03-10 18:22:20 +09:00
Kinshuk Bairagi
9cc2644719
Improve system message extraction in traced_llm
...
Enhanced the logic for extracting the system message in the traced_llm decorator to support LLMContext via adapter and handle exceptions gracefully. This improves compatibility with different context types and ensures better tracing information.
2026-03-10 11:23:29 +05:30
Aleix Conchillo Flaqué
d79e35d84f
Add changelog for #3970
2026-03-09 20:47:42 -07:00
Aleix Conchillo Flaqué
00eb190424
Update daily-python to 0.24.0
2026-03-09 20:47:13 -07:00
Mark Backman
0dc95692ba
Merge pull request #3967 from pipecat-ai/mb/fix-azure-stt-private-endpoint
2026-03-09 21:57:10 -04:00
Mark Backman
07b901c2a5
Add changelog for #3967
2026-03-09 15:05:20 -04:00
Mark Backman
f533dc3203
Fix Azure STT SpeechConfig failing when private_endpoint is provided
...
SpeechConfig does not accept both `region` and `endpoint` simultaneously —
they are mutually exclusive. The previous code always passed both, which
raises ValueError when a user supplies a private_endpoint URL. Now we
conditionally pass either `endpoint` or `region`, never both.
2026-03-09 15:05:20 -04:00
Paul Kompfner
20c3f553b2
Add missing 55-* update-settings examples for OpenPipe LLM and XTTS TTS
2026-03-09 14:36:15 -04:00
kompfner
02791cd503
Merge pull request #3965 from pipecat-ai/pk/fix-integration-tests
...
Fix broken `test_unified_function_calling_anthropic` due to use of an…
2026-03-09 13:42:35 -04:00
kompfner
f2debd9b1d
Merge pull request #3963 from pipecat-ai/pk/improve-claude-changelog-skill
...
Improve changelog skill: prioritize user-facing language and update e…
2026-03-09 13:00:32 -04:00
kompfner
c0c49d0ddc
Merge pull request #3964 from pipecat-ai/pk/add-some-missing-55-examples
...
Add missing 55-* update-settings examples for Piper TTS, Kokoro TTS, …
2026-03-09 12:59:36 -04:00
Mark Backman
3d1f866e73
Merge pull request #3951 from pipecat-ai/mb/remove-unused-imports-2026-03-07
...
Remove unused imports, 2026-03-07
2026-03-09 12:49:08 -04:00
Mark Backman
786279f143
Remove unused imports, 2026-03-07
2026-03-09 12:44:47 -04:00
Paul Kompfner
9423d22051
Fix broken test_unified_function_calling_anthropic due to use of an unsupported/deprecated model.
...
Update the tests in test_integration_unified_function_calling.py to not specify particular models but instead just use service defaults (the tests shouldn't be model-dependent anyway)
2026-03-09 12:07:56 -04:00
Paul Kompfner
f1bb065823
Add missing 55-* update-settings examples for Piper TTS, Kokoro TTS, Whisper STT, and Whisper MLX STT
...
Also fix 13e-whisper-mlx.py to pass MLXModel.LARGE_V3_TURBO.value instead of the enum directly.
2026-03-09 11:54:25 -04:00
Filipi da Silva Fuchter
0c5e936aa5
Merge pull request #3936 from pipecat-ai/filipi/fix_push_aggregation
...
Fixed TTS context not being appended to the assistant message history
2026-03-09 11:14:38 -04:00
filipi87
f0c5925a79
Fixing Piper test.
2026-03-09 12:07:45 -03:00
Paul Kompfner
7f9169269c
Improve changelog skill: prioritize user-facing language and update example changelog
2026-03-09 10:45:33 -04:00
Mark Backman
c16e534f73
Merge pull request #3952 from pipecat-ai/mb/settings-alias
...
Add Settings class attribute alias to all service classes
2026-03-09 10:45:10 -04:00
filipi87
8ec160f71e
Making the changelog more user friendly.
2026-03-09 11:37:11 -03:00
Filipi da Silva Fuchter
1e615cd095
Merge pull request #3962 from pipecat-ai/filipi/smallwebrtc_queue
...
Queuing the messages received before the data channel is ready
2026-03-09 10:29:05 -04:00
filipi87
ba87d1609c
Only marking self._is_yielding_frames_synchronously if receiving TTSAudioRawFrame
2026-03-09 11:24:36 -03:00
Mark Backman
f7dc13c0de
Update COMMUNITY_INTEGRATIONS.md for Settings alias class
2026-03-09 10:24:24 -04:00
filipi87
c5ce667387
Retrieving the context_id from the TTSStartedFrame
2026-03-09 11:10:42 -03:00
filipi87
097f9c0896
Fixed to push LLMAssistantPushAggregationFrame when the base TTSService class is responsible for pushing the TTSStoppedFrame.
2026-03-09 11:04:09 -03:00
Filipi da Silva Fuchter
16336a3ea4
Merge pull request #3937 from pipecat-ai/filipi/fix_orphan_function_call
...
Fix context summarization leaving orphaned tool responses in kept context.
2026-03-09 09:19:17 -04:00
Mark Backman
9eaa99c8e2
Merge pull request #3957 from pipecat-ai/mb/user-turn-completion-system-instruction
...
Move turn completion instructions to system_instruction
2026-03-09 09:17:06 -04:00
filipi87
4557ef8c42
Renaming method to _get_earliest_function_call_not_resolved_in_range
2026-03-09 10:16:02 -03:00
filipi87
aa693bb5ee
Adding changelog entry for the SmallWebRTCConnection fix.
2026-03-09 10:11:40 -03:00
filipi87
74a06a6968
Adding extra comment.
2026-03-09 10:06:38 -03:00
filipi87
322e317a00
Adding guardrails in case the data channel is never established.
2026-03-09 10:04:33 -03:00
filipi87
25165d6e2b
Queuing the messages received before the data channel is ready to send them.
2026-03-09 09:47:45 -03:00
Mark Backman
8a02e6fbc5
Merge pull request #3959 from ajmeraharsh/fix/livekit-call-state-updated-args
...
fix(livekit): remove redundant self arg in on_call_state_updated
2026-03-09 08:38:12 -04:00
Mark Backman
d85ba75dda
Merge pull request #3953 from pipecat-ai/mb/deepgram-flux-on-the-fly
...
Add on-the-fly Configure support for Deepgram Flux STT
2026-03-09 08:36:00 -04:00
ajmeraharsh
ae6f159b18
chore: add changelog entry for #3959
2026-03-09 09:15:03 +04:00
Aleix Conchillo Flaqué
30d0cccef0
Merge pull request #3947 from pipecat-ai/aleix/summary-applied-event
...
Expose on_summary_applied event on LLMAssistantAggregator
2026-03-08 19:05:50 -07:00
Aleix Conchillo Flaqué
3b947b7844
Add changelog for #3947
2026-03-08 19:02:51 -07:00
Aleix Conchillo Flaqué
1f8cc3d216
Expose on_summary_applied event on LLMAssistantAggregator
...
Forward the on_summary_applied event from the internal summarizer to
the aggregator so users can listen for it without accessing private
members. Update summarization examples to use the new public event.
2026-03-08 19:02:51 -07:00
ajmeraharsh
57c4d72bf0
fix(livekit): remove redundant self arg in on_call_state_updated event
...
_on_call_state_updated passes (self, state) to _call_event_handler,
but _run_handler already prepends self when invoking the handler.
This causes handlers to receive 3 positional arguments instead of 2,
making the on_call_state_updated event unusable.
This aligns with how _on_first_participant_joined correctly passes
only the data arg without self.
2026-03-09 02:51:35 +04:00
Mark Backman
64155e8f06
Add changelog for #3957
2026-03-08 10:44:45 -04:00
Mark Backman
efda57de5c
Move turn completion instructions to system_instruction
...
Turn completion instructions were being injected as a system message in
the LLM context, which caused warning spam when system_instruction was
also set, did not persist across full context updates, and broke LLMs
that do not support consecutive system messages.
Instead, compose the turn completion instructions into the LLM service
system_instruction field. This is managed via _base_system_instruction
which stores the original value for restoration when turn completion is
disabled.
2026-03-08 10:41:40 -04:00
Mark Backman
764c3c4f32
Merge pull request #3938 from koriyoshi2041/fix/replace-bare-except-handlers
...
fix: replace bare except handlers with specific exception types
2026-03-08 09:04:49 -04:00
Mark Backman
a32e0be120
Merge pull request #3956 from radhikagpt1208/fix/turn-completion-mixin-state-reset
...
Fix turn completion mixin not resetting state when no `InterruptionFrame` is emitted
2026-03-08 08:54:34 -04:00
radhikagpt1208
b14c8e0e94
Fix turn completion mixin not resetting state after each LLM response
2026-03-08 08:46:45 -04:00
kigland
57f0b6d75b
fix: address review feedback on exception handling
...
- mcp_service.py: remove unnecessary try/except around debug log,
use len(available_tools.tools) to match actual iteration target
- bedrock_adapter.py, aws/llm.py: add AttributeError to except tuple
to handle None content (previously caught by bare except)
2026-03-08 12:28:03 +08:00
Mark Backman
edd568b002
Merge pull request #3954 from pipecat-ai/mb/revert-quickstart-changes
...
Revert changes to quickstart
2026-03-07 15:49:30 -05:00
Mark Backman
807759b874
Revert changes to quickstart
2026-03-07 15:44:26 -05:00
Mark Backman
cd28c82de3
Update examples to use the class Settings alias
2026-03-07 09:15:24 -05:00
Mark Backman
4ebdacdea2
Add changelog for #3953
2026-03-07 08:48:11 -05:00
Mark Backman
c5da3cf2bd
Add on-the-fly Configure support for Deepgram Flux STT
...
Wire up the existing settings update infrastructure to send a Configure
WebSocket message when keyterm, eot_threshold, eager_eot_threshold, or
eot_timeout_ms change mid-stream, avoiding a full reconnect.
2026-03-07 08:37:27 -05:00
Mark Backman
26631a9c31
Add Settings class attribute alias to all service classes
...
Add a `Settings` class-level alias on every STT, LLM, TTS, image,
vision, and video service class pointing to its settings dataclass.
This lets developers discover the right settings class via the service
class itself (e.g. `GoogleSTTService.Settings(...)`) without needing
to know or import the separate settings class name.
2026-03-07 08:17:40 -05:00
Mark Backman
fdf9fb6f02
Merge pull request #3946 from pipecat-ai/mb/tts-settings-review
...
Review TTS settings
2026-03-07 07:48:26 -05:00
Mark Backman
1cfaea2007
Address code review feedback
2026-03-07 07:42:42 -05:00
kompfner
dc97ffc909
Merge pull request #3943 from pipecat-ai/pk/llm-settings-updates
...
Minor findings from auditing LLM settings
2026-03-06 22:39:22 -05:00
Paul Kompfner
622d9279cb
Use exact service class names in LLMSettings docstrings
2026-03-06 22:35:55 -05:00
Paul Kompfner
6088e6eb52
Make budget_tokens optional in AnthropicThinkingConfig
...
budget_tokens is required when type is "enabled" and rejected when type is "disabled" (this is validated by the server)
2026-03-06 22:32:14 -05:00
Paul Kompfner
256c8f87b4
Add missing step 3 comment to LLM service init methods
...
Adds the explicit "no params object" step 3 comment to all
LLM services that skip from step 2 to step 4 in their
settings initialization sequence, matching the pattern
established in services that do have a params object.
2026-03-06 22:32:14 -05:00
Mark Backman
f630d79900
Merge pull request #3944 from pipecat-ai/mb/gemini-live-settings-examples-fixes
2026-03-06 22:14:32 -05:00
Mark Backman
ec93cd1d51
Fix settings update handling in additional STT services
2026-03-06 21:52:45 -05:00
Mark Backman
9c42d27f4d
Support runtime language updates in Azure STT
...
Extract recognizer setup/teardown into _connect/_disconnect so
_update_settings can reconnect when language changes at runtime.
2026-03-06 21:07:03 -05:00
Mark Backman
536f1e178a
Fix race condition in Deepgram STT disconnect causing error flood
...
Clear self._connection before sending close stream so run_stt stops
sending audio immediately during the WebSocket close handshake.
2026-03-06 21:01:31 -05:00
Mark Backman
750b87dc24
Fix AWS examples, update to sonnet 4.6
2026-03-06 20:53:22 -05:00
Mark Backman
671e9a6846
TTS service and example updates
2026-03-06 20:53:22 -05:00
Mark Backman
2c85d2056c
Examples fixes for Gemini Live
2026-03-06 18:42:22 -05:00
Mark Backman
a97a086dbd
Fix GeminiLiveLLMService init referencing undefined _params variable
...
Replace references to undefined `_params` with `self._settings` for
language and VAD config. Add missing `system_instruction` to default
settings to satisfy validate_complete(). Remove redundant line that
read language from the deprecated `params` arg.
2026-03-06 18:41:54 -05:00
Mark Backman
4ed3480e4b
Update TTSSettings docstrings with the corresponding class name(s)
2026-03-06 16:40:38 -05:00
Mark Backman
d59c0ea6c1
Merge pull request #3941 from pipecat-ai/mb/stt-settings-updates
...
STT services: settings and examples fixes
2026-03-06 15:21:30 -05:00
Mark Backman
7d41049b35
Review feedback, clarify corresponding class in STTSettings docstrings
2026-03-06 15:17:02 -05:00
Mark Backman
6431ad8e2a
Fix service settings init ordering and example bugs
...
- Speechmatics: move config build after super().__init__ and settings
delta so turn_detection_mode (e.g. ADAPTIVE) takes effect
- Google STT: fix example passing bare Language enum instead of list
- Google TTS: add missing explicit defaults for all custom settings fields
- Soniox: fix accidental tuple wrapping of STT service in example
- Speechmatics examples: fix system->user role in kick-off messages
- Deepgram Flux: move tag from settings to __init__ (billing metadata)
- ElevenLabs STT: default tag_audio_events to None (use API default)
- Fal STT: simplify language default handling
- Google TTS: rename GoogleStreamTTSSettings to GoogleTTSSettings
2026-03-06 15:17:01 -05:00
Mark Backman
c3794956ef
Add deprecation version, fix foundational example double system message
2026-03-06 15:16:58 -05:00
Mark Backman
940da9eeeb
Add vad_threshold to AssemblyAISTTSettings
...
Wire vad_threshold through Settings, default_settings, the deprecated
connection_params path, and _build_ws_url query params.
2026-03-06 15:16:10 -05:00
Mark Backman
696e431e96
Broaden Service Settings docs to cover all AI service types
...
Use "AI service" language instead of listing specific types, add
ServiceSettings as a fallback for direct AIService subclasses, and
clarify delta mode description with a concrete frame example.
2026-03-06 15:16:10 -05:00
kompfner
1a1c5668de
Merge pull request #3942 from pipecat-ai/pk/aws-nova-sonic-audio-config
...
Add AudioConfig class to AWSNovaSonicLLMService for non-deprecated au…
2026-03-06 14:58:22 -05:00
Filipi da Silva Fuchter
4b9fc8a30c
Merge pull request #3804 from pipecat-ai/filipi/concurrent_audio_contexts
...
Allowing concurrent audio contexts
2026-03-06 14:49:57 -05:00
Paul Kompfner
9b7a86bb12
Add AudioConfig class to AWSNovaSonicLLMService for non-deprecated audio configuration
...
The audio fields (sample rates, sample sizes, channel counts) on the deprecated `Params` class had no non-deprecated equivalent. This adds an `AudioConfig` class and `audio_config` init arg so users can specify audio configuration without relying on the deprecated `params` parameter.
2026-03-06 14:39:53 -05:00
filipi87
3000037dec
Changelog entries for the TTS improvements and fixes.
2026-03-06 16:16:25 -03:00
filipi87
07abd3d60f
Fixed BotStoppedSpeakingFrame emission: now emitted as soon as TTSStoppedFrame is received, with a fallback silence-based timeout increased to reduce false positives
2026-03-06 16:16:11 -03:00
filipi87
88ff7c451b
Refactored all 25+ TTS service implementations to use the new push_start_frame=True pattern
2026-03-06 16:15:59 -03:00
filipi87
24430d8d45
Fixing Piper test.
2026-03-06 16:15:26 -03:00
filipi87
921e9e1fc9
Refactoring TTS services to allow concurrent audio contexts.
2026-03-06 16:15:10 -03:00
filipi87
c243850cf1
Removing observer from the inworld example.
2026-03-06 16:14:23 -03:00
kompfner
817f88e90b
Merge pull request #3940 from pipecat-ai/pk/grok-realtime-settings-pattern
...
Adopt the `settings` pattern for Grok Realtime session properties
2026-03-06 14:09:25 -05:00
Aleix Conchillo Flaqué
e65ceb4edc
Merge pull request #3931 from pipecat-ai/aleix/examples-always-use-user-role
...
Update foundational examples to use system_instruction
2026-03-06 10:41:33 -08:00
Aleix Conchillo Flaqué
593b75bc8b
Update foundational examples to use "user" role
...
Use system_instruction on LLM service constructors instead of adding
system messages to LLMContext. Messages added to context now use
"user" role.
2026-03-06 09:53:33 -08:00
Paul Kompfner
f4c039048c
Adopt the settings pattern for Grok Realtime session properties
...
Move `session_properties` into `GrokRealtimeLLMSettings`, making `settings` the canonical way to configure Grok Realtime — matching the pattern used across the rest of the codebase. The `session_properties` init arg is now deprecated in favor of `settings=GrokRealtimeLLMSettings(session_properties=...)`.
`system_instruction` is synced bidirectionally between the top-level settings field and `session_properties.instructions`, with top-level taking precedence on conflict. (Unlike OpenAI Realtime, Grok's `SessionProperties` has no `model` field, so no model sync is needed.)
2026-03-06 12:53:26 -05:00
kompfner
d84a250b62
Merge pull request #3939 from pipecat-ai/pk/openai-realtime-settings-pattern
...
Adopt the `settings` pattern for OpenAI Realtime session properties
2026-03-06 12:39:08 -05:00
Paul Kompfner
2b8a6d9ca4
In OpenAI/Azure Realtime examples, migrate to settings=OpenAIRealtimeLLMSettings(...) pattern
...
Move `session_properties` and `system_instruction` into the `settings` arg, matching the canonical pattern used across the codebase.
2026-03-06 12:00:41 -05:00
mattie ruth backman
18494658c3
rename models_vX to models.py and models_deprecated.py
2026-03-06 11:49:59 -05:00
mattie ruth backman
da0975a4e0
Fix forward reference
2026-03-06 11:49:59 -05:00
mattie ruth backman
49fba5209c
copilot feedback
2026-03-06 11:49:59 -05:00
mattie ruth backman
158424aa28
Convert RTVI framework into a structured package
...
Replace the monolithic rtvi.py with a proper package split by concern
protocol version:
- models_v0.py: deprecated pre-1.0 Pydantic models
- models_v1.py: current RTVI protocol v1 message models
- frames.py: RTVI pipeline frame dataclasses
- observer.py: RTVIObserver and RTVIObserverParams
- processor.py: RTVIProcessor (now lean, imports from submodules)
- __init__.py: re-exports full public API for backward compatability
2026-03-06 11:49:59 -05:00
Paul Kompfner
bd4229ea9d
Adopt the settings pattern for OpenAI Realtime session properties
...
Move `session_properties` into `OpenAIRealtimeLLMSettings`, making `settings` the canonical way to configure OpenAI Realtime — matching the pattern used across the rest of the codebase. The `session_properties` init arg is now deprecated in favor of `settings=OpenAIRealtimeLLMSettings(session_properties=...)`.
`model` and `system_instruction` are synced bidirectionally between the top-level settings fields and `session_properties.model`/`.instructions`, with top-level taking precedence on conflict.
2026-03-06 11:46:21 -05:00
kigland
848f35f5df
fix: replace bare except handlers with specific exception types
2026-03-06 23:05:02 +08:00
kompfner
ac80b787bf
Merge pull request #3877 from pipecat-ai/pk/service-init-cleanup
...
Add `settings` as canonical init arg for all AIService descendants, d…
2026-03-06 10:01:50 -05:00
Paul Kompfner
5b270fec8e
In AWS Nova Sonic examples, migrate to newer pattern of passing in settings with voice and system_instruction, in favor of passing in voice_id as a direct init arg and the system instruction as the first message in the context
2026-03-06 09:57:57 -05:00
Paul Kompfner
a1641f3762
Add system_instruction to realtime service settings
...
Add `system_instruction=None` to `default_settings` for OpenAIRealtimeLLMService, GrokRealtimeLLMService, UltravoxRealtimeLLMService, AWSNovaSonicLLMService (Azure inherits from OpenAI), and OpenAIRealtimeBetaLLMService (Azure Beta inherits from OpenAI Beta).
Deprecate `system_instruction` init arg in AWSNovaSonicLLMService in favor of `settings=AWSNovaSonicLLMSettings(system_instruction=...)`. Use `self._settings.system_instruction` directly instead of storing a separate `self._system_instruction`.
Deprecation of `params` and `session_properties` in favor of `settings` for realtime services will be tackled in future work.
2026-03-06 09:57:34 -05:00
Paul Kompfner
78deaa735d
Move system_instruction into LLMSettings
...
Add `system_instruction` field to `LLMSettings` so it is runtime-updatable via settings.
For Google (GoogleLLMService, GoogleVertexLLMService), deprecate the init-time arg since it was already shipped. For Anthropic, AWS Bedrock, and OpenAI, remove the init-time arg entirely since it was never shipped.
Still need to handle realtime services (OpenAI Realtime, Grok Realtime, Gemini Live).
2026-03-06 09:57:08 -05:00
filipi87
524b87f087
Adding changelog entry for the summarization fix.
2026-03-06 11:45:20 -03:00
filipi87
4ef3b52c72
Fix context summarization leaving orphaned tool responses in kept context.
2026-03-06 11:40:27 -03:00
Mark Backman
ee2895a783
Update COMMUNITY_INTEGRATIONS.md with full Service Settings guidance
...
Broaden the "Dynamic Settings Updates" section into "Service Settings"
covering the complete settings pattern: defining a Settings subclass,
wiring it into __init__ with defaults + apply_update, and distinguishing
init-only config from runtime-updatable fields.
2026-03-06 08:44:15 -05:00
Mark Backman
ab37185208
Update run_eval_pipeline with the latest settings, system_instruction patterns
2026-03-06 08:32:59 -05:00
Mark Backman
8a203dd98f
Update more examples, misc services
2026-03-06 08:30:00 -05:00
Mark Backman
62554a2390
Update examples
2026-03-06 08:30:00 -05:00
Mark Backman
14c3a88f02
Fix tests
2026-03-06 08:29:14 -05:00
Mark Backman
939d753c2b
Update LLMs
2026-03-06 08:29:14 -05:00
Mark Backman
a4375274b2
Add Settings subclasses to all services and auto-discovered init tests
...
- Add dedicated Settings subclasses to 20 LLM services that were
borrowing parent Settings classes (e.g. AzureLLMSettings,
GroqLLMSettings) so users don't need cross-module imports
- Fix field defaults to NOT_GIVEN in BaseWhisperSTTSettings,
OpenAIRealtimeSTTSettings, and NvidiaSegmentedSTTSettings for
delta-mode safety
- Fix incomplete default_settings in AWS, Cartesia, ElevenLabs,
Fish, and Whisper services so validate_complete() passes
- Add auto-discovered tests that verify all Settings classes default
to NOT_GIVEN (delta safety) and all services initialize with
complete settings (store completeness)
2026-03-06 08:29:14 -05:00
Mark Backman
034e81ff18
Update STT service settings
2026-03-06 08:29:14 -05:00
Mark Backman
3cb792a801
Update TTS service settings
2026-03-06 08:29:14 -05:00
Mark Backman
1274bb2c55
Update deprecation version to 0.0.105
2026-03-06 08:29:14 -05:00
Mark Backman
f31bfcf4ec
Clean up CartesiaTTSSettings: separate init-only vs runtime-updatable fields
...
Move output_container, output_encoding, output_sample_rate out of
CartesiaTTSSettings into plain instance attributes since they cannot
change at runtime without breaking the audio pipeline. Remove deprecated
speed/emotion fields and their dead references in _build_msg() and
run_tts(). Remove the from_mapping override that only existed to
destructure those now-removed output format fields.
2026-03-06 08:29:14 -05:00
Mark Backman
07f1d0cd96
Change _warn_deprecated_param to accept type references instead of strings
...
Update all ~192 call sites across 84 service files to pass class references
(e.g. `CartesiaTTSSettings`) instead of string names (`"CartesiaTTSSettings"`)
to `_warn_deprecated_param()`. This enables better IDE refactoring support.
Also fix `from_mapping` return type annotations in 5 settings subclasses to
use `typing.Self` instead of forward reference strings.
2026-03-06 08:29:14 -05:00
Mark Backman
bc2843e30a
Fix deprecation version
2026-03-06 08:29:14 -05:00
Paul Kompfner
5dc312ce0c
Add settings as canonical init arg for all AIService descendants, deprecate redundant model/voice/params args
...
ServiceSettings types were introduced for runtime updates via ServiceUpdateSettingsFrame, but there was tension between init-time and runtime APIs: overlapping-but-different InputParams vs ServiceSettings classes, and runtime-updatable fields like `model` and `voice` scattered as direct init args rather than living in a settings object. This unifies them so developers use the same settings type at both init and runtime, improving ergonomics and consistency.
Every concrete AIService subclass (LLM, TTS, STT, ImageGen, Vision, Video) now accepts a `settings` parameter for runtime-updatable config. Old init args (`model`, `voice_id`, `params`/`InputParams`) still work but emit DeprecationWarnings pointing to the new API. When both are provided, `settings` takes precedence. Leaf classes emit warnings; base classes do not, avoiding double warnings in inheritance chains.
2026-03-06 08:29:14 -05:00
Aleix Conchillo Flaqué
3199168d3e
scripts(evals): use context.add_message()
2026-03-05 19:14:06 -08:00
Aleix Conchillo Flaqué
ea8f5f2e22
Merge pull request #3933 from pipecat-ai/aleix/misc-fixes
...
Fix Daily transport log level and eval script import
2026-03-05 18:48:14 -08:00
Aleix Conchillo Flaqué
1221e2dd76
Fix Daily transport log level and eval script import
...
Change participant_updated log from debug to trace (too noisy).
Fix deepgram LiveOptions import in eval script.
2026-03-05 16:37:02 -08:00
Aleix Conchillo Flaqué
5b598265c4
update uv.lock
2026-03-05 16:28:55 -08:00
Mark Backman
79131dd6c6
Merge pull request #3930 from dakshdua/main
...
Add `push_empty_transcripts` param to `BaseWhisperSTTService` to push received empty transcripts downstream
2026-03-05 19:25:15 -05:00
Aleix Conchillo Flaqué
5b808872d1
Merge pull request #3932 from pipecat-ai/aleix/system-instruction-conflict-warning
...
Warn when both system_instruction and context system message are set
2026-03-05 16:24:06 -08:00
Aleix Conchillo Flaqué
fda4cb6732
Add changelog for #3932
2026-03-05 16:16:41 -08:00
Daksh Dua
789ce2fd5e
Add param to push empty transcripts
2026-03-05 16:16:24 -08:00
Aleix Conchillo Flaqué
f4b8245241
Warn when both system_instruction and context system message are set
...
system_instruction from the constructor always takes precedence. A
warning is now logged when the context also contains a system message
so users can spot the conflict.
2026-03-05 16:16:17 -08:00
Mark Backman
ca27e12c84
Merge pull request #3926 from pipecat-ai/mb/update-deps-2026-03-05
...
Update dependency version ranges for flexibility
2026-03-05 18:09:04 -05:00
Mark Backman
671ef5b6cc
Merge pull request #3928 from zkleb-aai/simplify-assemblyai-examples
...
Update AssemblyAI turn detection example to use keyterms_prompt
2026-03-05 16:11:08 -05:00
zack
380726cfd3
Update AssemblyAI turn detection example to use keyterms_prompt
...
Change the commented example from prompt string format to keyterms_prompt
list format for better clarity and consistency with API best practices.
2026-03-05 15:47:54 -05:00
Mark Backman
f4dfeb0f8b
Merge pull request #3927 from zkleb-aai/add-assemblyai-vad-threshold
...
feat(assemblyai): add vad_threshold parameter for U3 Pro
2026-03-05 15:36:23 -05:00
zack
11024ccc2c
Add changelog entries for vad_threshold and parameter cleanup
2026-03-05 15:32:09 -05:00
zack
acfb07f859
feat(assemblyai): add vad_threshold parameter for U3 Pro
...
Add vad_threshold parameter to AssemblyAIConnectionParams to support
voice activity detection threshold configuration for the u3-rt-pro model.
This parameter allows users to align AssemblyAI's VAD threshold with
their external VAD systems (e.g., Silero VAD) to avoid the "dead zone"
where AssemblyAI transcribes speech that the external VAD hasn't
detected yet, which can delay interruption handling.
- Range: 0.0 to 1.0 (lower = more sensitive)
- Default: 0.3 (API default when not sent)
- Only applicable to u3-rt-pro model
- Automatically included in WebSocket query parameters
Recommended usage: Set vad_threshold to match your VAD's activation
threshold (e.g., both at 0.3) for optimal performance.
2026-03-05 15:27:13 -05:00
Mark Backman
06e49d597b
Update dev dependencies
2026-03-05 15:23:07 -05:00
Mark Backman
60e9e26164
revert onnxruntime to onnxruntime~=1.23.2 to maintain Python 3.10 support
2026-03-05 15:13:28 -05:00
Mark Backman
3f97c91983
Update optional dependency version ranges and remove SDK dependencies
...
Widen version ranges for stable packages (anthropic, azure, deepgram,
groq, livekit, nvidia-riva-client, fastapi, ormsgpack, opentelemetry,
faster-whisper) and add upper bounds to previously uncapped packages
(hume, pyjwt, livekit-api, camb).
Replace CartesiaHttpTTSService's internal use of the Cartesia SDK with
direct aiohttp calls, accepting an optional aiohttp_session parameter.
Replace fal-client SDK calls in FalSTTService and FalImageGenService
with direct HTTP to bypass the SDK's aggressive retry/backoff logic
that caused significant latency regressions.
2026-03-05 15:06:54 -05:00
Mark Backman
05fa727c22
Update core dependency version ranges for flexibility
...
Widen version ranges for stable packages (aiofiles, docstring_parser,
onnxruntime) while adding upper bounds to previously uncapped packages
(transformers, numba, wait_for2). Bump soxr to 1.0.0 and pyloudnorm
to 0.2.0. Move silero extra to empty since onnxruntime is now a core dep.
2026-03-05 13:13:55 -05:00
Aleix Conchillo Flaqué
06be260e54
Merge pull request #3919 from pipecat-ai/aleix/daily-transport-event-logging
...
Add logging to Daily transport event handlers
2026-03-05 08:35:28 -08:00
Mark Backman
691d1d309e
Merge pull request #3920 from pipecat-ai/mb/remove-hathora
2026-03-05 07:00:52 -05:00
Mark Backman
eeb8ed8588
Remove Hathora service integration
...
Hathora is shutting down on March 5, 2026. Remove the STT/TTS services,
examples, and related references.
2026-03-04 22:10:06 -05:00
Aleix Conchillo Flaqué
fd545cabab
update uv.lock
2026-03-04 17:40:24 -08:00
Aleix Conchillo Flaqué
1aadb8bd73
Merge pull request #3918 from pipecat-ai/aleix/system-instruction-openai-anthropic
...
Wire up system_instruction in OpenAI, Anthropic, and AWS Bedrock
2026-03-04 17:40:00 -08:00
Aleix Conchillo Flaqué
3c60b0c8af
Add changelog for #3918
2026-03-04 17:37:32 -08:00
Aleix Conchillo Flaqué
0004a116d8
examples(foundational): use system_instruction in all examples
2026-03-04 17:37:32 -08:00
Aleix Conchillo Flaqué
01f0caf252
wire up system_instruction in OpenAI, Anthropic and AWS Bedrock
2026-03-04 17:37:32 -08:00
Vanessa Pyne
b42dfa4734
Merge pull request #3916 from pipecat-ai/vp-add-cloud-audio-only
...
daily-transport: add cloud-audio-only recording option
2026-03-04 16:58:39 -06:00
vipyne
aa31ced32f
add changelog for 3916
2026-03-04 16:58:28 -06:00
vipyne
9ca900cc4a
daily-transport: add cloud-audio-only recording option
2026-03-04 16:58:28 -06:00
Aleix Conchillo Flaqué
96062972db
Add logging to Daily transport event handlers
...
Add appropriate log levels to dial-in/dial-out, participant, transcription,
and recording event handlers. Move transcription error log from client
callback to transport handler to keep logging consistent at the transport
level.
2026-03-04 13:30:43 -08:00
Mark Backman
4b9fe5afe3
Merge pull request #3915 from pipecat-ai/mb/function_call_timeout_secs-error-msg
...
Add per-tool function call timeout_secs
2026-03-04 15:01:34 -05:00
Mark Backman
f76b8d2982
Merge pull request #3917 from pipecat-ai/mb/sagemaker-init.py
...
Add missing __init__.py to sagemaker module
2026-03-04 12:25:44 -05:00
Mark Backman
27ae6a0349
Add missing __init__.py to sagemaker module
2026-03-04 11:50:37 -05:00
Mark Backman
97e4e7c647
Add changelog for #3915
2026-03-04 09:42:01 -05:00
Mark Backman
df35ceca2c
Add per-tool timeout_secs to register_function and register_direct_function
...
The default function call timeout (10s) causes silent failures for
long-running tools. This adds an optional timeout_secs parameter to
register_function() and register_direct_function() so individual tools
can override the global function_call_timeout_secs. The warning message
now mentions both the per-tool and global timeout options.
2026-03-04 09:37:56 -05:00
Mark Backman
e5ae5e6f2d
Merge pull request #3914 from pipecat-ai/mb/optional-summarization-thresholds
...
Make max_context_tokens and max_unsummarized_messages independently optional
2026-03-04 08:57:16 -05:00
Mark Backman
6789aee9e8
Add changelog for #3914
2026-03-03 20:09:26 -05:00
Mark Backman
b358657a79
Make max_context_tokens and max_unsummarized_messages independently optional
...
Allow either threshold to be set to None to cleanly disable that trigger,
instead of requiring users to set a very large number as a workaround.
At least one of the two must remain set (validated at construction time).
2026-03-03 20:08:22 -05:00
Mark Backman
9186f65952
Merge pull request #3908 from pipecat-ai/mb/uv-lock-2026-03-03
...
uv.lock update
2026-03-03 13:28:27 -05:00
Mark Backman
bdeeacec51
uv.lock update
2026-03-03 10:37:35 -05:00
Mark Backman
8f04f894d5
Merge pull request #3907 from pipecat-ai/mb/update-docs-skill-new-services
2026-03-03 09:48:01 -05:00
Mark Backman
ca0ec16373
Merge pull request #3889 from ai-coustics/goedev/aic-voice-focus-and-memoryview-fix
...
AIC Voice Focus version update & concurrency safety issue on audio buffer.
2026-03-03 09:28:13 -05:00
Filipi da Silva Fuchter
150c8b92e5
Merge pull request #3848 from pipecat-ai/filipi/deepgram
...
Upgrading Deepgram to version 6
2026-03-03 09:07:10 -05:00
filipi87
0fdf7dc16a
Fixing sagemaker merge conflicts.
2026-03-03 11:03:51 -03:00
filipi87
fc905a7ef5
Merge branch 'main' into filipi/deepgram
...
# Conflicts:
# src/pipecat/services/deepgram/stt_sagemaker.py
2026-03-03 10:54:30 -03:00
Mark Backman
aca92745cd
Update update-docs skill to register new services in docs.json and supported-services.mdx
...
When the skill creates a new service documentation page, it now also adds
the page to docs.json navigation and the supported-services.mdx table.
2026-03-03 08:40:12 -05:00
Aleix Conchillo Flaqué
5940731dd0
Merge pull request #3906 from pipecat-ai/changelog-0.0.104
...
Release 0.0.104 - Changelog Update
2026-03-02 21:24:05 -08:00
aconchillo
62260454a2
Update changelog for version 0.0.104
2026-03-02 21:23:39 -08:00
Aleix Conchillo Flaqué
d1ad7a9580
Merge pull request #3905 from pipecat-ai/aleix/tavus-fix-callback-on-joined
...
transport(tavus): fix on_joined callback
2026-03-02 21:11:12 -08:00
Aleix Conchillo Flaqué
252f17e1ca
transport(tavus): fix on_joined callback
2026-03-02 21:06:49 -08:00
Mark Backman
c79a739c85
Merge pull request #3856 from zkleb-aai/assemblyai-u3-rt-pro
...
Assemblyai u3 rt pro
2026-03-02 20:28:28 -05:00
Mark Backman
038f6a77d1
Linting
2026-03-02 20:24:30 -05:00
Aleix Conchillo Flaqué
5952ea711c
update uv.lock
2026-03-02 16:42:58 -08:00
Mark Backman
aad1211a57
Merge pull request #3885 from pipecat-ai/mb/latency-breakdown
...
Add latency breakdown to UserBotLatencyObserver
2026-03-02 19:27:35 -05:00
Mark Backman
7dbb130666
Add chronological_events utility function to display UserBotLatencyObserver report
2026-03-02 19:23:42 -05:00
zack
c6c2c5ba05
Fix end_of_turn_confidence_threshold: set to 1.0 (not 0.0) for universal-streaming
...
- u3-rt-pro: Does not set parameter (not used)
- universal-streaming models: Set to 1.0 to maintain fast response
- This ensures fast response time matches previous implementation
2026-03-02 18:25:25 -05:00
Aleix Conchillo Flaqué
141b0ee014
Merge pull request #3902 from pipecat-ai/aleix/deepgram-sagemaker-move
...
Move Deepgram SageMaker modules to sagemaker/ subpackage
2026-03-02 15:25:17 -08:00
Aleix Conchillo Flaqué
303616599f
Add changelog for #3902
2026-03-02 15:20:52 -08:00
Aleix Conchillo Flaqué
088eb9b01c
examples: update to new sagemaker packages
2026-03-02 15:20:52 -08:00
zack
32773b42d6
Improve terminology: rename file and replace 'STT mode' with 'AssemblyAI turn detection'
...
- Rename 07o-interruptible-assemblyai-stt.py -> 07o-interruptible-assemblyai-turn-detection.py
- Replace 'STT mode' with 'AssemblyAI turn detection mode' throughout codebase
- Replace 'Mode 1'/'Mode 2' with descriptive 'Pipecat turn detection'/'AssemblyAI turn detection'
- Update changelog to use 'built-in turn detection' terminology
- Addresses PR feedback about confusing terminology
2026-03-02 18:08:46 -05:00
Mark Backman
c039e08741
Merge pull request #3900 from pipecat-ai/filipi/lemonslice
...
Adding the LemonSlice transport integration
2026-03-02 17:56:18 -05:00
zack
b449515410
Address PR review feedback: remove debug logs, fix hasattr logic, add VADAnalyzer
2026-03-02 17:54:31 -05:00
Mark Backman
aae9136df9
Review feedback
2026-03-02 17:52:39 -05:00
Aleix Conchillo Flaqué
fdeddd7c95
Add deprecation shims for moved stt_sagemaker/tts_sagemaker modules
...
Re-export from the new pipecat.services.deepgram.sagemaker.{stt,tts}
paths so existing imports keep working with a deprecation warning.
2026-03-02 14:47:17 -08:00
Aleix Conchillo Flaqué
11783520c0
services(deepgram): move stt|tts_sagemaker to sagemaker/stt|tts.py
2026-03-02 14:43:34 -08:00
filipi87
49c73bb0a3
Merge branch 'main' into filipi/lemonslice
...
# Conflicts:
# README.md
# uv.lock
2026-03-02 19:24:52 -03:00
filipi87
f07e55a4ed
Wrap LemonSlice session creation params in LemonSliceNewSessionRequest
2026-03-02 19:15:18 -03:00
filipi87
daf14f5065
Renaming LemonSlice utils file to api.
2026-03-02 19:08:17 -03:00
filipi87
ebb794995b
Changing the log levels.
2026-03-02 19:06:13 -03:00
zkleb-aai
5c2ca0ce64
Update changelog/3856.changed.md
...
Co-authored-by: Mark Backman <m.backman@gmail.com >
2026-03-02 17:04:54 -05:00
zkleb-aai
6729f4366a
Update src/pipecat/services/assemblyai/stt.py
...
Co-authored-by: Mark Backman <m.backman@gmail.com >
2026-03-02 17:04:42 -05:00
zkleb-aai
7648b62e6e
Update src/pipecat/services/assemblyai/stt.py
...
Co-authored-by: Mark Backman <m.backman@gmail.com >
2026-03-02 17:04:17 -05:00
filipi87
7afd7068b5
Retrieving the elevenlabs voice ID from environment variable
2026-03-02 19:02:51 -03:00
filipi87
07fdd610ca
Using a default voice in case it is not provided.
2026-03-02 19:02:33 -03:00
Mark Backman
a4796a2373
Merge pull request #3898 from pipecat-ai/mb/revert-processing-metrics-deprecation
...
Revert processing metrics deprecation
2026-03-02 16:39:02 -05:00
Aleix Conchillo Flaqué
44466cfa07
Merge pull request #3896 from pipecat-ai/aleix/broadcast-interruption
...
Add broadcast_interruption() to FrameProcessor
2026-03-02 13:36:39 -08:00
Mark Backman
68d7e98f95
Add defensive comment for given_fields() usage in tracing
2026-03-02 16:33:25 -05:00
Aleix Conchillo Flaqué
741ff14d3a
Rename changelog files to use PR #3896 and mark breaking change
2026-03-02 13:26:45 -08:00
Aleix Conchillo Flaqué
4a61d5bfad
Add broadcast_interruption() to FrameProcessor
...
Replace the round-trip push_interruption_task_frame_and_wait() mechanism
with broadcast_interruption(), which pushes an InterruptionFrame both
upstream and downstream directly from the calling processor.
This eliminates race conditions (transcription arriving before the
InterruptionFrame comes back), swallowed-event timeouts (frame blocked
before reaching the sink), and the complexity of _wait_for_interruption
flag / queue bypass / frame.complete() obligations.
- Add broadcast_interruption() to FrameProcessor
- Deprecate push_interruption_task_frame_and_wait() (delegates to new method)
- Remove event field and complete() from InterruptionFrame/InterruptionTaskFrame
- Remove _wait_for_interruption flag and all special-case logic
- Remove frame.complete() calls in stt_mute_filter and llm_response_universal
- Update all 17 call sites to use broadcast_interruption()
- Update tests
2026-03-02 13:26:45 -08:00
Mark Backman
d0ecb3c7a8
Revert "Deprecate processing metrics (ProcessingMetricsData)" ( #3852 )
...
This reverts commit 127b52bad5 .
2026-03-02 16:26:29 -05:00
Mark Backman
8f66272de7
Update changelog
2026-03-02 16:16:38 -05:00
Mark Backman
ff5b985009
Convert observer data models to Pydantic BaseModel with timestamps
...
Enables .model_dump() serialization for Pipecat Cloud collection.
All metrics now include start_time (Unix timestamp) for timeline
plotting alongside duration_secs.
2026-03-02 16:11:43 -05:00
Mark Backman
a738a4d82b
Add function call latency tracking to LatencyBreakdown
2026-03-02 16:11:43 -05:00
Mark Backman
ddba1b84a9
Add first-bot-speech latency to UserBotLatencyObserver
...
Measure time from ClientConnectedFrame to first BotStartedSpeakingFrame,
emitting a one-time on_first_bot_speech_latency event with breakdown.
2026-03-02 16:11:43 -05:00
Mark Backman
18155b6a63
Add latency breakdown to UserBotLatencyObserver
...
Add per-service latency breakdown metrics alongside existing user-to-bot
latency measurement. When enable_metrics=True, the observer now emits an
on_latency_breakdown event with TTFB, text aggregation, and user turn
duration metrics collected between VADUserStoppedSpeakingFrame and
BotStartedSpeakingFrame.
- Add LatencyBreakdown dataclass with ttfb, text_aggregation,
user_turn_secs fields
- Accumulate MetricsFrame data during user→bot cycles
- Reset accumulators on InterruptionFrame to discard stale metrics
- Measure user_turn_secs from actual user silence (VAD timestamp -
stop_secs) to turn release (UserStoppedSpeakingFrame)
- Filter zero-value TTFB entries from startup metric resets
- Add frame deduplication using bounded deque + set pattern
- Update example 29 with latency breakdown display
2026-03-02 16:11:43 -05:00
Mark Backman
ac69b3441e
Fix tracing to use ServiceSettings API instead of dict access
...
The ServiceSettings refactor (PR #3714 ) changed self._settings from
dicts to dataclass subclasses, but tracing code still used .items(),
in containment, and subscript access, causing AttributeError on
every traced call. Use given_fields() for iteration and attribute
access for named fields.
2026-03-02 16:11:43 -05:00
Mark Backman
98bd530574
Add changelog for #3881
2026-03-02 16:11:42 -05:00
Mark Backman
b1e55fd6c2
Merge pull request #3881 from pipecat-ai/mb/startup-observer
...
Add StartupTimingObserver
2026-03-02 16:07:28 -05:00
Mark Backman
dbdb54ce0f
Add on_connected event handler to DailyTransport for cross-transport consistency
2026-03-02 15:44:37 -05:00
Mark Backman
c1743dcffd
Rename Tavus event, on_connected
2026-03-02 15:22:44 -05:00
Mark Backman
389d0c3fb6
Use on_pipeline_started from PipelineTask for startup report
...
Replace the PipelineSink detection in StartupTimingObserver with an
on_pipeline_started() callback from PipelineTask via TaskObserver.
This fixes premature report emission when using ParallelPipeline,
which has its own inner PipelineSinks per branch.
2026-03-02 14:33:55 -05:00
Mark Backman
a88eae7849
Merge pull request #3895 from pipecat-ai/aleix/update-nvidia-example-model
...
Update Nvidia example to use llama-3.3-70b-instruct
2026-03-02 14:27:53 -05:00
Mark Backman
0cfd953a90
Use _ArrivalInfo dataclass instead of tuple for arrival tracking
2026-03-02 14:15:41 -05:00
Mark Backman
bbbfdfd321
Replace per-processor start_time with start_offset_secs
...
Use start_offset_secs (offset from StartFrame) on ProcessorStartupTiming
instead of a wall-clock timestamp. Reports keep a single start_time
anchor for dashboard visualization. Remove _mono_to_wall conversion.
2026-03-02 14:07:34 -05:00
Aleix Conchillo Flaqué
193f93c2ce
Update Nvidia example to use llama-3.3-70b-instruct model
2026-03-02 10:16:27 -08:00
Mark Backman
75669b12a2
Convert observer data models to Pydantic BaseModel with timestamps
...
Switch ProcessorStartupTiming, StartupTimingReport, and
TransportTimingReport from dataclasses to Pydantic BaseModel. Add
start_time (Unix timestamp) fields and wall clock conversion for
monotonic observer timestamps.
2026-03-02 13:10:09 -05:00
Mark Backman
68e8732e72
Add BotConnectedFrame and on_transport_timing_report event
...
Add BotConnectedFrame (SystemFrame) pushed by SFU transports (Daily,
LiveKit, HeyGen, Tavus) when the bot joins the room. Replace the
on_transport_readiness_measured event with on_transport_timing_report
which includes both bot_connected_secs and client_connected_secs.
2026-03-02 13:10:09 -05:00
Mark Backman
de87894778
Update changelog for #3881
2026-03-02 13:10:09 -05:00
Mark Backman
0836066898
Add ClientConnectedFrame and transport readiness timing
...
Introduce ClientConnectedFrame (SystemFrame) pushed by all transports
when a client connects. StartupTimingObserver uses this to measure
transport readiness — the time from StartFrame to first client
connection — via a new on_transport_readiness_measured event.
2026-03-02 13:10:09 -05:00
Mark Backman
58aa8e1ba5
Add changelog for #3881
2026-03-02 13:10:09 -05:00
Mark Backman
670e5000d2
Merge pull request #3893 from pipecat-ai/mb/fix-azure-error-propagation
...
Propagate Azure TTS/STT cancellation errors to the pipeline
2026-03-02 13:04:54 -05:00
Mark Backman
e6b9c5c4dc
Propagate Azure TTS/STT cancellation errors to the pipeline
...
Azure TTS _handle_canceled was putting None (the normal completion
signal) into the audio queue for all cancellation reasons, so run_tts
treated errors identically to success—silently producing no audio.
Now error cancellations put an Exception marker in the queue, which
run_tts converts to an ErrorFrame.
Azure STT had no canceled event handler at all, so auth failures,
network errors, and rate-limit cancellations were invisible. Added
_on_handle_canceled which pushes an ErrorFrame upstream via push_error.
Fixes pipecat-ai/pipecat#3892
2026-03-02 12:36:08 -05:00
Mark Backman
c54232bdb4
Add StartupTimingObserver for measuring processor start() times
...
Tracks how long each processor start method takes during pipeline
startup by measuring StartFrame arrive/leave deltas. Emits a timing
report via the on_startup_timing_report event and auto-logs a summary.
Internal pipeline processors are excluded from reports by default.
2026-03-02 10:48:50 -05:00
Mark Backman
5a6a93e277
Merge pull request #3886 from dhruvladia-sarvam/add/user-agent
...
fix(sarvam): standardize STT/TTS User-Agent headers
2026-03-02 10:21:23 -05:00
dhruvladia-sarvam
f386722ef9
removing unnecessary logs
2026-03-02 20:38:39 +05:30
Mark Backman
7c07e090a4
Merge pull request #3891 from pipecat-ai/mb/fix-update-docs-oidc
...
Fix update-docs workflow OIDC failure with pull_request_target
2026-03-02 09:29:35 -05:00
filipi87
8b09f7bbb4
Upgrading Deepgram to version 6.
2026-03-02 11:22:33 -03:00
Mark Backman
07ba255073
Fix update-docs workflow OIDC failure with pull_request_target
...
The switch from pull_request to pull_request_target (for fork PR
secret access) broke claude-code-action default OIDC-based GitHub
App authentication. Pass github_token explicitly to bypass OIDC.
2026-03-02 09:20:24 -05:00
Mark Backman
eb7a4b7aee
Merge pull request #3874 from pipecat-ai/mb/pr-3873
...
Changelog for PR 3873, docstrings change
2026-03-02 08:36:05 -05:00
Rupesh
ad74d19c6b
Remove resampling warning log for consistency with rest of codebase
2026-03-02 13:24:00 +00:00
Rupesh
5e8d722bf2
Use soxr for high-quality audio resampling instead of numpy linear interpolation
2026-03-02 13:24:00 +00:00
Rupesh
a7f6db8436
Add changelog fragment for #3857
2026-03-02 13:24:00 +00:00
Rupesh
442ea6a97e
Fix Smart Turn v3 producing incorrect predictions at non-16kHz sample rates
...
The Whisper-based ONNX model expects 16 kHz audio, but the
_predict_endpoint method had five hardcoded references to 16000 without
checking the actual pipeline sample rate. When running at 8 kHz (e.g.
Twilio telephony), audio was fed to the feature extractor at the wrong
rate, causing the model to perceive speech at 2x speed with shifted
formant frequencies and produce incorrect end-of-turn predictions.
Add automatic resampling via numpy interpolation before feature
extraction and replace all hardcoded sample rate values with a
_MODEL_SAMPLE_RATE constant. Also fix the WAV debug logger to write
files with the correct sample rate header.
Fixes #3844
2026-03-02 13:24:00 +00:00
Mark Backman
018ead8551
Changelog for PR 3873, docstrings change
2026-03-02 08:08:43 -05:00
Mark Backman
5e99aeedf5
Merge pull request #3888 from pipecat-ai/mb/fix-filter-incomplete-turns
...
Re-inject turn completion instructions after LLM context reset
2026-03-02 08:03:08 -05:00
Mark Backman
c579749d8a
Merge pull request #3875 from pipecat-ai/mb/foundational-ex-updates
...
Miscellaneous foundational example updates
2026-03-02 08:02:51 -05:00
Mark Backman
094de42f0c
Merge pull request #3879 from pipecat-ai/mb/fix-tracing-settings
...
Fix tracing to use ServiceSettings API instead of dict access
2026-03-02 08:01:45 -05:00
dhruvladia-sarvam
1242f1c10e
changelog entry
2026-03-02 18:09:51 +05:30
dhruvladia-sarvam
55a641e258
fix(sarvam): standardize STT/TTS User-Agent headers
2026-03-02 18:09:51 +05:30
Gökmen Görgen
7575ea7e07
add changelog entries for Voice Focus 2.0 support and buffer resize fix in AICFilter.
2026-03-02 12:47:59 +01:00
Gökmen Görgen
d6aab6b52e
simplify parameter setup in AICFilter.
...
ParameterFixedError is deprecated.
2026-03-02 12:24:52 +01:00
Gökmen Görgen
8ff3e21654
use new version of vf model.
2026-03-02 11:22:51 +01:00
Gökmen Görgen
ea59695551
don't use memoryview for concurrency safety.
...
Snapshot the blocks into immutable bytes and trim the buffer BEFORE any await, so no memoryview is
held across async yield points. Without this, a concurrent filter() or stop() call could try to
extend() or clear() the bytearray while a memoryview still exports it, raising "Existing exports
of data: object cannot be re-sized".
2026-03-02 10:55:25 +01:00
Gökmen Görgen
16c676a921
add a test for reproducing the user feedback first.
2026-03-02 10:34:50 +01:00
Mark Backman
91c46ffbf4
Re-inject turn completion instructions after LLM context reset
...
When filter_incomplete_user_turns is enabled and an LLMMessagesUpdateFrame
replaces the context via set_messages(), the turn completion instructions
system message was lost. This caused the LLM to stop emitting turn
completion markers. Re-inject the instructions after set_messages() to
fix this.
2026-03-01 16:37:07 -05:00
Mark Backman
024c62946f
Merge pull request #3878 from pipecat-ai/mb/fix-update-docs-workflow-secrets
...
fix: use pull_request_target for docs workflow to access secrets from fork PRs
2026-03-01 14:53:53 -05:00
Mark Backman
9b969736f6
Merge pull request #3764 from kedar389/add-support-for-private-endpoint-azure-stt
...
feat: Add support for private endpoint in Azure STT
2026-03-01 14:50:34 -05:00
Radek Sedlák
6fc718947d
Merge branch 'pipecat-ai:main' into add-support-for-private-endpoint-azure-stt
2026-03-01 17:55:45 +01:00
zack
cb7e612738
Remove test files and testing documentation from PR
2026-03-01 11:51:51 -05:00
zack
36b9c05730
Fix changelog entries to use proper markdown bullet format
2026-03-01 11:45:24 -05:00
zack
6968d83ccb
Add changelog entries for PR #3856
2026-03-01 11:44:51 -05:00
zack
42f91a9056
Apply ruff formatting fixes
2026-03-01 11:44:37 -05:00
zack
5de495cc98
Use logger.warning instead of warnings.warn for deprecation message
...
- Makes deprecation warning visible in logs without needing Python warning flags
- Users will see the warning during normal operation
2026-03-01 11:39:00 -05:00
zack
d1cbc81108
Fix 07o example to use new min_turn_silence parameter name in docs and comments
2026-03-01 11:36:46 -05:00
zack
66fca7e382
Add backward compatibility for min_end_of_turn_silence_when_confident parameter
...
- Keep old parameter name for backward compatibility
- Add deprecation warning when old parameter is used
- Automatically migrate old parameter value to new min_turn_silence parameter
- Exclude deprecated parameter from WebSocket URL to avoid sending it to API
- New parameter takes precedence if both are set
2026-03-01 11:33:22 -05:00
zack
07ae4b8d38
Update AssemblyAI examples to use u3-rt-pro and improve 55d example
...
- Update 13d-assemblyai-transcription.py to explicitly use u3-rt-pro model
- Update 55d-update-settings-assemblyai-stt.py to demonstrate keyterms updates instead of language updates
- Add helpful logging to show before/after keyterms boosting effect
- Use difficult names (Xiomara, Saoirse, Krzystof) to demonstrate boosting effectiveness
2026-03-01 11:27:31 -05:00
zack
21a409e447
Update prompt warning and rename min_end_of_turn_silence_when_confident to min_turn_silence
...
- Add "beta feature" note to custom prompt warning
- Rename min_end_of_turn_silence_when_confident parameter to min_turn_silence across all AssemblyAI code
- Update documentation, examples, and test files to use new parameter name
2026-03-01 11:17:39 -05:00
Aleix Conchillo Flaqué
903dc6c1a9
Merge pull request #3883 from pipecat-ai/aleix/queue-frame-direction
...
Add direction parameter to PipelineTask.queue_frame() and queue_frames()
2026-03-01 06:04:28 -08:00
Mark Backman
dee94b3cb8
Merge pull request #3795 from omChauhanDev/fix/realtime-cancel-not-active
...
fix(realtime): handle response_cancel_not_active as non-fatal
2026-03-01 07:29:59 -05:00
Om Chauhan
ece4343839
changed log level to debug
2026-03-01 12:25:42 +05:30
Aleix Conchillo Flaqué
94a59de4e1
Add changelog for #3883
2026-02-28 17:28:44 -08:00
Aleix Conchillo Flaqué
f37fd39cdb
Add optional direction parameter to PipelineTask.queue_frame() and queue_frames()
...
Allow pushing frames upstream through the pipeline by passing
FrameDirection.UPSTREAM. Downstream frames use the existing push queue,
while upstream frames are pushed directly from the pipeline sink.
2026-02-28 17:28:44 -08:00
Mark Backman
9d4955054c
Fix tracing to use ServiceSettings API instead of dict access
...
The ServiceSettings refactor (PR #3714 ) changed self._settings from
dicts to dataclass subclasses, but tracing code still used .items(),
in containment, and subscript access, causing AttributeError on
every traced call. Use given_fields() for iteration and attribute
access for named fields.
2026-02-27 22:41:40 -05:00
Mark Backman
6464230627
fix: use pull_request_target for docs workflow to access secrets from fork PRs
...
The update-docs workflow intermittently failed with "Input required and
not supplied: token" because pull_request events from fork PRs don't
have access to repository secrets. Switching to pull_request_target
runs the workflow in the base repo's context, ensuring secrets are
always available. This is safe since the workflow only runs on
already-merged PRs.
2026-02-27 22:22:35 -05:00
Mark Backman
950a8628dc
Miscellaneous foundational example updates
2026-02-27 19:49:45 -05:00
Mark Backman
17205c1647
Merge pull request #3871 from rupesh-svg/fix/rtvi-processor-double-insert
...
Fix PipelineTask double-inserting RTVIProcessor with custom RTVIObserver
2026-02-27 19:34:46 -05:00
Mark Backman
2a776d0c1e
Merge pull request #3873 from rimelabs/matt/rime/add_speedAlpha_param_to_arcana
...
[RimeTTS] Add `speedAlpha` parameter support to the `arcana` model
2026-02-27 19:27:56 -05:00
zack
d7ce1eedd9
Add foundational examples for AssemblyAI u3-rt-pro
...
- 07o-interruptible-assemblyai.py: Basic example using Pipecat VAD mode
- 07o-interruptible-assemblyai-stt.py: Advanced example using STT-controlled
turn detection with comprehensive documentation on u3-rt-pro features
(turn detection tuning, prompt-based enhancement, speaker diarization)
2026-02-27 17:58:18 -05:00
zack
ef00f27d53
Fix incorrect await on synchronous request_finalize() method
...
The request_finalize() method in STTService is synchronous (sets a flag),
but was being called with await in the VAD turn endpoint handling code.
This caused "object NoneType can't be used in 'await' expression" errors.
Also includes automatic formatting improvements from ruff.
2026-02-27 17:58:05 -05:00
Rupesh
56f2564ed1
Use local variable instead of instance variable for RTVI prepend decision
...
Replace _rtvi_external instance variable with a local prepend_rtvi flag
since it is only used during __init__ to decide whether to prepend the
RTVIProcessor to the pipeline.
2026-02-27 14:45:37 -08:00
macaki
000d38e253
[Rime] Both mist and arcana now support the speedAlpha parameter.
2026-02-27 15:17:23 -07:00
Filipi da Silva Fuchter
36edef489e
Merge pull request #3863 from pipecat-ai/filipi/manual_summarization
...
Manual context summarization
2026-02-27 16:46:37 -05:00
filipi87
d077a810ae
Fixing context summarization tests
2026-02-27 18:42:50 -03:00
filipi87
0839e3813f
Refactoring the examples to use the new context summarization classes.
2026-02-27 18:42:39 -03:00
filipi87
69414e8a5a
Added example 54b-context-summarization-manual-openai.py demonstrating on-demand summarization triggered via a function call tool.
2026-02-27 18:42:23 -03:00
filipi87
dfd0a515f3
Changelog entries for the context summarization improvements.
2026-02-27 18:42:13 -03:00
filipi87
ed7f0a2c08
Adding support for on-demand summarization
2026-02-27 18:41:55 -03:00
filipi87
08d93ce9b6
Renamed LLMAssistantAggregatorParams fields for clarity.
2026-02-27 18:41:17 -03:00
filipi87
f11d4b6944
Refactored LLMContextSummarizationConfig into two focused classes, LLMContextSummaryConfig and LLMAutoContextSummarizationConfig.
2026-02-27 18:40:41 -03:00
filipi87
51a3310e78
Added LLMSummarizeContextFrame: push this frame anywhere in the pipeline to trigger on-demand context summarization (e.g. from a function call tool).
2026-02-27 18:39:57 -03:00
Rupesh
6f33aff0c6
Fix PipelineTask double-inserting RTVIProcessor when custom RTVIObserver is provided
...
When the user places an RTVIProcessor inside their pipeline and provides
a custom RTVIObserver subclass in observers, PipelineTask correctly
detects both and logs "skipping default ones." However it then
unconditionally prepends self._rtvi to the pipeline, causing the
processor to appear twice in the frame chain.
Track whether the RTVIProcessor was found externally (inside the user
pipeline) vs created internally. Only prepend it when created internally.
Fixes #3867
2026-02-27 13:29:01 -08:00
zack
45532a9478
Remove info logs and unused import per PR feedback
...
- Remove unused Mapping import
- Remove info logs at initialization (connection params)
- Remove info logs in _handle_transcription (transcript details, text sent to LLM)
- Remove info logs in _build_ws_url (WebSocket URL and params)
- Keep debug logs (less verbose, appropriate for development)
2026-02-27 16:15:49 -05:00
Mark Backman
4eb993c980
Merge pull request #3868 from wollerman/wollerman/numba-version-pin-update
...
fix: Update numba version pin from == to >=0.61.2
2026-02-27 16:04:20 -05:00
Mark Backman
83e29eb478
Merge pull request #3855 from pipecat-ai/mb/context-summarization-improvements
...
Improve context summarization with dedicated LLM, timeout, and observability
2026-02-27 15:24:38 -05:00
zack
6ba9f780b0
Remove unnecessary SpeechStarted fallback in STT mode
...
u3-rt-pro guarantees SpeechStarted is always sent before transcripts,
so the fallback UserStartedSpeakingFrame broadcast is never needed.
This ensures clean pairing of UserStarted/StoppedSpeakingFrame:
- Start: Always from _handle_speech_started
- Stop: Always from _handle_transcription on final turn
2026-02-27 15:00:38 -05:00
zack
aa7e9a17d5
Fix finalization pattern: Use request/confirm in Pipecat mode, finalized flag in STT mode
...
- Add request_finalize() before sending ForceEndpoint in Pipecat mode
- Keep confirm_finalize() when receiving formatted finals in Pipecat mode
- Remove confirm_finalize() from STT mode (use finalized=True instead)
This follows Pipecat's two-step finalization pattern where request_finalize()
is called when sending a finalize request to the STT service, and
confirm_finalize() is called when receiving confirmation back.
2026-02-27 14:55:22 -05:00
Matt
acff172bf2
create changelog entry
2026-02-27 14:52:37 -05:00
Mark Backman
9747e8da4a
Merge pull request #3866 from pipecat-ai/mb/fix-docs-workflow-version
...
Fix docs workflow to add auto-docs label
2026-02-27 13:09:36 -05:00
Mark Backman
8fc63352d9
Merge pull request #3865 from pipecat-ai/mb/elevenlabs-realtime-stt-finalized
...
Set finalized flag on ElevenLabs Realtime STT for manual commit strategy
2026-02-27 13:09:17 -05:00
Matt
6ebfea4746
update numba version pin to >=
2026-02-27 12:44:31 -05:00
Mark Backman
f74af9b9c7
Always apply a timeout to summarization LLM calls
...
Even when summarization_timeout is explicitly set to None, use a
DEFAULT_SUMMARIZATION_TIMEOUT (120s) fallback so the LLM call can
never hang indefinitely. Applied in both LLMService and the dedicated
LLM path in LLMContextSummarizer.
2026-02-27 12:09:00 -05:00
Mark Backman
82c249608f
Move dedicated LLM summarization into LLMContextSummarizer
...
The dedicated LLM logic lived in LLMAssistantAggregator, creating two
code paths and requiring the aggregator to call a private LLMService
method. Move it into the summarizer which already owns the config and
summarization lifecycle, keeping the aggregator handler as a single-line
upstream push.
2026-02-27 12:09:00 -05:00
Mark Backman
98e737b4e9
Add tests for context summarization improvements
...
Cover summary message role, template, on_summary_applied event,
summarization timeout, and dedicated LLM routing/error handling.
2026-02-27 12:08:43 -05:00
Mark Backman
ec9ddb3199
Add changelog entries for context summarization improvements ( #3855 )
2026-02-27 12:07:34 -05:00
Mark Backman
712305c5b1
Add example 54c showing custom context summarization
2026-02-27 12:07:34 -05:00
Mark Backman
be8ea818c8
Add on_summary_applied event for observability
...
Emits a SummaryAppliedEvent after context summarization completes,
providing message counts so applications can track compression
metrics.
2026-02-27 12:07:34 -05:00
Mark Backman
50710e9c3f
Add summarization timeout to prevent hung LLM calls
...
Adds a configurable summarization_timeout (default 120s) that cancels
summary generation if the LLM hangs. On timeout, an error result is
returned so _summarization_in_progress resets and future
summarizations are unblocked.
2026-02-27 12:07:34 -05:00
Mark Backman
a489bfaf00
Add optional dedicated LLM for context summarization
...
Adds an field to LLMContextSummarizationConfig that allows
routing summarization to a separate LLM service (e.g., Gemini Flash)
instead of the pipeline's primary model. This avoids paying for
expensive inference when compressing context in long-running sessions.
2026-02-27 12:07:34 -05:00
Mark Backman
945a523eed
Add configurable summary_message_template to LLMContextSummarizationConfig
...
Allows applications to customize how the summary is wrapped when
injected into context (e.g., XML tags, custom delimiters) so system
prompts can distinguish summaries from live conversation.
2026-02-27 12:07:34 -05:00
Mark Backman
790c434a08
Update summary message role: use user instead of assistant
...
The context summary is information provided to the assistant, not
something the assistant said.
2026-02-27 12:07:34 -05:00
Filipi da Silva Fuchter
db40a354be
Merge pull request #3794 from omChauhanDev/fix/context-summarization-llm-specific-message
...
skipping provider-specific messages during summarization
2026-02-27 10:57:34 -05:00
filipi87
aa6d3b38b3
Add explanatory comments for LLMSpecificMessage guards in context summarization, amd fixed the missing guard in LLMContextSummarizer._apply_summary when searching for the first system message.
2026-02-27 12:53:25 -03:00
Mark Backman
41d6470e4a
Fix docs workflow: add auto-docs label, remove version info
2026-02-27 10:39:37 -05:00
Mark Backman
601822e3e5
Add changelog for PR #3865
2026-02-27 10:25:48 -05:00
Mark Backman
3a32d91c66
Set finalized flag on ElevenLabs Realtime STT transcriptions for manual commit strategy
2026-02-27 10:21:10 -05:00
Filipi da Silva Fuchter
35b3803ebc
Merge pull request #3845 from pipecat-ai/filipi/fix_tts_speak_frame
...
Add TTSSpeakFrame.push_assistant_aggregation to force context flush after TTS.
2026-02-27 09:59:33 -05:00
filipi87
3b427a47b6
Fixing Piper test.
2026-02-27 11:57:11 -03:00
filipi87
d701c3427c
Changelog entry for the TTSSpeakFrame fix.
2026-02-27 11:57:03 -03:00
filipi87
1f45e80f9d
Updated the 52-live-translation.py example to demonstrate the fix
2026-02-27 11:56:52 -03:00
filipi87
bc6f8e51de
Fixed TTSSpeakFrame not automatically committing spoken text to the conversation context when used outside of an LLM response (e.g., for bot greeting messages or injected speech)
2026-02-27 11:56:44 -03:00
filipi87
deba2515f9
Added a new LLMAssistantPushAggregationFrame control frame that signals LLMAssistantAggregator to immediately flush its text buffer to the conversation context
2026-02-27 11:56:36 -03:00
Mark Backman
127b52bad5
Merge pull request #3852 from pipecat-ai/mb/deprecate-processing-metrics
...
Deprecate processing metrics (ProcessingMetricsData)
2026-02-27 09:50:29 -05:00
Mark Backman
0697f72dae
Merge pull request #3864 from pipecat-ai/mb/auto-docs-update
...
Add automated docs update workflow
2026-02-27 09:36:27 -05:00
Mark Backman
c259a6a73b
Deprecate processing metrics (ProcessingMetricsData)
...
Add deprecation warnings to start_processing_metrics() and
stop_processing_metrics() on FrameProcessorMetrics and FrameProcessor.
Mark ProcessingMetricsData as deprecated in docstring. All existing
behavior is preserved — the warnings inform users that these will be
removed in a future version.
2026-02-27 09:22:29 -05:00
Mark Backman
3e04f5d05f
Add GitHub Actions workflow to auto-update docs on PR merge
...
Runs Claude Code Action after PRs merge to main when source files
in services/transports/serializers/processors/audio/turns/observers/pipeline
are changed. Creates a docs PR on pipecat-ai/docs with targeted edits
following the existing update-docs skill instructions.
2026-02-27 09:18:15 -05:00
zack
cd07937c5d
Fix missing imports: Add UserStartedSpeakingFrame and UserStoppedSpeakingFrame
2026-02-26 22:18:02 -05:00
zack
72934bd8ae
Add u3-rt-pro support and improvements to AssemblyAI STT service
...
- Fix speaker diarization: Add field alias for speaker_label → speaker
mapping in TurnMessage model
- Add warning for non-optimal min_end_of_turn_silence_when_confident
values (recommends 100ms for best latency)
- Improve max_turn_silence override warning message clarity
- Update custom prompt warning (remove 88% accuracy claim)
- Add comprehensive logging for debugging:
- Log final connection params after modifications
- Log WebSocket URL and parsed parameters
- Log speaker field in transcripts
- Log text sent to LLM with speaker formatting
- Support dynamic configuration updates via STTUpdateSettingsFrame:
- keyterms_prompt (when AssemblyAI API supports it)
- prompt
- max_turn_silence
- min_end_of_turn_silence_when_confident
2026-02-26 22:04:21 -05:00
Mark Backman
2a6a993869
Merge pull request #3850 from rupesh-svg/fix/genesys-remove-audio-chunk-logging
...
Remove verbose audio chunk logging from GenesysAudioHookSerializer
2026-02-26 21:52:54 -05:00
Rupesh
bbaa79fef0
Add changelog for PR #3850
2026-02-26 14:00:34 -08:00
Rupesh
fff9db0d8f
Remove verbose audio chunk logging from GenesysAudioHookSerializer
...
Fixes #3777
2026-02-26 13:51:05 -08:00
kompfner
7fe458fe59
Merge pull request #3817 from pipecat-ai/pk/service-settings-fix-back-compat-for-nested-external-sdk-types
...
Flatten `LiveOptions` into individual fields on `DeepgramSTTSettings`…
2026-02-26 11:08:27 -05:00
Paul Kompfner
faed775d90
Extract _DeepgramSTTSettingsBase with shared _merge_live_options_delta to deduplicate LiveOptions merge logic between __init__ and apply_update, and between the Deepgram STT and SageMaker variants; make top-level model/language take precedence over conflicting live_options values in updates; remove unnecessary Language enum-to-string conversion (Language is a StrEnum)
2026-02-26 11:02:44 -05:00
Mark Backman
b63ca524f5
Merge pull request #3806 from pipecat-ai/mb/ultravox-updates
...
Align Ultravox Realtime service with OpenAI/Gemini patterns
2026-02-26 10:49:21 -05:00
Mark Backman
907ff58d41
Align Ultravox Realtime service with OpenAI/Gemini patterns
...
- Add InterruptionFrame handling with stop_all_metrics()
- Add processing metrics (start/stop) at response boundaries
- Fix agent transcript handling for voice and text modalities:
- Voice mode: push LLMTextFrame (append_to_context=False) and
TTSTextFrame for deltas, skip duplicated final text
- Text mode: push LLMTextFrame with proper response lifecycle,
no TTSTextFrame (downstream TTS handles audio)
- Add output_medium parameter to AgentInputParams and OneShotInputParams
- Improve TTFB measurement using VAD speech end time
- Update example with user turn strategies and transcript events
- Add text-only output example (50a-ultravox-realtime-text.py)
2026-02-26 10:44:36 -05:00
Mark Backman
97b93ebe57
Merge pull request #3696 from pipecat-ai/mb/streaming-tts-input
...
Improve streaming TTS input support, add TextAggregationMetricsData
2026-02-26 10:26:53 -05:00
Mark Backman
3ae173520e
Code review feedback
2026-02-26 10:23:35 -05:00
Paul Kompfner
c184ac09b8
Inline _build_live_options into _connect in DeepgramSTTService and DeepgramSageMakerSTTService since it's trivial and only called from one place
2026-02-26 09:42:15 -05:00
Paul Kompfner
3c20eda8bf
Keep model/language in LiveOptions at construction time so apply_update's bidirectional sync is sufficient; simplify _build_live_options to only add sample_rate
2026-02-26 09:32:52 -05:00
Mark Backman
d69a337def
Add text_aggregation_mode parameter to TTSService
...
Move the sentence vs token aggregation concern into text aggregators
so all text flows through them regardless of mode. This enables
pattern detection and tag handling to work in TOKEN mode.
- Add TextAggregationMode enum (SENTENCE, TOKEN) as the user-facing
TTS setting, separate from the internal AggregationType
- Add TOKEN mode support to Simple, SkipTags, and PatternPair aggregators
- Add text_aggregation_mode parameter to TTSService and all TTS subclasses
- Deprecate aggregate_sentences in favor of text_aggregation_mode
- Merge TTSService._process_text_frame() into a single codepath
2026-02-26 08:55:41 -05:00
Mark Backman
f7434cdde1
Add text aggregation time metric for TTS sentence aggregation
...
Add TextAggregationMetricsData measuring the time from the first LLM
token to the first complete sentence, representing the latency cost of
sentence aggregation in the TTS pipeline.
2026-02-26 08:48:47 -05:00
Paul Kompfner
e21e8585f0
Add deepgram and sagemaker extras to CI test dependencies so Deepgram and Deepgram Sagemaker settings tests can run
2026-02-25 18:59:59 -05:00
Paul Kompfner
8b6aa4b912
Unflatten LiveOptions back into a single live_options field on DeepgramSTTSettings and DeepgramSageMakerSTTSettings; add apply_update override with delta-merge semantics and from_mapping override for backward-compatible dict-style updates
2026-02-25 18:25:11 -05:00
Paul Kompfner
a4b6db6fb4
Flatten LiveOptions into individual fields on DeepgramSTTSettings and DeepgramSageMakerSTTSettings for backward-compatible dict-style updates via STTUpdateSettingsFrame; during the big service settings refactor, we accidentally got rid of the ability to update individual LiveOptions fields with a sparse update
2026-02-25 17:39:31 -05:00
Mark Backman
edc79d374a
Merge pull request #3836 from pipecat-ai/mb/small-webrtc-prebuilt-2.3.0
...
Update the pipecat-ai-small-webrtc-prebuilt to 2.3.0
2026-02-25 17:18:32 -05:00
Mark Backman
e521aef5df
Merge pull request #3842 from pipecat-ai/mb/claude-plugin-docs
...
Add /update-docs skill to claude-plugin
2026-02-25 16:38:16 -05:00
kompfner
3cfff51205
Merge pull request #3827 from pipecat-ai/pk/gemini-tts-service-remove-model-ivar
...
Remove unnecessary `_model` ivar from `GeminiTTSService`, using `_set…
2026-02-25 16:14:38 -05:00
Paul Kompfner
3d8e3a4043
Remove unnecessary _model ivar from ElevenLabs STT services, using _settings.model instead.
2026-02-25 16:07:33 -05:00
Paul Kompfner
7ee0400c4c
Remove unnecessary _model ivar from Hathora TTS and STT services, using _settings.model instead.
2026-02-25 16:07:26 -05:00
Paul Kompfner
781d191509
Remove unnecessary _model ivar from GeminiTTSService, using _settings.model instead
2026-02-25 15:59:38 -05:00
kompfner
a8cb2a26d1
Merge pull request #3841 from pipecat-ai/pk/groq-tweaks
...
A few Groq-related tweaks:
2026-02-25 15:54:33 -05:00
kompfner
b1df1ba5d4
Merge pull request #3834 from pipecat-ai/pk/make-ai-service-exclusive-syncer-of-model-name-to-metrics
...
Make it so that `AIService` is the exclusive "syncer" of model name t…
2026-02-25 15:53:59 -05:00
Mark Backman
eee2ef7e85
Add /update-docs skill to claude-plugin
2026-02-25 15:45:16 -05:00
Paul Kompfner
ff0f3dce32
A few Groq-related tweaks:
...
- Wire up passing speed setting to Groq, even though only a value of 1.0 is supported today
- Update the 55y example to switch voices instead of changing speed
- Add a 55zn example to exercise runtime updates of Groq STT
2026-02-25 15:10:48 -05:00
Paul Kompfner
bca42f7d68
Fix Hathora 55 series examples, and fix Hathora missing settings field warning
2026-02-25 14:48:40 -05:00
Paul Kompfner
27940d83a2
Make it so that AIService is the exclusive "syncer" of model name to metrics.
...
The only (rare) exception—where a service directly still needs to directly call `self._sync_model_name_to_metrics()`—is when the model name need to be "pulled" from another field (or nested field) in settings up to settings.model on a settings update. This only occurs in Deepgram services, where we use the voice as the model name.
This change has the side-effect of bringing model name to metrics for a number of services that were accidentally omitting it before.
2026-02-25 14:48:24 -05:00
Mark Backman
937c691f2a
Merge pull request #3838 from pipecat-ai/mb/remove-playht
...
Remove PlayHT TTS services
2026-02-25 14:34:15 -05:00
Mark Backman
6803d38d3f
Merge pull request #3833 from pipecat-ai/mb/add-performance-changelog-fragment
...
Add Performance as a changelog fragment option
2026-02-25 14:33:52 -05:00
Mark Backman
44993fe9e3
Remove PlayHT TTS services
2026-02-25 14:12:39 -05:00
Mark Backman
0fe4c732b7
Merge pull request #3837 from alts/alts/append-trailing-space
...
Add `append_trailing_space` to all Rime websocket services
2026-02-25 13:35:07 -05:00
Stephen Altamirano
ceead60ef2
Add append_trailing_space to all Rime websocket services
...
This was added in 31daa889e8 , but only
to `RimeTTSService`, not to `RimeNonJsonTTSService. Bringing these
to parity means that users switching between the two, with the same
inputs, have more consistent vocalization behaviors.
2026-02-25 10:02:38 -08:00
Mark Backman
e028194dbe
Update the pipecat-ai-small-webrtc-prebuilt to 2.3.0
2026-02-25 12:23:13 -05:00
Mark Backman
81f4672535
Add Performance as a changelog fragment option
2026-02-25 09:47:42 -05:00
Mark Backman
9273b158ea
Merge pull request #3825 from pipecat-ai/mb/llm-user-aggregator-interim-transcription
...
Consume InterimTranscriptionFrame and TranslationFrame in LLMUserAggregator
2026-02-25 09:06:34 -05:00
Mark Backman
353a28842c
Merge pull request #3807 from pipecat-ai/mb/update-openai-realtime-1.5
...
Update OpenAI Realtime default model to gpt-realtime-1.5
2026-02-25 09:06:19 -05:00
Mark Backman
3e6c59c736
Merge pull request #3809 from pipecat-ai/mb/krisp-viva-result
...
Add Krisp API key support and debug logging
2026-02-25 09:05:12 -05:00
Mark Backman
0ca8c850fb
Add TurnMetricsData and e2e processing time for KrispVivaTurn
...
Introduce a generic TurnMetricsData class for turn detection metrics,
replacing the service-specific SmartTurnMetricsData (now deprecated).
Add end-to-end processing time measurement to KrispVivaTurn, tracking
the interval from VAD speech-to-silence transition to model threshold
crossing. Consume metrics in the strategy _handle_input_audio path
so they are pushed immediately when fresh.
2026-02-25 09:01:21 -05:00
Mark Backman
73ee4da7d4
Add Krisp API key support for new SDK licensing requirement
...
The Krisp VIVA SDK v1.8.0 requires a license key in globalInit(). Add
api_key parameter to KrispVivaSDKManager, KrispVivaTurn, and
KrispVivaFilter with fallback to KRISP_API_KEY env var. Maintain
backwards compatibility with older SDK versions by catching TypeError
and falling back to the old 3-arg signature.
2026-02-25 09:01:00 -05:00
Filipi da Silva Fuchter
2f60074da3
Merge pull request #3814 from pipecat-ai/filipi/fix_close_context
...
Fixed an issue where the TTS providers did not close the context after the audio context finished processing all audio.
2026-02-25 08:21:04 -05:00
filipi87
751b1b8100
Adding the changelog entries for the tts fixes.
2026-02-25 10:18:25 -03:00
filipi87
d899f0af11
Refactored all AudioContextTTSService based providers to override the new callbacks instead of _handle_interruption(), making provider-specific cleanup cleaner and more explicit
2026-02-25 10:18:16 -03:00
filipi87
c09ae6ba6d
Added two new lifecycle callbacks to AudioContextTTSService: on_audio_context_interrupted() and on_audio_context_completed()
2026-02-25 10:17:54 -03:00
Mark Backman
a187a4b3b2
Merge pull request #3830 from pipecat-ai/aleix/restore-dev-skills
2026-02-25 06:33:16 -05:00
Aleix Conchillo Flaqué
68e19a730b
Restore dev skills and add marketplace for maintainer workflows
...
Brings back the 6 development workflow skills (changelog, cleanup,
code-review, docstring, pr-description, pr-submit) that were moved
to pipecat-ai/skills, and adds a .claude-plugin/marketplace.json so
other pipecat-ai repos can install them. Updates README contributing
section with installation instructions.
2026-02-24 23:47:06 -08:00
Mark Backman
67cb7d575f
Merge pull request #3828 from pipecat-ai/mb/skip-empty-audio-filter-frames
...
Skip empty audio frames after filter buffering
2026-02-24 23:27:22 -05:00
Mark Backman
a84930dc3e
Skip empty audio frames after filter buffering
...
Audio filters like RNNoise, KrispViva, and AIC return empty bytes while
buffering audio to accumulate their required frame size. These empty
frames were flowing downstream, causing misleading "Empty audio frame
received for STT service" warnings.
Skip the frame in BaseInputTransport when audio is empty, preventing
unnecessary processing in VAD and downstream processors.
Fixes #3517
2026-02-24 23:21:52 -05:00
kompfner
54fd73c460
Merge pull request #3821 from pipecat-ai/pk/fix-missing-field-warning-rime-tts
...
Fix missing field warning in `RimeTTSService`
2026-02-24 21:58:17 -05:00
kompfner
c954e1c898
Merge pull request #3820 from pipecat-ai/pk/fix-breakage-when-sending-generic-settings-update
...
Fix breakage when using a generic settings update (e.g. a `TTSSetting…
2026-02-24 21:58:05 -05:00
kompfner
db76cd052a
Merge pull request #3819 from pipecat-ai/pk/make-update-settings-frames-uninterruptible
...
Make `ServiceUpdateSettingsFrame` uninterruptible—settings updates ar…
2026-02-24 21:57:41 -05:00
Mark Backman
167e68672b
Add changelog for InterimTranscriptionFrame/TranslationFrame fix
2026-02-24 20:52:16 -05:00
Mark Backman
69d916ca51
Consume InterimTranscriptionFrame and TranslationFrame in LLMUserAggregator
...
These frames were falling through to the else branch and being pushed
downstream, unlike TranscriptionFrame which is explicitly consumed.
This aligns with how the assistant aggregator already filters them.
2026-02-24 20:51:41 -05:00
Mark Backman
9890b93d08
Merge pull request #3822 from pipecat-ai/fix/stt-ttfb-timeout-timestamp
...
Fix STT TTFB timeout measuring to use transcript arrival time
2026-02-24 19:45:15 -05:00
Mark Backman
f928206b3a
Add changelog for STT TTFB timeout fix
2026-02-24 19:02:40 -05:00
Mark Backman
f421ad9cf6
Fix STT TTFB timeout measuring to timeout expiry instead of transcript time
...
PR #3776 replaced manual timestamp tracking with stop_ttfb_metrics() in
the timeout handler, but without an end_time it uses time.time() at
timeout expiry—producing TTFB = timeout + stop_secs (~2.2s) instead of
the actual transcript latency.
Restore _last_transcript_time tracking so the timeout handler measures
to when the transcript arrived, and skip reporting if none arrived.
2026-02-24 18:57:38 -05:00
Paul Kompfner
d918a20b75
Fix missing field warning in RimeTTSService
2026-02-24 18:14:16 -05:00
Paul Kompfner
d91c230b85
Fix breakage when using a generic settings update (e.g. a TTSSettings) instead of a more specific one (e.g. a RimeTTSSettings). Both should work, assuming you're only changing fields present in the generic settings.
2026-02-24 18:05:27 -05:00
Paul Kompfner
b6f21ab15d
Make ServiceUpdateSettingsFrame uninterruptible—settings updates are generally independent of specific utterances.
...
Before this change, settings updates were often not applied. For example, a `TTSUpdateSettingsFrame` queued while the bot was speaking would only have an effect at the end of the bot's reply, and any interruption before the end of the reply would "cancel" the update.
2026-02-24 17:47:53 -05:00
kompfner
6f0061ab96
Merge pull request #3812 from pipecat-ai/pk/service-settings-storage-v-delta-mode
...
Make clearer the distinction between "storage-mode" and "delta-mode" …
2026-02-24 15:37:49 -05:00
Aleix Conchillo Flaqué
761397d1f9
Merge pull request #3816 from pipecat-ai/aleix/use-skills-repo
...
Move skills to pipecat-ai/skills repo, add README instructions
2026-02-24 12:11:20 -08:00
Aleix Conchillo Flaqué
d9bb4d07c6
Merge pull request #3815 from pipecat-ai/fix/sentry-metrics-signatures
...
Fix SentryMetrics method signatures to match base class
2026-02-24 12:11:07 -08:00
Aleix Conchillo Flaqué
ee46cbce4c
Move skills to pipecat-ai/skills repo, add README instructions
...
Remove bundled Claude Code skills (changelog, cleanup, code-review,
docstring, pr-description, pr-submit) that now live in
https://github.com/pipecat-ai/skills . Add a section to the README
with installation instructions. The update-docs skill remains as
it is specific to this repository.
2026-02-24 11:41:19 -08:00
Aleix Conchillo Flaqué
b4b9976b9c
Fix SentryMetrics method signatures to match base class
...
Update start_ttfb_metrics, stop_ttfb_metrics, start_processing_metrics,
and stop_processing_metrics to accept start_time/end_time keyword
arguments matching the updated FrameProcessorMetrics signatures.
Closes #3808
2026-02-24 11:26:34 -08:00
Paul Kompfner
b78a293ffb
Flatten input_params into individual fields on SonioxSTTSettings and GladiaSTTSettings
...
This makes each service-specific field individually visible to the delta/update mechanism (`apply_update`, `given_fields`) and removes the need for complex sync logic between `input_params` and top-level fields like `model`.
- Soniox: replace `input_params: SonioxInputParams` with 8 individual fields, simplify `_update_settings` by removing model sync logic, remove unused `is_given` import
- Gladia: replace `input_params: GladiaInputParams` with 11 individual fields, resolve deprecated `language` → `language_config` at init time rather than at `_prepare_settings` time
2026-02-24 14:01:43 -05:00
Paul Kompfner
0a89d24f70
Update some more services to ensure that there are no un-initialized fields in self._settings
2026-02-24 14:01:43 -05:00
Paul Kompfner
8c9ccf8f82
Bump various deprecation messages from mentioning version 0.0.103 to 0.0.104
2026-02-24 14:01:43 -05:00
Paul Kompfner
bcc2b4def4
Make clearer the distinction between "storage-mode" and "delta-mode" usage of *Settings objects
...
- Storage mode: for use in `self._settings`. All fields should be specified, i.e. should not be `NOT_GIVEN`.
- Delta mode: for use in `*UpdateSettingsFrame`.
In service of this, this commit:
- Adds a runtime check that all fields are specified in storage mode
- Updates all services to specify all fields in stored settings
- Updates all services to no longer check for `is_given` in stored settings (not necessary anymore)
- Updates relevant docstrings
- Renames `update` to `delta` in `*UpdateSettingsFrame`
- Updates community integrations guide
2026-02-24 14:01:28 -05:00
Filipi da Silva Fuchter
57d25c564c
Merge pull request #3786 from pipecat-ai/filipi/refactor_word_tts_service
...
Refactoring the services using the WordTTSService
2026-02-24 13:53:58 -05:00
filipi87
6cda2ff941
Changelog entry for word timestamp refactor and deprecation notes.
2026-02-24 15:49:02 -03:00
filipi87
323477bfa4
Refactoring the services using the WordTTSService.
2026-02-24 15:48:46 -03:00
Mark Backman
fa692ec989
Merge pull request #3813 from pipecat-ai/mb/fix-stt-ttfb
...
Fix STT TTFB metrics for Soniox and AWS Transcribe
2026-02-24 13:12:32 -05:00
Mark Backman
23ad181515
Fix Soniox processing metrics to measure token-to-transcript time
...
Move start_processing_metrics from run_stt (called per audio chunk,
producing noisy 0ms logs) to _receive_messages when the first final
token arrives for a new utterance. The existing stop_processing_metrics
in send_endpoint_transcript completes the pair, giving a meaningful
measurement of time from first recognition to finalized transcript.
2026-02-24 13:09:29 -05:00
Mark Backman
6f7664846c
Add can_generate_metrics to Soniox and AWS Transcribe STT services
...
Commit 859cd7c9 refactored STT TTFB measurement to use the base class
start_ttfb_metrics/stop_ttfb_metrics, which are gated behind
can_generate_metrics(). Soniox and AWS Transcribe never overrode this
method (default returns False), so TTFB was silently never reported.
2026-02-24 12:59:44 -05:00
Mark Backman
081aaa50dc
Merge pull request #3811 from pipecat-ai/mb/nltk-upgrade
...
Bump nltk minimum version from 3.9.1 to 3.9.3
2026-02-24 10:28:32 -05:00
Mark Backman
aff8ab8a40
Update OpenAI Realtime default model to gpt-realtime-1.5
2026-02-24 09:07:31 -05:00
Mark Backman
0f7e6e14ab
Bump nltk minimum version from 3.9.1 to 3.9.3
...
Resolves a security vulnerability flagged by Dependabot (#164 ).
2026-02-24 08:56:00 -05:00
Mark Backman
65f563ad34
Add debug logging to KrispVivaTurn analyze_end_of_turn and update example
...
Move speech detection tracking outside the per-frame loop in append_audio
since is_speech applies to the whole buffer. Add debug log in
analyze_end_of_turn to show state and probability at decision time. Update
the Krisp VIVA example to use Cartesia TTS and turn analyzer strategy.
2026-02-23 21:35:35 -05:00
Mark Backman
9c2ac661a3
Merge pull request #3805 from pipecat-ai/mb/dataclass-basemodel
...
Add dataclass vs Pydantic BaseModel convention to CLAUDE.md
2026-02-23 19:32:31 -05:00
kompfner
cdd65b6c0a
Merge pull request #3714 from pipecat-ai/pk/service-settings-refactor
...
Broad refactor of service settings and how they’re updated at runtime
2026-02-23 17:15:15 -05:00
Paul Kompfner
71fc078c24
Refine ServiceSettings docstring: clarify NOT_GIVEN semantics and fix frame reference
...
Use wildcard `*UpdateSettingsFrame` to cover all frame types. Clarify that NOT_GIVEN only appears in update deltas, not in the service's current settings state.
2026-02-23 16:55:11 -05:00
Paul Kompfner
7556427862
Revise changelog entries for service settings refactor
...
Split the single "changed" entry into separate "added", "changed", and "deprecated" entries for clarity. Add a note about the subtle behavior change in the deprecated set_model/set_voice/set_language methods.
2026-02-23 16:52:11 -05:00
Paul Kompfner
bcf11ecbd4
Looks like the Deepgram Sagemaker TTS services aren't able yet to successfully disconnect/reconnect to apply runtime settings updates. For now, marking them as not yet supporting runtime settings updates.
2026-02-23 16:02:00 -05:00
Paul Kompfner
ff174dd1c2
Fix STT/TTS Deepgram Sagemaker 55-series examples (examples updating settings at runtime)
2026-02-23 16:02:00 -05:00
Paul Kompfner
e804060e17
Update COMMUNITY_INTEGRATIONS.md _update_settings examples
...
Simplify the reconnect example to show a common pattern (reconnect on any change) and improve the _warn_unhandled_updated_settings example to show selective handling of specific fields.
2026-02-23 15:45:00 -05:00
Paul Kompfner
30db5fea7c
Clarify that ServiceSettings and subclasses represent runtime-updatable settings
...
Update docstrings for ServiceSettings, LLMSettings, TTSSettings, and STTSettings to make clear these capture only the subset of service configuration that can be changed while the pipeline is running via UpdateSettingsFrame, not all constructor parameters.
2026-02-23 15:38:57 -05:00
Mark Backman
c527e1f30f
Add dataclass vs Pydantic BaseModel rule to CLAUDE.md
...
Document the existing convention: use @dataclass for frames and
internal pipeline data, use Pydantic BaseModel for configuration,
parameters, metrics, and external API data.
2026-02-23 14:26:16 -05:00
Paul Kompfner
029f3dbefb
Updating 55o ElevenLabsTTSService example to also exercise switching voices, which requires reconnect
2026-02-23 12:08:13 -05:00
kompfner
03cb0054f9
Merge branch 'main' into pk/service-settings-refactor
2026-02-23 11:46:03 -05:00
Mark Backman
6a7e9358c6
Merge pull request #3803 from pipecat-ai/mb/inline-smart-turn-v3-deps
...
Inline local-smart-turn-v3 deps for Poetry compatibility
2026-02-23 09:29:52 -05:00
Mark Backman
6a3718d33d
Inline local-smart-turn-v3 deps for Poetry compatibility
...
Replace self-referential `pipecat-ai[local-smart-turn-v3]` extra in core
dependencies with the actual packages (`transformers`, `onnxruntime`).
Self-referential extras are not supported by Poetry and cause dependency
resolution failures. Since these are required by the default turn stop
strategy (LocalSmartTurnAnalyzerV3), they belong in core dependencies.
- Remove `local-smart-turn-v3` optional extra from pyproject.toml
- Remove try/except ModuleNotFoundError guard (now always installed)
- Remove `--extra local-smart-turn-v3` from CI workflows
2026-02-23 09:00:36 -05:00
Om Chauhan
b390dc369c
added changelog
2026-02-21 18:33:29 +05:30
Om Chauhan
a18aa738e0
fix(realtime): handle response_cancel_not_active as non-fatal
2026-02-21 18:26:31 +05:30
Om Chauhan
9476b5d184
added changelog
2026-02-21 17:35:08 +05:30
Om Chauhan
f49658de15
skipping provider-specific messages during summarization
2026-02-21 17:19:50 +05:30
Aleix Conchillo Flaqué
b67af19d47
Merge pull request #3793 from pipecat-ai/changelog-0.0.103
...
Release 0.0.103 - Changelog Update
2026-02-20 16:42:46 -08:00
aconchillo
6d9c07b945
Update changelog for version 0.0.103
2026-02-20 16:39:36 -08:00
Aleix Conchillo Flaqué
18429f80f1
github(changelog): allow performance type
2026-02-20 16:32:40 -08:00
Aleix Conchillo Flaqué
0a54dc9721
Merge pull request #3792 from pipecat-ai/aleix/update-anthropic-default-model
...
Update default Anthropic model to claude-sonnet-4-6
2026-02-20 16:28:08 -08:00
Aleix Conchillo Flaqué
521f669051
Add changelog entries for PR #3792
2026-02-20 16:18:21 -08:00
Aleix Conchillo Flaqué
abb20f34ba
Update default Anthropic model to claude-sonnet-4-6
...
Update the default model in AnthropicLLMService and remove the
now-unnecessary explicit model from the function calling example.
2026-02-20 16:17:51 -08:00
Joshua Primas
d38b1d97d4
Added changelog
2026-02-20 16:13:44 -08:00
Joshua Primas
0b4568843b
Improved logging + error handling + pipecat bot name usage
2026-02-20 15:59:52 -08:00
Joshua Primas
35aba4128c
Adding the LemonSlice transport integration
2026-02-20 15:24:48 -08:00
Aleix Conchillo Flaqué
b1e72ad4b7
Merge pull request #3789 from pipecat-ai/aleix/fix-missing-await-and-interruption-hang
...
Fix missing await and interruption timeout hang
2026-02-20 14:59:11 -08:00
Aleix Conchillo Flaqué
f610fb95f9
Add changelog entries for PR #3789
2026-02-20 14:56:46 -08:00
Aleix Conchillo Flaqué
827032fefb
Unblock push_interruption_task_frame_and_wait after timeout
...
When the InterruptionFrame does not complete within the timeout the
caller was stuck in an infinite loop logging warnings. Now the event
is set after the first timeout so the processor can continue.
Also adds a keyword timeout parameter so callers can customize the
wait duration.
2026-02-20 14:56:42 -08:00
Aleix Conchillo Flaqué
af4ef95dc6
Fix missing await on add_audio_frames_message in Google audio examples
...
The method is async but was being called without await, silently
discarding the coroutine.
2026-02-20 14:24:22 -08:00
Aleix Conchillo Flaqué
0370bb15e4
update uv.lock
2026-02-20 13:47:04 -08:00
Aleix Conchillo Flaqué
2b3595485f
Merge pull request #3788 from dhruvladia-sarvam/v3-fix-final
...
initial
2026-02-20 13:46:18 -08:00
Paul Kompfner
af4226adbf
Add changelog entries for service settings refactor PR #3714
2026-02-20 15:26:17 -05:00
Paul Kompfner
29e2a861dc
Update AIService.set_model_name to AIService._sync_model_name_to_metrics to:
...
- indicate clearly that it's not meant for public use
- make it clear the `self._settings` is the single source of truth for model information
- set the stage for an upcoming change where `AIService` subclasses won't have to ever worry about explicitly calling an `AIService` method to sync model name to metrics
Across all services, switch from accessing `self._model_name` or `self.model_name` in favor of `self._settings.model`.
2026-02-20 15:02:50 -05:00
Filipi da Silva Fuchter
63c664becb
Merge pull request #3787 from pipecat-ai/filipi/refresh_active_audio_context
...
Fix race condition where context times out after sending second transcript
2026-02-20 14:50:38 -05:00
dhruvladia-sarvam
fecf462139
initial
2026-02-21 01:02:37 +05:30
Daksh Dua
023063759a
Changelog entry for TTS race condition fix.
2026-02-20 16:00:34 -03:00
Daksh Dua
c49eda98e7
Fix race condition where context times out after sending second transcript
2026-02-20 15:37:14 -03:00
Filipi da Silva Fuchter
5d07326e36
Merge pull request #3732 from pipecat-ai/filipi/tts_updates
...
Refactored audio context management in TTS services
2026-02-20 13:02:42 -05:00
filipi87
fa659311b6
Changelog entry
2026-02-20 14:57:59 -03:00
filipi87
125c423356
Refactored audio context management in TTS services to improve encapsulation and reduce code duplication
2026-02-20 14:57:44 -03:00
Filipi da Silva Fuchter
c9615c8db6
Merge pull request #3779 from pipecat-ai/filipi/filter_observer
...
Allowing to define the list of frame processors whose frames should be silently ignored by the RTVI observer.
2026-02-20 12:42:02 -05:00
Aleix Conchillo Flaqué
28c542f6ed
Merge pull request #3785 from pipecat-ai/mb/deepgram-sagemaker-tts
...
Add DeepgramSageMakerTTSService
2026-02-20 09:01:32 -08:00
Paul Kompfner
f5b86d9cdc
Actually, revert the change making it so that STTService takes model and language args at init time. It'll be up to the subclasses to append those to _settings (or better yet, provide their own service-specific _settings). This avoids rocking the boat too too much.
2026-02-20 11:26:28 -05:00
Aleix Conchillo Flaqué
5708c81b93
Merge pull request #3782 from pipecat-ai/aleix/fix-mutable-default-args-aggregator-pair
...
Fix mutable default arguments in LLMContextAggregatorPair
2026-02-20 08:02:18 -08:00
Paul Kompfner
f4e9825c03
Remove self._voice_id from TTS Service implementations in favor of self._settings.voice
2026-02-20 10:52:57 -05:00
Mark Backman
82ce3ea8de
Update 07c example to use DeepgramSageMakerTTSService
2026-02-20 08:10:41 -07:00
Mark Backman
62ada92188
Add changelog for PR #3785
2026-02-20 08:09:57 -07:00
Mark Backman
273692421f
Add DeepgramSageMakerTTSService for Deepgram TTS on AWS SageMaker
...
Adds a TTS service that connects to Deepgram models deployed on AWS
SageMaker endpoints via HTTP/2 bidirectional streaming. Supports the
Deepgram TTS protocol (Speak, Flush, Clear, Close) over the BiDi
client, with interruption handling and per-turn TTFB metrics.
Updates the example and env.example with separate STT/TTS endpoint names.
2026-02-20 08:08:00 -07:00
Paul Kompfner
5d8a5bf750
Add initialization of self._settings to service superclasses (STTService, TTSService, LLMService), using "generic" settings for those services (STTSettings, TTSSettings, LLMSettings)
2026-02-20 09:31:22 -05:00
Mark Backman
0a3e212f93
Merge pull request #3784 from pipecat-ai/mb/stt-sagemaker-finalize
...
Align DeepgramSageMakerSTTService finalize pattern with DeepgramSTTService
2026-02-20 09:26:23 -05:00
Mark Backman
43d686c622
Add changelog entry for PR #3784
2026-02-20 07:17:36 -07:00
Mark Backman
4d136e1e28
Align DeepgramSageMakerSTTService finalize pattern with DeepgramSTTService
2026-02-20 07:15:38 -07:00
Aleix Conchillo Flaqué
2024285c75
Add changelog entries for PR #3782
2026-02-19 20:52:31 -08:00
Aleix Conchillo Flaqué
bc830c16f1
Fix mutable default arguments in LLMContextAggregatorPair
...
Replace mutable default parameter values with None and instantiate
inside the method body to avoid shared state across calls.
2026-02-19 20:52:00 -08:00
Paul Kompfner
fb27642190
Add self._settings to 6 remaining services
...
- AWSNovaSonicLLMService: new `AWSNovaSonicLLMSettings` with `voice_id` and `endpointing_sensitivity`; remove `self._params` entirely, storing audio I/O config as plain instance variables
- NeuphonicHttpTTSService: reuse `NeuphonicTTSSettings`; use inherited `language` field instead of bespoke `lang_code`
- NvidiaTTSService: new `NvidiaTTSSettings` with `quality`
- PiperTTSService / PiperHttpTTSService: new `PiperTTSSettings` / `PiperHttpTTSSettings` (no extra fields)
- SpeechmaticsTTSService: new `SpeechmaticsTTSSettings` with `max_retries`
Also remove redundant `lang_code` from `NeuphonicTTSSettings` (both WS and HTTP services now use the inherited `TTSSettings.language` field, with automatic enum conversion via the base class).
HTTP services (Neuphonic HTTP, Piper HTTP, Speechmatics) don't override `_update_settings` since the base class applies changes to `self._settings` and subsequent requests read from it automatically.
2026-02-19 18:35:59 -05:00
Paul Kompfner
463ea3725b
Update Deepgram Flux with the new service settings pattern
2026-02-19 17:12:24 -05:00
Paul Kompfner
6c609031ee
Add more 55-series examples
...
Also:
- remove unnecessary pass-through `_update_settings` implementation in `FalSTTService`
- warn that `AsyncAITTSService` doesn't currently support runtime settings updates
- update how `GradiumTTSService._update_settings` checks for voice changes
- remove a couple of unnecessary args (because they specified defaults) in other examples
2026-02-19 16:46:14 -05:00
filipi87
18630c9478
Adding changelog entry for RTVI observer ignored_sources feature.
2026-02-19 18:41:05 -03:00
filipi87
3a8d3cc841
Allowing to define the list of frame processors whose frames should be silently ignored by the RTVI observer.
2026-02-19 18:36:12 -03:00
Filipi da Silva Fuchter
2963c7589d
Merge pull request #3774 from pipecat-ai/mb/broadcast-frames-rtvi-observer
...
Fix RTVIObserver missing upstream-only frames
2026-02-19 15:32:48 -05:00
filipi87
63caa403cb
Improving RTVI doc description.
2026-02-19 17:31:25 -03:00
Paul Kompfner
ebb42a3c6d
Fix forward reference crash in Google and Anthropic LLM ThinkingConfig
...
ThinkingConfig was defined as an inner class on the service but referenced in the Settings dataclass declared before the service class, causing a crash at import time. Move ThinkingConfig to a standalone class defined before Settings, and keep a class attribute alias for backward compatibility.
2026-02-19 15:06:48 -05:00
Paul Kompfner
cc54ff4708
Add more 55-series examples
2026-02-19 14:55:21 -05:00
Aleix Conchillo Flaqué
846cf0794d
Merge pull request #3615 from omChauhanDev/fix/daily-transport-message-queue
...
fix(daily): queue outbound messages until transport joins
2026-02-19 11:55:11 -08:00
Aleix Conchillo Flaqué
498349c17e
Merge pull request #3776 from pipecat-ai/aleix/stt-ttfb-metrics-refactor
...
Refactor STT TTFB metrics to use base class start/stop pattern
2026-02-19 11:46:46 -08:00
Aleix Conchillo Flaqué
474b27305f
Merge pull request #3748 from pipecat-ai/mb/user-idle-configurable
...
Make UserIdleController always-on with dynamic timeout updates
2026-02-19 11:44:51 -08:00
Aleix Conchillo Flaqué
20509e8f96
Merge pull request #3744 from pipecat-ai/mb/user-idle-timeout-frame
...
Redesign UserIdleController to use BotStoppedSpeakingFrame
2026-02-19 11:34:42 -08:00
filipi87
5b2fa69bdc
Renaming from broadcasted_sibling_id to broadcast_sibling_id
2026-02-19 16:24:07 -03:00
Aleix Conchillo Flaqué
4f8cacc769
Merge pull request #3747 from pipecat-ai/mb/update-comment-mute-strategy
...
Update comment in _maybe_mute_frame
2026-02-19 11:19:44 -08:00
Aleix Conchillo Flaqué
0145fb4ea0
Merge pull request #3763 from lukepayyapilli/fix/asyncgen-cleanup-uvloop-crash
...
Fix async generator cleanup to prevent uvloop crash on Python 3.12+
2026-02-19 11:14:00 -08:00
Aleix Conchillo Flaqué
8e52df7f03
Add changelog entries for PR #3776
2026-02-19 10:52:45 -08:00
Aleix Conchillo Flaqué
8ee99e37ff
Merge pull request #3768 from tanmayc25/fix/tavus-sample-rate
...
fix: use audio.sample_rate instead of audio.audio_frames in TavusInputTransport
2026-02-19 10:52:34 -08:00
Aleix Conchillo Flaqué
bae4211369
Update dependency lock file
2026-02-19 10:52:28 -08:00
Aleix Conchillo Flaqué
859cd7c920
Refactor STT TTFB metrics to use base class start/stop pattern
...
Eliminate custom _emit_stt_ttfb_metric and manual timestamp tracking in
STTService by reusing FrameProcessor's start_ttfb_metrics/stop_ttfb_metrics
with new start_time/end_time parameters. This keeps the chronological
start→stop ordering and removes _speech_end_time and _last_transcription_time
state from STTService.
2026-02-19 10:52:24 -08:00
filipi87
d608c400f9
Preventing the duplicated BotStartedSpeakingFrame and BotStoppedSpeakingFrame.
2026-02-19 15:49:22 -03:00
Aleix Conchillo Flaqué
94e93bed83
Merge pull request #3719 from pipecat-ai/aleix/sip-transfer-refer-frames
...
Add SIP transfer and SIP REFER frames to Daily transport
2026-02-19 10:09:13 -08:00
filipi87
b1cee140b9
Refactoring to use broadcasted_sibling_id instead of broadcasted field.
2026-02-19 15:06:50 -03:00
Aleix Conchillo Flaqué
352361bdd2
Update changelog skill to avoid line wrapping
2026-02-19 09:20:33 -08:00
Aleix Conchillo Flaqué
baa61468a1
Add changelog entries for PR #3719
2026-02-19 09:20:33 -08:00
Aleix Conchillo Flaqué
7501ba2e45
Undeprecate DailyUpdateRemoteParticipantsFrame
...
Remove the deprecation warning and __post_init__ override. Also fix the
default value for remote_participants to use field(default_factory=dict)
instead of None.
2026-02-19 09:20:33 -08:00
Aleix Conchillo Flaqué
200716e8fe
Add SIP transfer and SIP REFER frames to Daily transport
...
Add write_transport_frame() hook to BaseOutputTransport so subclasses
can handle custom frame types that flow through the audio queue. Add
DailySIPTransferFrame and DailySIPReferFrame as DataFrame subclasses
that queue with audio, ensuring SIP operations execute only after the
bot finishes its current utterance. Override write_transport_frame in
DailyOutputTransport to dispatch these frames to the existing
sip_call_transfer() and sip_refer() client methods.
Also switch DailyOutputTransport.send_message error handling from
logger.error to push_error for consistency.
2026-02-19 09:20:33 -08:00
Paul Kompfner
421696e1c2
Replace Any with specific types and add | _NotGiven to all *Settings field annotations across 49 service files
...
Every `*Settings` dataclass field whose default is `NOT_GIVEN` now carries `_NotGiven` in its type union so the type system accurately reflects the three-state semantics (real value, `None` where applicable, or not-yet-specified). Fields previously typed as bare `Any`, `str`, `float`, `bool`, `list`, `dict`, or `Optional[X]` are now narrowed to the specific type from the corresponding `InputParams` Pydantic model.
2026-02-19 11:28:29 -05:00
Mark Backman
50ef4909e3
Add changelog entries for PR #3774
2026-02-19 07:44:52 -07:00
Mark Backman
63df4642b5
Fix RTVIObserver missing upstream-only frames by adding broadcasted flag
...
RTVIObserver previously filtered out all upstream frames to avoid
duplicate messages from broadcasted frames. This caused upstream-only
frames to be silently ignored. Instead, add a `broadcasted` field to
the Frame base class that is set by broadcast_frame() and
broadcast_frame_instance(), and only skip upstream copies of
broadcasted frames.
2026-02-19 07:43:20 -07:00
Filipi da Silva Fuchter
43869a499d
Merge pull request #3773 from pipecat-ai/mb/fix-ci-apt-get-update
...
Fix CI: add apt-get update before installing system packages
2026-02-19 09:28:25 -05:00
Mark Backman
d2bf3952ec
Merge pull request #3772 from simliai/main
...
Update SimliClient to latest
2026-02-19 09:13:14 -05:00
Mark Backman
92c380ee77
Add apt-get update before installing system packages in CI
...
The CI was failing because the runner's package index was stale,
causing a 404 when fetching libasound2-dev (a dependency of
portaudio19-dev). Running apt-get update first refreshes the index.
2026-02-19 07:01:07 -07:00
antonyesk601
a55ba40921
fix: remove misimport
2026-02-19 10:41:17 +00:00
antonyesk601
fb1bfd03dd
update SimliClient to latest
2026-02-19 10:35:50 +00:00
Paul Kompfner
a7edd8e441
Fix 55zp example
2026-02-18 17:15:22 -05:00
Paul Kompfner
2a07138abf
Fix Grok Realtime dynamic session properties updating, and update corresponding 55zo example
2026-02-18 17:12:36 -05:00
Filipi da Silva Fuchter
a0a7b3101d
Merge pull request #3765 from ianbbqzy/ian/inworld-default-async
...
[inworld] default timestamp transport strategy to ASYNC
2026-02-18 16:59:01 -05:00
Filipi da Silva Fuchter
39dc4ba99c
Updated changelog/3765.changed.md
2026-02-18 16:58:27 -05:00
Paul Kompfner
ad942f6e4c
Update 55zn example (UIltravox dynamic settings updates) to exercise changing modality, which is a setting that supports dynamic updates
2026-02-18 16:33:05 -05:00
Paul Kompfner
97d34ef9e1
Update OpenAI Realtime to warn when you try to update settings that can't be updated dynamically.
...
Update corresponding example to demonstrate updating output modality.
2026-02-18 16:16:06 -05:00
Paul Kompfner
c054780477
Fix 55zh example
2026-02-18 15:59:34 -05:00
Paul Kompfner
88a2dbdb82
Update 55zf example to update a setting that is supported by the default Camb TTS model
2026-02-18 15:48:50 -05:00
Paul Kompfner
d386a0efda
Update Sarvam TTS to apply all changes to settings, not just voic
2026-02-18 15:31:08 -05:00
Paul Kompfner
b718a23c17
Tweak 55zd example
2026-02-18 15:25:50 -05:00
Paul Kompfner
e38f7d9451
Fix 55zc example
2026-02-18 15:23:23 -05:00
Paul Kompfner
b00d454842
Fix Inworld TTS settings updating
2026-02-18 15:19:57 -05:00
Paul Kompfner
0fa51811ea
Fix 55z example
2026-02-18 15:11:04 -05:00
Paul Kompfner
323ee00b83
Fix 55w example
2026-02-18 14:51:48 -05:00
Paul Kompfner
0c73b77327
Update Lmnt TTS to support updating settings dynamically
2026-02-18 14:47:38 -05:00
Paul Kompfner
416e1cf877
Update Rime TTS services to store voice in the standard settings.voice field, as opposed to the nonstandard speaker field
2026-02-18 14:46:47 -05:00
Paul Kompfner
b4c5cb258b
Tweak 55r example to make the settings update more pronounced
2026-02-18 14:15:14 -05:00
Paul Kompfner
728a97ade3
Update Deepgram TTS to support updating settings dynamically
2026-02-18 14:11:51 -05:00
Paul Kompfner
28677ec829
Tweak 55p example to make the settings update more pronounced
2026-02-18 13:49:32 -05:00
Paul Kompfner
17886d14e8
Fix ElevenLabsTTSService settings update code
2026-02-18 13:47:02 -05:00
Paul Kompfner
caf5dacbe8
Update 55j example to avoid console warning
2026-02-18 12:37:50 -05:00
Paul Kompfner
b8b531b66a
In Cartesia TTS service, we don't need to override _update_settings. Parent class handling is enough, as new settings are picked up on the next run_tts (no need to reconnect).
2026-02-18 12:37:34 -05:00
Paul Kompfner
a14690e3a0
Fix the 55i example
2026-02-18 11:55:14 -05:00
Paul Kompfner
d913d954db
Fix SpeechmaticsSTTService settings update code, and augment test file to better exercise it
2026-02-18 11:34:52 -05:00
Paul Kompfner
e98bb1df66
Simplify 55* examples: inline the settings update directly in the on_client_connected handler instead of wrapping it in a separate async task
2026-02-18 11:06:33 -05:00
Paul Kompfner
a7ada79fd9
Fix ElevenLabsRealtimeSTTService:
...
- Move `CommitStrategy` up in the file so it could be used by `ElevenLabsRealtimeSTTSettings`
- Fix a bug where `run_tts` would erroneously try to reconnect if a reconnection was already in flight (like a reconnection triggered by `_update_settings`)
2026-02-18 10:50:53 -05:00
Filipi da Silva Fuchter
a5b5a8e5cf
Merge pull request #3759 from pipecat-ai/mb/gradium-context-update
...
Switch Gradium TTS to AudioContextWordTTSService for multiplexing
2026-02-18 10:16:57 -05:00
filipi87
1daea78b91
Fix GradiumTTSService to reuse context IDs across multiple run_tts calls and prevent the parent class from pushing text frames.
2026-02-18 12:12:49 -03:00
Paul Kompfner
7910f20e14
Update comment in Azure TTS explaining how we could support dynamic settings updates in the future
2026-02-18 10:07:33 -05:00
Paul Kompfner
d7d94a29f0
Add foundational examples (55) for runtime settings updates via *UpdateSettingsFrame
...
42 examples covering STT (13), TTS (21), LLM (4), and realtime (4) services. Each demonstrates updating service settings 10 seconds after client connects, verifying the typed settings machinery end-to-end for every provider.
2026-02-18 09:46:23 -05:00
Tanmay Chaudhari
6066eec853
Add changelog for PR #3768
2026-02-18 14:31:16 +05:30
Tanmay Chaudhari
cd379671aa
fix: use audio.sample_rate instead of audio.audio_frames in TavusInputTransport
2026-02-18 14:18:16 +05:30
Ian Lee
8006223911
[inworld] default timestamp transport strategy to ASYNC
2026-02-17 15:13:20 -08:00
Paul Kompfner
ce51df677c
Add backward-compat _aliases and from_mapping overrides to TTS settings
...
The migration from plain-dict `self._settings` to typed dataclasses renamed keys and flattened nested dicts. The deprecated dict-based `TTSUpdateSettingsFrame(settings={...})` code path calls `from_mapping`, which silently dropped old keys into `extra`.
- Add `_aliases` so renamed flat keys (e.g. `sample_rate` → `fish_sample_rate`, camelCase Inworld keys) resolve correctly.
- Override `from_mapping` to destructure nested dicts (`output_format`, `prosody`, `audioConfig`, `voice_setting`, `audio_setting`) into their flat field equivalents.
- Fix AsyncAI constructor bug passing `output_format={...}` dict instead of individual `output_container`/`output_encoding`/`output_sample_rate` fields.
2026-02-17 17:07:14 -05:00
Paul Kompfner
68ebd3d063
Migrate HumeTTSService to standard TTSSettings pattern and remove dead TTSService.update_setting
...
HumeTTSService now stores its params (description, speed, trailing_silence) in a proper `HumeTTSSettings` dataclass instead of a separate `_params` Pydantic model, making it work with `TTSUpdateSettingsFrame(update=...)`. The old `update_setting(key, value)` method is kept but deprecated.
Also removes the unused no-op `TTSService.update_setting` base method, which was never called by the `TTSUpdateSettingsFrame` pipeline.
2026-02-17 15:44:41 -05:00
Radek Sedlák
5ea2d47d39
feat: Add support for private endpoint in Azure STT
2026-02-17 21:42:00 +01:00
Paul Kompfner
94a651cee2
Remove dead ServiceSettings.to_dict method
2026-02-17 15:15:18 -05:00
Paul Kompfner
1cad4210ce
Deprecate dict-based *UpdateSettingsFrame(settings={...}) code path in STT, TTS, and LLM services.
...
The dataclass-based API (`*UpdateSettingsFrame(update=*Settings(...))`) is the preferred path since 0.0.103. The dict path still works but now emits a `DeprecationWarning`.
2026-02-17 15:09:39 -05:00
Paul Kompfner
1cec8d119d
Expand language field docstrings to clarify storage invariant.
...
The union type reflects the input side; after construction and `_update_settings`, the stored value is always a service-specific string.
2026-02-17 14:57:38 -05:00
Paul Kompfner
7dc16b1d92
Type language fields and centralize conversion in STT services.
...
Change `TTSSettings.language` and `STTSettings.language` from `Any` to `Language | str | _NotGiven`. Add `language_to_service_language` base method and centralized `isinstance`-guarded conversion in `STTService._update_settings` (mirroring TTS). Update the TTS guard from `is not None` to `isinstance(…, Language)` so raw strings pass through unchanged.
Remove now-redundant per-service language conversion from `_update_settings` overrides (ElevenLabs, Azure, Fal, Whisper). Add `language_to_service_language` to Azure STT so the centralized conversion picks it up. Fix AWS and NVIDIA STT `__init__` to convert language at construction time, then simplify their runtime accessors to read `_settings.language` directly.
2026-02-17 14:49:26 -05:00
Luke Payyapilli
247f0bbcd3
Fix async generator cleanup to prevent uvloop crash on Python 3.12+
2026-02-17 13:10:31 -05:00
Paul Kompfner
d2372c127a
Add specific type annotations to ServiceSettings fields, replacing Any with str, float, int unions as appropriate.
2026-02-17 11:56:37 -05:00
Paul Kompfner
3b1ba57452
Change apply_update / _update_settings return type from set[str] to dict[str, Any]. The dict maps each changed field name to its pre-update value, enabling services to do granular diffing of complex settings objects. Existing call-site patterns ("field" in changed, if changed, iteration) work unchanged; set-difference sites use changed.keys() - {...}.
2026-02-17 11:49:15 -05:00
Paul Kompfner
02c2778b8d
Document _warn_unhandled_updated_settings pattern in COMMUNITY_INTEGRATIONS.md.
2026-02-17 11:08:26 -05:00
Paul Kompfner
fa6a6dabee
Fix DeepgramSageMakerSTTService._update_settings live_options sync to match DeepgramSTTService pattern.
...
Add missing reverse sync (live_options → top-level model/language) and `set_model_name()` call.
2026-02-17 11:02:13 -05:00
Paul Kompfner
3a77b4c1d8
In services that don't handle runtime settings updates—or don't handle them for *all* available settings—log a warning about which fields specifically aren't handled. Revert new apply-settings-updates logic across various services, to reduce PR testing scope. This logic can be added service by service gradually as future work.
...
Note that for services that previously handled applying updates (through methods like `set_model` and `set_language`), we're keeping the update-applying logic (some or most of which is already well-tested) and expanding it to cover all relevant settings fields. Services under this bucket are:
- Deepgram STT
- Deepgram Sagemaker STT
- Elevenlabs STT
- Google STT
- Gradium STT
- OpenAI STT
- Speechmatics STT
2026-02-17 10:58:29 -05:00
Mark Backman
3537420d91
Merge pull request #3761 from speechmatics/fix/sdk-version
2026-02-17 08:02:00 -05:00
Sam Sykes
65fb88e61e
chore: update version specifier for speechmatics-voice
...
Change the version specifier from `>=0.2.8` to
`~=0.2.8` for the `speechmatics-voice` package.
This ensures compatibility with future patch
versions while preventing potential breaking
changes from minor updates.
2026-02-17 09:58:17 +00:00
Sam Sykes
b345f48ac1
fix: update dependency specifier for speechmatics-voice
...
Change the version specifier from >=0.2.8 to ~=0.2.8 for the
speechmatics-voice package to ensure compatibility with future
patch versions.
2026-02-17 09:55:43 +00:00
Mark Backman
f181e12d8f
Add changelog for PR #3759
2026-02-16 11:35:45 -07:00
Mark Backman
36de6003d0
Switch Gradium TTS to AudioContextWordTTSService for multiplexing
...
Use client_req_id-based multiplexing instead of disconnecting and
reconnecting the websocket on every interruption. This follows the
same pattern used by Cartesia, ElevenLabs, and other services via
AudioContextWordTTSService.
Key changes:
- Base class: InterruptibleWordTTSService -> AudioContextWordTTSService
- Add close_ws_on_eos: False to setup message to keep connection alive
- Add client_req_id to text, end_of_stream messages for demultiplexing
- Route audio via append_to_audio_context() instead of push_frame()
- Silently drop messages for cancelled/unknown contexts on interruption
- Add _handle_interruption() that resets context without reconnecting
- Remove no-op push_frame() override
2026-02-16 11:34:16 -07:00
Mark Backman
dba4de77bf
Merge pull request #3684 from ai-coustics/goedev/aic-model-caching
...
AIC model caching
2026-02-16 10:43:14 -05:00
Mark Backman
507765625f
Make UserIdleController always-on with dynamic timeout updates
...
Always create UserIdleController (timeout=0 means disabled), removing
all Optional guards. Add UserIdleTimeoutUpdateFrame to allow changing
the idle timeout at runtime.
2026-02-14 09:54:30 -05:00
Mark Backman
8f5e5e8e7c
Update comment in _maybe_mute_frame
2026-02-14 09:41:42 -05:00
Mark Backman
c682a44bb6
Merge pull request #3738 from lukepayyapilli/fix/mute-events-before-start-frame
...
Fix LLMUserAggregator broadcasting mute events before StartFrame
2026-02-14 09:40:40 -05:00
Mark Backman
cb7023681f
Add changelog for PR #3744
2026-02-14 08:57:46 -05:00
Mark Backman
012ef41ff4
Redesign UserIdleController to use BotStoppedSpeakingFrame
...
Replace the continuous heartbeat-based timer (UserSpeakingFrame/BotSpeakingFrame
+ asyncio.Event loop) with a simple one-shot timer that starts when
BotStoppedSpeakingFrame is received and cancels on UserStartedSpeakingFrame or
BotStartedSpeakingFrame. This eliminates false idle triggers caused by gaps
between the user finishing speaking and the bot starting to speak (LLM/TTS
latency).
Guard the timer start with two conditions to prevent false triggers:
- User turn in progress: during interruptions, BotStoppedSpeaking arrives
while the user is still speaking mid-turn.
- Function calls in progress: FunctionCallsStarted arrives before
BotStoppedSpeaking because the bot speaks concurrently with the function
call starting, so the timer must wait for the result and subsequent bot
response.
2026-02-14 08:55:56 -05:00
Paul Kompfner
66b7b4a5d4
Update COMMUNITY_INTEGRATIONS.md for the new dataclass-based service settings pattern.
2026-02-13 16:04:49 -05:00
Filipi da Silva Fuchter
f6bb5fa124
Merge pull request #3741 from pipecat-ai/filipi/update_prebuilt
...
Using the latest version of pipecat-ai-small-webrtc-prebuilt.
2026-02-13 15:31:48 -05:00
Paul Kompfner
b08548af9d
Remove typed-settings migration scaffolding and rename _update_settings_from_typed to _update_settings.
...
Now that all services use typed `ServiceSettings` objects, this removes the interim scaffolding that supported both dict-based and typed settings paths in parallel. Specifically: removes old dict-based `_update_settings(settings: Mapping)` methods from base classes, removes `isinstance(self._settings, ServiceSettings)` guards, simplifies `process_frame` branching, and renames `_update_settings_from_typed` to `_update_settings` across all ~30 service implementations. Also renames the no-arg `_update_settings()` helper on realtime services to `_send_session_update()` to avoid collision, adds `from_mapping` overrides on `GoogleLLMSettings` and `AnthropicLLMSettings` for ThinkingConfig dict-to-object conversion, and replaces a broken no-arg `_update_settings()` call in Gemini Live with a TODO.
2026-02-13 15:12:26 -05:00
Paul Kompfner
ab92a0e1d7
Remove/deprecate service-specific set_model and set_voice overrides.
...
- NvidiaSTTService.set_model: convert to proper DeprecationWarning (model can't change at runtime for Riva streaming STT)
- NvidiaTTSService.set_model: same treatment for Riva TTS
- NvidiaSegmentedSTTService.set_model: remove — base class now routes through _update_settings_from_typed which re-creates the recognition config
- GeminiTTSService.set_voice: remove — move AVAILABLE_VOICES validation into _update_settings_from_typed so it fires on both legacy and new paths
2026-02-13 15:12:26 -05:00
Paul Kompfner
e37f2f99c4
Deprecate set_model, set_voice, and set_language in favor of *UpdateSettingsFrame.
2026-02-13 15:12:26 -05:00
Paul Kompfner
e43351f5f8
Add class-level _settings type annotations to all service classes for better editor support.
...
Standardize all STT, TTS, and LLM service classes to declare `_settings` with the narrowed Settings type as a class-level annotation. This gives editors and type checkers the specific type when hovering or autocompleting on `self._settings` in each service and its subclasses. Inline `self._settings: Type = ...` assignments are replaced with plain `self._settings = ...`.
2026-02-13 15:12:26 -05:00
Paul Kompfner
444cbb6499
Add turn-completion fields to LLMSettings and handle them in the typed-service-settings path.
...
`filter_incomplete_user_turns` and `user_turn_completion_config` were only handled in the legacy dict-based `_update_settings` code path. This adds them to `LLMSettings` and introduces `LLMService._update_settings_from_typed` so the typed path handles them too.
2026-02-13 15:12:26 -05:00
Paul Kompfner
8a4ab611be
Broad service settings refactor, with the primary aim of making service settings discoverable and strongly-typed. Service settings can be updated at runtime with *UpdateSettingsFrames.
...
Does not (yet) touch `InputParams`, to avoid scope creep and touching something currently part of the public API. But there is a lot of overlap between `*Settings` object fields and `InputParams` fields.
Other than discoverability/typing, these are some other improvements brought by this refactor:
- There is now a single code path (see `_update_settings_from_typed`) where services can respond to settings changes (by, say, reconnecting if needed), improving maintainability and guaranteeing one and only one reconnection no matter which settings changed
- `set_language`/`set_model`/`set_voice`—which we're assuming are usable as public methods, though *not* recommended over `*UpdateSettingsFrame`—all use the same code path as settings updates. They're also now all consistent in that, if a service needs to respond to a change (by, say, reconnecting if needed), any of these methods will kick off that process. Note that this is technically a behavior change.
- Several services now properly react to changed settings by reconnecting:
- `AWSTranscribeSTTService`
- `AzureSTTService`
- `SonioxSTTService`
- `GladiaSTTService`
- `SpeechmaticsSTTService`
- `AssemblyAISTTService`
- `CartesiaSTTService`
- `FishAudioTTSService` (would previously only reconnect when `model` changed)
- `GoogleSTTService`
- `SpeechmaticsSTTService` (which previously only handled *some* settings updates through a nonstandard public `update_params` method)
- `GradiumSTTService`
- `NvidiaSegmentedSTTService` (which previously only handled changes to language)
- Bookkeeping across various services has been reduced, mostly by deduping ivars; the `self._settings` ivar is treated as the source of truth
NOTE: I pretty much guarantee that there are services missed in this PR in terms of bringing to consistency with how updates are handled (like whether changes in certain fields trigger reconnects when they need to). We can squash remaining inconsistencies as we stumble onto them, service by service. The goal here is to get things *mostly* in order, and establish the infrastructure and patterns we'll need going forward.
2026-02-13 15:12:26 -05:00
filipi87
2489c76bc6
Using the latest version of pipecat-ai-small-webrtc-prebuilt.
2026-02-13 16:43:25 -03:00
Mark Backman
73cb96bf66
Merge pull request #3739 from pipecat-ai/mb/docs-skill
...
Add /update-docs Claude Code skill
2026-02-13 13:26:06 -05:00
Mark Backman
79ec61d1d8
Merge pull request #3642 from pipecat-ai/cb/rime-arcana-v3
...
Update RimeTTSService for arcana and mistv2 model support
2026-02-13 13:25:27 -05:00
Mark Backman
ca440594fe
Merge pull request #3720 from pipecat-ai/mb/fix-grok-realtime
...
Fix Grok Realtime voice type validation for server responses
2026-02-13 13:24:53 -05:00
Mark Backman
6c25dd4aa2
Merge pull request #3736 from pipecat-ai/mb/improve-events-docstrings
...
Improve events docstrings
2026-02-13 13:24:15 -05:00
Mark Backman
09bb6bb03b
Merge pull request #3735 from pipecat-ai/mb/fix-llm-tracing-error-handilng
...
Fix double execution of service functions on tracing errors
2026-02-13 13:23:55 -05:00
Mark Backman
746fdfbfef
Merge pull request #3728 from pipecat-ai/mb/upgrade-pillow
...
Bump Pillow upper bound from <12 to <13
2026-02-13 13:23:41 -05:00
Mark Backman
f7af9f1efd
Broaden /update-docs scope to detect missing doc sections
2026-02-13 13:14:45 -05:00
Mark Backman
a5f95acaf5
Add changelog for PR #3735
2026-02-13 13:08:03 -05:00
Mark Backman
e50b138ab2
Fix double execution of service functions when tracing errors occur
...
The outer try/except in each service decorator caught both tracing
setup errors and application errors from the wrapped function. If the
function itself raised (e.g. LLM rate limit, TTS timeout), the
exception was caught and the function was called a second time.
Fix by tracking whether the original function was called via a
fn_called flag. If the function was already called, re-raise the
exception instead of falling back to untraced re-execution.
2026-02-13 13:08:03 -05:00
Mark Backman
3640c7a2dd
Merge pull request #3733 from pipecat-ai/mb/fix-traceable-init
...
Deprecate unused class_decorators tracing module and fix stale comments
2026-02-13 13:04:34 -05:00
Mark Backman
2454bedf29
Add /update-docs skill for keeping docs in sync with source changes
...
Adds a Claude Code skill that analyzes the current branch diff against
main, maps changed source files to their doc pages, and makes targeted
updates to Configuration, InputParams, Usage, Notes, and Event Handlers
sections.
2026-02-13 12:52:23 -05:00
Luke Payyapilli
3adb2f50a6
Fix LLMUserAggregator broadcasting mute events before StartFrame
2026-02-13 11:59:56 -05:00
Mark Backman
01b7a93e08
Deprecate unused Traceable/class_decorators module and fix stale comments
...
The class_decorators.py module (Traceable, @traceable, @traced) is not
used anywhere in the codebase. Mark it deprecated and fix the misleading
comment in service_decorators.py that referenced it as if it were active.
2026-02-13 11:25:40 -05:00
Mark Backman
347eaf582d
Merge pull request #3721 from pipecat-ai/fix/pipeline-scoped-tracing-context
...
Replace singleton context providers with pipeline-scoped TracingContext
2026-02-13 11:24:37 -05:00
Mark Backman
25ca296477
Move tracing fields to AIService and extract _get_turn_context helper
...
Consolidate _tracing_enabled and _tracing_context from LLMService,
STTService, and TTSService into the shared AIService base class.
Extract _get_turn_context() helper in service_decorators.py to
encapsulate the repeated pattern across all traced decorators.
2026-02-13 11:21:24 -05:00
Mark Backman
3fce88555f
Improve events docstrings
2026-02-13 09:39:44 -05:00
Mark Backman
9e6f27c9f1
Merge pull request #3625 from ianbbqzy/ian/inworld-async-timestamp
...
[inworld] Allow Async delivery of timestamps info
2026-02-12 21:20:22 -05:00
Ian Lee
94f01af545
[inworld] Allow Async delivery of timestamps info
...
* speed up first audio chunk latency
2026-02-12 17:48:58 -08:00
Filipi da Silva Fuchter
432870cc36
Merge pull request #3729 from pipecat-ai/filipi/elevenlabs_issue
...
TTS services fixes.
2026-02-12 16:31:46 -05:00
Filipi da Silva Fuchter
e065907745
Merge pull request #3718 from pipecat-ai/filipi/bot_started_speaking
...
Fixing an issue in RTVI where we were sometimes receiving bot output messages before the bot started speaking.
2026-02-12 16:31:14 -05:00
Mark Backman
b7a5ca3d1e
Merge pull request #3730 from pipecat-ai/mb/stt-keepalive
...
Move STT keepalive from WebsocketSTTService to STTService base class
2026-02-12 15:37:23 -05:00
filipi87
9569625f03
Changelog entries for the TTS fixes.
2026-02-12 16:11:02 -03:00
Mark Backman
18afe37bd1
Add changelog entries for PR #3642
2026-02-12 14:09:24 -05:00
Mark Backman
2b9777b812
Update RimeTTSService InputParams for arcana and mistv2 model support
...
Add model-specific params (arcana: repetition_penalty, temperature, top_p;
mistv2: no_text_normalization, save_oovs, segment) with dynamic query param
building via _build_settings(). Model/voice/param changes now trigger
WebSocket reconnection since all settings are URL query params.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-12 14:01:41 -05:00
filipi87
8866ab1585
Fixing RimeTTSService to reuse the same context when needed.
2026-02-12 15:53:38 -03:00
filipi87
f0995164d9
Fixing PlayHTTTSService to reuse the same context when needed.
2026-02-12 15:50:18 -03:00
filipi87
136732afae
Fixing InworldTTSService to reuse the same context when needed.
2026-02-12 15:46:59 -03:00
filipi87
3410eb82b3
Fixing CartesiaTTSService to reuse the same context when needed.
2026-02-12 15:26:49 -03:00
Chad Bailey
794811fbdb
Updated WSS endpoint for Rime Arcana v3 support
2026-02-12 13:24:29 -05:00
filipi87
abea22ec57
Fixing AsyncAITTSService to reuse the same context when needed.
2026-02-12 15:17:47 -03:00
Mark Backman
08beb0264a
Add changelog entries for PR #3730
2026-02-12 13:14:11 -05:00
Mark Backman
2e15b4842c
Move STT keepalive mechanism from WebsocketSTTService to STTService base class
...
This allows non-websocket STT services (like SarvamSTTService, which uses
the Sarvam Python SDK for connection management) to reuse the same keepalive
pattern. Subclasses override _send_keepalive() and _is_keepalive_ready() for
their specific protocol.
2026-02-12 11:09:39 -05:00
filipi87
6d95a2425c
Fixing ElevenLabs TTS word timestamp interleaving across sentences.
2026-02-12 12:54:47 -03:00
Mark Backman
4667a3d66d
Add changelog for #3728
2026-02-12 09:42:23 -05:00
Mark Backman
0bf2477d2c
Bump Pillow upper bound from <12 to <13
2026-02-12 09:41:18 -05:00
Mark Backman
71a752c971
Add tests for TracingContext and TurnTraceObserver
...
Cover pipeline-scoped tracing context lifecycle, span hierarchy,
conversation/turn context management, and concurrent pipeline isolation.
2026-02-11 23:27:35 -05:00
Mark Backman
358f237507
Replace singleton context providers with pipeline-scoped TracingContext
...
ConversationContextProvider and TurnContextProvider were singletons that
stored tracing context as class-level state. When two PipelineTask instances
ran concurrently, they would overwrite each other's context, causing service
spans to attach to the wrong pipeline's turn span.
Replace both singletons with a single TracingContext object owned by each
PipelineTask, threaded to services via StartFrame.
2026-02-11 21:58:10 -05:00
Mark Backman
d99a256715
Merge pull request #3706 from ianbbqzy/ian/inworld-user-agent
...
[Inworld] add User-Agent and X-Request-Id for better traceability
2026-02-11 19:38:26 -05:00
Ian Lee
dcbcab1542
[Inworld] add User-Agent and X-Request-Id for better traceability
2026-02-11 15:47:20 -08:00
Mark Backman
a966947220
Add changelog for #3720
2026-02-11 18:04:58 -05:00
Mark Backman
16b060d9e9
Fix Grok Realtime voice type validation for server responses
...
The Grok API now returns prefixed voice names (e.g. "human_Ara") in
session.updated events, causing Pydantic validation errors. Widen the
voice field type from GrokVoice to GrokVoice | str to accept both
user-facing names and server-returned values.
2026-02-11 18:04:20 -05:00
filipi87
ed7fde324e
Adding changelog entry for the RTVIObserver fix.
2026-02-11 16:23:42 -03:00
filipi87
beb4e86b5f
Fixing an issue in RTVI where we were sometimes receiving bot output messages before the bot started speaking.
2026-02-11 16:17:28 -03:00
Aleix Conchillo Flaqué
e75ccd9c2f
Merge pull request #3717 from pipecat-ai/aleix/update-claude-md-pr-instructions
...
Add /pr-submit skill and clean up CLAUDE.md
2026-02-11 10:40:20 -08:00
Aleix Conchillo Flaqué
a80919ceff
Move PR submission instructions from CLAUDE.md to /pr-submit skill
...
Extract the procedural PR workflow into an actionable skill that can be
invoked with /pr-submit. CLAUDE.md is better suited for project context
and conventions, not step-by-step procedures.
2026-02-11 09:57:42 -08:00
Aleix Conchillo Flaqué
1fe4538982
Update PR submission instructions in CLAUDE.md
...
Expand the Pull Requests section with detailed step-by-step instructions
including branch naming, commit guidance, changelog generation, and PR
description updates.
2026-02-11 09:51:10 -08:00
Filipi da Silva Fuchter
9a48d93bd2
Merge pull request #3713 from pipecat-ai/filipi/smallwebrtc_8khz
...
Fixing smallwebrtc transport input audio resampling logic.
2026-02-11 11:58:32 -05:00
filipi87
0c3e59ed61
Adding changelog entry for the SmallWebRTCTransport fix.
2026-02-11 13:07:52 -03:00
filipi87
ec2b38dc29
Fixing smallwebrtc transport input audio resampling logic.
2026-02-11 13:01:25 -03:00
Gökmen Görgen
2036757b84
add unit tests for AICModelManager and AICFilter error handling, model loading, and processor behavior
2026-02-11 15:22:37 +01:00
Mark Backman
0574167fbd
Merge pull request #3709 from pipecat-ai/mb/fix-quickstart-pcc-deploy
...
Fix quickstart pcc-deploy.toml
2026-02-10 22:19:37 -05:00
Mark Backman
972ad93e18
Fix quickstart pcc-deploy.toml
2026-02-10 22:17:09 -05:00
Mark Backman
ac53594967
Merge pull request #3708 from pipecat-ai/mb/fix-quickstart-pyproject
...
Fix quickstart pyproject.toml
2026-02-10 22:09:49 -05:00
Mark Backman
b063d9d43b
Fix quickstart pyproject.toml
2026-02-10 22:06:38 -05:00
Mark Backman
48e93beadf
Merge pull request #3705 from pipecat-ai/mb/quickstart-0.0.102
...
Update quickstart for 0.0.102
2026-02-10 21:57:33 -05:00
Aleix Conchillo Flaqué
640940a41a
Merge pull request #3704 from pipecat-ai/changelog-0.0.102
...
Release 0.0.102 - Changelog Update
2026-02-10 18:31:30 -08:00
aconchillo
f1e2001a4e
Update changelog for version 0.0.102
2026-02-10 18:28:21 -08:00
Aleix Conchillo Flaqué
12dc6c0b9e
Merge pull request #3707 from pipecat-ai/aleix/fix-openai-stream-close-compat
...
fix(openai): use compatible stream closing for non-OpenAI providers
2026-02-10 18:26:18 -08:00
Aleix Conchillo Flaqué
93f4402198
Update stream close test to match new _closing helper
2026-02-10 18:19:57 -08:00
Aleix Conchillo Flaqué
f3eb5b30a0
Add changelog for #3707
2026-02-10 18:01:29 -08:00
Aleix Conchillo Flaqué
18aad05a7c
fix(openai): use compatible stream closing for non-OpenAI providers
...
OpenAI's AsyncStream uses close() while async generators (e.g. from
OpenPipe) use aclose(). Replace direct async-with on the stream with a
helper that handles both protocols.
2026-02-10 17:59:21 -08:00
Mark Backman
883b24f577
Update quickstart for 0.0.102
2026-02-10 18:14:04 -05:00
Mark Backman
17ab9c425f
Merge pull request #3675 from pipecat-ai/mb/elevenlabs-realtime-send-silence
...
Add silence-based keepalive to WebsocketSTTService
2026-02-10 18:03:38 -05:00
Mark Backman
2f5e61ac55
Add silence-based keepalive to WebsocketSTTService
...
Adds opt-in keepalive_timeout and keepalive_interval params to
WebsocketSTTService. When enabled, a background task sends silent audio
(or a service-specific protocol message) when the connection has been
idle, preventing server-side timeout disconnects.
Subclasses override _send_keepalive(silence) to wrap the silence in
their wire format. The default sends raw PCM bytes.
Enables keepalive for ElevenLabs (10s), Gladia (20s), and Soniox (1s),
replacing their per-service custom keepalive tasks.
2026-02-10 17:58:47 -05:00
Aleix Conchillo Flaqué
1128c5b7fb
Merge pull request #3702 from pipecat-ai/aleix/add-missing-local-smartturn-dependency
...
pyproject: add local smartturn as a default dependency
2026-02-10 14:34:43 -08:00
Aleix Conchillo Flaqué
a9a5edd8ca
pyproject: add local smartturn as a default dependency
2026-02-10 14:32:32 -08:00
Filipi da Silva Fuchter
a98c884e31
Merge pull request #3621 from pipecat-ai/filipi/context_compressure
...
Context summarization feature implementation
2026-02-10 17:04:47 -05:00
filipi87
2475697955
Changelog entries for context summarization
2026-02-10 18:59:12 -03:00
filipi87
ba242d4875
Context summarization example with Google
2026-02-10 18:59:03 -03:00
filipi87
5deb80932b
Context summarization example with OpenAI
2026-02-10 18:58:55 -03:00
filipi87
4a00e6829f
Automated tests for the context summarizer.
2026-02-10 18:58:44 -03:00
filipi87
9d89afa7d4
Automated tests for the context summarization feature.
2026-02-10 18:58:33 -03:00
filipi87
92b6ecd945
New Claude skill to help refactor and cleanup the code.
2026-02-10 18:58:22 -03:00
filipi87
314d074c61
Context summarization feature implementation.
2026-02-10 18:58:12 -03:00
Filipi da Silva Fuchter
9c627e7292
Merge pull request #3653 from pipecat-ai/filipi/heygen_lite
...
HeyGen improvements.
2026-02-10 12:12:22 -05:00
Filipi da Silva Fuchter
ad179b0852
Merge pull request #3584 from pipecat-ai/filipi/speak_frame
...
TTS services improvements.
2026-02-10 12:11:47 -05:00
filipi87
5128089d42
Add changelog entries for PR #3653 .
2026-02-10 14:02:32 -03:00
filipi87
87a79df048
Updating the heygen examples to use sandbox by default.
2026-02-10 14:02:20 -03:00
filipi87
24f90715e3
Use LITE as the default mode, and add support for video_settings and is_sandbox in LiveAvatarNewSessionRequest.
2026-02-10 14:02:09 -03:00
filipi87
e00b98343e
Changelog entries for TTS context tracking
2026-02-10 11:37:21 -03:00
filipi87
ad1bec4583
Updated openai example to use on_tts_request and append_to_text.
2026-02-10 11:28:35 -03:00
filipi87
a47d7f98ee
Refactored all 30+ TTS service implementations to support context tracking
2026-02-10 11:28:08 -03:00
filipi87
19cd242261
Added TTS context tracking system to trace audio generation through the pipeline.
2026-02-10 11:27:58 -03:00
filipi87
9bb712a47b
Simplified universal context aggregators, _handle_text() to only check frame.append_to_context instead of also checking self._started
2026-02-10 11:27:30 -03:00
filipi87
1dccbe7c0b
Simplified context aggregators, _handle_text() to only check frame.append_to_context instead of also checking self._started
2026-02-10 11:27:13 -03:00
Mark Backman
2dd3e2f1e7
Merge pull request #3697 from pipecat-ai/mb/soniox-rt-4
...
Update SonioxSTTService default model to stt-rt-v4
2026-02-10 09:24:39 -05:00
filipi87
f206aaa28d
- Added context_id field to all TTS-related frames (TTSAudioRawFrame, TTSStartedFrame, TTSStoppedFrame, AggregatedTextFrame, TTSTextFrame)
...
- Added append_to_context parameter to TTSSpeakFrame for conditional LLM context addition
2026-02-10 11:22:26 -03:00
Mark Backman
60e42f5690
Merge pull request #3701 from pipecat-ai/mb/changelog-3700
2026-02-10 09:19:42 -05:00
Mark Backman
88e981c013
Set vad_force_turn_endpoint to False in SonioxSTTService
2026-02-10 09:16:03 -05:00
Mark Backman
7bd8dfe898
Add changelog for PR 3700
2026-02-10 08:20:03 -05:00
Mark Backman
83039a1a35
Merge pull request #3700 from ashotbagh/chore/async-migration
...
chore: update Async API URL and default model
2026-02-10 08:17:04 -05:00
Ashot
28e8b61eb4
chore: update Async API URL and default model
2026-02-10 15:23:51 +04:00
Mark Backman
d47d95e1f0
Update SonioxSTTService default model to stt-rt-v4
2026-02-09 23:48:08 -05:00
Mark Backman
79b9d929c5
Merge pull request #3682 from eoinoreilly30/patch-1
...
Add new voice options 'marin' and 'cedar'
2026-02-09 23:47:39 -05:00
Eoin
dfc0856d54
Added changelog entry
2026-02-10 12:31:26 +09:00
Eoin
f3c1cd4cd6
Lint
2026-02-10 12:31:26 +09:00
Eoin
18d91d6df3
Add new voice options 'marin' and 'cedar'
2026-02-10 12:31:26 +09:00
Mark Backman
688f502488
Merge pull request #3644 from pipecat-ai/mb/update-assembly-ai-default-config
...
AssemblyAISTTService: Disable turn detection when setting vad_force_t…
2026-02-09 22:27:44 -05:00
Mark Backman
7684a94c33
AssemblyAISTTService: Disable turn detection when setting vad_force_turn_endpoint to True
2026-02-09 22:20:35 -05:00
Aleix Conchillo Flaqué
e27f4bccfb
Merge pull request #3695 from pipecat-ai/aleix/more-claude-updates
...
CLAUDE.md: add pipeline task and pipeline runner
2026-02-09 18:14:30 -08:00
Mark Backman
fa8b0aeda8
Merge pull request #3690 from pipecat-ai/mb/add-claude-settings
...
Add shared Claude Code settings
2026-02-09 19:22:28 -05:00
Aleix Conchillo Flaqué
946f0f4e77
CLAUDE.md: add pipeline task and pipeline runner
2026-02-09 16:19:11 -08:00
Mark Backman
b9cf3f3225
Merge pull request #3694 from pipecat-ai/mb/claude-updates
...
Add observers, error handling, task management, and testing to CLAUDE.md
2026-02-09 19:05:49 -05:00
Aleix Conchillo Flaqué
d32c4b2f5f
Merge pull request #3693 from pipecat-ai/aleix/update-examples-remove-default-turn-analyzer
...
remove the now default turn analyzer from examples
2026-02-09 16:04:19 -08:00
Mark Backman
77a5d16a10
Merge pull request #3692 from pipecat-ai/mb/request-metadata-updates
...
Rename RequestMetadataFrame to ServiceSwitcherRequestMetadataFrame with service targeting
2026-02-09 18:19:29 -05:00
Mark Backman
ca224834b2
Add observers, error handling, task management, and testing to CLAUDE.md
2026-02-09 18:12:24 -05:00
Aleix Conchillo Flaqué
3867bc6302
LLMUserAggregator: update turn analyzer warning
2026-02-09 14:33:38 -08:00
Aleix Conchillo Flaqué
83a8379401
examples: remove the now default turn analyzer user turn stop strategy
2026-02-09 14:33:38 -08:00
mattie ruth backman
f2688deb0d
Update args field in RTVILLMFunctionCallInProgressMessageData to match API of existing RTVILLMFunctionCallResultData.
2026-02-09 17:17:01 -05:00
Mark Backman
981253c703
Rename RequestMetadataFrame to ServiceSwitcherRequestMetadataFrame with service targeting
...
Add a `service` field so the frame targets a specific service, allowing
ServiceSwitcher.push_frame to consume it only when the targeted service
matches the active service. STTService and test mocks now push the frame
downstream after handling instead of silently consuming it.
2026-02-09 16:48:34 -05:00
Mark Backman
aa6c9797ca
Merge pull request #3671 from pipecat-ai/mb/sarvam-cleanup
...
Clean up on Sarvam STT and TTS classes
2026-02-09 15:58:34 -05:00
Mark Backman
6305e04569
Clean up on Sarvam STT and TTS classes
2026-02-09 15:53:05 -05:00
Mark Backman
3ff9b7b5ad
Merge pull request #3687 from pipecat-ai/mb/rtvi-mute-events
...
Emit RTVI events for user mute/unmute
2026-02-09 15:18:28 -05:00
Mark Backman
cc797ba3cf
Add shared Claude Code settings to disable commit attribution
2026-02-09 15:15:31 -05:00
Aleix Conchillo Flaqué
91c8122c17
Merge pull request #3689 from pipecat-ai/aleix/default-smart-turn-stop-strategy
...
Use TurnAnalyzerUserTurnStopStrategy as default stop strategy
2026-02-09 12:07:16 -08:00
Aleix Conchillo Flaqué
944ac92593
Fix test_langchain to use explicit stop strategy
...
The default stop strategy changed to TurnAnalyzerUserTurnStopStrategy,
which requires actual audio analysis. Use SpeechTimeoutUserTurnStopStrategy
explicitly since this test is not testing turn detection.
2026-02-09 12:00:41 -08:00
Aleix Conchillo Flaqué
ca0d2e68c3
Add changelog for #3689
2026-02-09 11:58:09 -08:00
Aleix Conchillo Flaqué
631463e573
Use TurnAnalyzerUserTurnStopStrategy as default stop strategy
...
Change the default user turn stop strategy from
TranscriptionUserTurnStopStrategy to TurnAnalyzerUserTurnStopStrategy
with LocalSmartTurnAnalyzerV3. Also reduce AUDIO_INPUT_TIMEOUT_SECS
from 1.0 to 0.5 and remove its debug log.
2026-02-09 11:58:09 -08:00
Mark Backman
6a553367a2
Merge pull request #3676 from pipecat-ai/mb/code-review-skill
...
Add Claude code-review skill
2026-02-09 14:48:20 -05:00
Mark Backman
00ec6c77ea
Emit RTVI events for user mute/unmute state changes
...
Add UserMuteStartedFrame/UserMuteStoppedFrame and corresponding RTVI
messages so clients can observe when mute strategies activate/deactivate.
2026-02-09 14:44:32 -05:00
Mark Backman
ee6520db30
Merge pull request #3637 from pipecat-ai/mb/improve-user-stop-turn
...
Improve user turn stop timing by triggering timeout from VAD stop, push STT metadata to user aggregator
2026-02-09 14:43:22 -05:00
Aleix Conchillo Flaqué
2a572aedba
Simplify ServiceSwitcher with closure-based filters
...
- Make ServiceSwitcherStrategy inherit from BaseObject with properties
for services and active_service, and move initial service selection
into the base class
- Add on_service_switched event to ServiceSwitcherStrategy
- handle_frame now returns the switched-to service (or None), allowing
ServiceSwitcher to swallow ManuallySwitchServiceFrame on switch and
request metadata from the new active service
- Override push_frame to suppress RequestMetadataFrame and
ServiceMetadataFrame from inactive services
- Remove ServiceSwitcherFilter and ServiceSwitcherFilterFrame in favor
of plain FunctionFilter instances with closures that check the
strategy's active service directly
- FunctionFilter: add FilterType alias
- FunctionFilter: when direction is None, frames in both directions
are filtered instead of just one
- Add docstrings to ServiceSwitcher and its components
2026-02-09 14:12:33 -05:00
Mark Backman
5e66702cf5
Improved the accuracy of the UserBotLatencyObserver and UserBotLatencyLogObserver
2026-02-09 14:12:33 -05:00
Mark Backman
34b068d657
Improve user turn stop timing by triggering timeout from VAD stop
...
Refactor TranscriptionUserTurnStopStrategy and TurnAnalyzerUserTurnStopStrategy
to use VADUserStoppedSpeakingFrame as the ground truth for when speech ended,
rather than triggering timeouts from transcription frames.
2026-02-09 14:12:33 -05:00
Mark Backman
05e2a013b3
Merge pull request #3672 from pipecat-ai/mb/rtvi-duplicate-events
...
Filter RTVIObserver to downstream frames only and broadcast FunctionCallCancelFrame
2026-02-09 12:58:28 -05:00
Mark Backman
5f64dae0cf
Filter RTVIObserver to downstream frames only and broadcast FunctionCallCancelFrame
...
RTVIObserver now skips upstream frames to prevent duplicate RTVI messages
when frames are broadcast in both directions. Also changed
FunctionCallCancelFrame to use broadcast_frame for consistency with
other function call frames.
2026-02-09 12:39:25 -05:00
Mark Backman
1bf8b54502
Merge pull request #3683 from dhruvladia-sarvam/sarvam-v3-update
2026-02-09 06:49:59 -05:00
Gökmen Görgen
ed3ec045aa
add changelog file.
2026-02-09 12:04:09 +01:00
Gökmen Görgen
67d39a97f7
AIC model caching.
2026-02-09 11:51:28 +01:00
dhruvladia-sarvam
947ff03c9f
v3 addition
2026-02-09 13:04:45 +05:30
Om Chauhan
a4e187e138
replace background task with flush-on-join
2026-02-09 06:04:08 +05:30
Om Chauhan
9f380170d7
added changelog
2026-02-09 05:37:43 +05:30
Om Chauhan
12f27f9cda
fix(daily): queue outbound messages until transport joins
2026-02-09 05:37:43 +05:30
Mark Backman
104d06551a
Merge pull request #3679 from pipecat-ai/mb/remove-to-be-updated
...
Remove SequentialMergePipeline
2026-02-08 15:28:38 -05:00
Mark Backman
90ad2a4e81
Remove SequentialMergePipeline
2026-02-08 14:44:48 -05:00
Mark Backman
3494a94cac
Add Claude code-review skill
2026-02-08 11:06:48 -05:00
Mark Backman
570f2d7fc0
Merge pull request #3667 from ianbbqzy/ian/fix-auto-mode-space
...
[inworld] aggregate_sentence mode needs trailing space
2026-02-07 18:22:32 -05:00
Ian Lee
f3d99adf8f
[inworld] aggregate_sentence mode needs trailing space
2026-02-07 15:18:24 -08:00
Mark Backman
d34f416281
Merge pull request #3598 from dhruvladia-sarvam/sarvam-v3-update
...
ASR and TTS v3 update
2026-02-07 10:51:35 -05:00
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é
5cb8d91431
added changelog file for #3616
2026-02-06 16:45:23 -08: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é
30f51edfcd
Merge pull request #3668 from pipecat-ai/aleix/parallel-pipeline-buffering
...
Buffer internal frames during ParallelPipeline lifecycle sync
2026-02-06 15:25:32 -08:00
Aleix Conchillo Flaqué
cd03d449cb
Update changelog skill with skip rules and allowed types
2026-02-06 15:23:14 -08:00
Aleix Conchillo Flaqué
57df03aade
Update CLAUDE.md with PR workflow instructions
2026-02-06 15:23:14 -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é
5b67e76de7
Add changelog for PR #3660
2026-02-06 10:11:00 -08:00
Aleix Conchillo Flaqué
b9e79bd06a
CLAUDE.md: explain about InterruptionFrame.complete()
2026-02-06 10:11:00 -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é
a352b2d7a0
Add tests for InterruptionFrame completion event
...
Add tests for the event-based interruption completion: complete() sets
the event, complete() is safe without an event, the event fires at
the pipeline sink, and a warning is logged when the frame is blocked.
Also remove the unconditional await after the timeout so the function
returns instead of hanging when complete() is never called.
2026-02-06 09:57:24 -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
af562bf9a8
Merge pull request #3664 from pipecat-ai/mb/elevenlabs-scribe-v2
...
Update ElevenLabsSTTService to scribe_v2
2026-02-06 12:31:44 -05:00
Mark Backman
d4993f0dcf
Update ElevenLabsSTTService to scribe_v2
2026-02-06 11:37:23 -05:00
Luke Payyapilli
1790a84bfd
add changelog
2026-02-06 10:05:02 -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
e66d6f8ffe
Merge pull request #3658 from pipecat-ai/mb/bump-protobuf-5.29.6
...
Upgrade protobuf to >=5.29.6
2026-02-05 19:09:30 -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
90700d10aa
Upgrade protobuf to >=5.29.6
2026-02-05 18:08:52 -05: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
Mark Backman
669f013970
Merge pull request #3657 from pipecat-ai/filipi/changing_no_audio_log_to_debug
...
Changing the ‘no audio received’ log from warning to debug.
2026-02-05 17:35:24 -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
d11e1cd631
Update 13k to use ElevenLabsRealtimeSTTService
2026-02-05 15:48:00 -05:00
Mark Backman
8b9da632d1
Add OpenAIRealtimeSTTService
2026-02-05 15:48:00 -05:00
Mark Backman
b36f7892a4
Merge pull request #3654 from pipecat-ai/aleix/more-claude-update
...
CLAUDE.md: add RTVI and serializers
2026-02-05 15:23:35 -05:00
Mark Backman
9b43cde128
Merge pull request #3355 from itsderek23/user-bot-latency
...
Add `user_bot_latency_seconds` to OpenTelemetry turn spans
2026-02-05 15:23:15 -05:00
filipi87
6af4d872a8
Refactoring the serializers to ignore the RTVI messages by default.
2026-02-05 16:52:53 -03:00
Ian Lee
22398e1410
add changelog back
2026-02-05 11:39:39 -08:00
Ian Lee
d10467e043
update timestamps reset handling
2026-02-05 11:39:39 -08:00
Ian Lee
cbe131636d
add changelog
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
8791559351
Add changelog entry for PR #3355
2026-02-05 14:29:45 -05:00
Derek Haynes
f6c919354f
Add test for user bot latency
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
Aleix Conchillo Flaqué
2b4f507d37
CLAUDE.md: add RTVI and serializers
2026-02-05 11:06:00 -08:00
Mark Backman
d6f3a90662
Merge pull request #3652 from pipecat-ai/mb/upgrade-small-webrtc-prebuilt-2.1.0
...
Upgrade pipecat-ai-small-webrtc-prebuilt to 2.1.0
2026-02-05 13:48:54 -05:00
Derek Haynes
8fb0e37965
Update changelog for #3649
2026-02-05 11:35:22 -07:00
Derek Haynes
0d45b48f7b
Fix import placement
2026-02-05 11:26:58 -07:00
Mark Backman
6af4520b1f
Merge pull request #3635 from pipecat-ai/filipi/fix_websocket
...
Fixed an error in the WebSocket transport that occurred when an InputTransportMessageFrame was received and broadcast.
2026-02-05 12:22:59 -05:00
filipi87
ba469e5645
Add changelog entry
...
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-02-05 12:19:51 -05: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
Mark Backman
54db37ea47
Upgrade pipecat-ai-small-webrtc-prebuilt to 2.1.0
2026-02-05 12:09:51 -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
46da6cd91b
Update changelogs
2026-02-04 11:19:30 -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
dhruvladia-sarvam
e6b06414b3
change default speaker for bulbul:v3-beta to shubh
2026-02-04 16:46:35 +05:30
Aleix Conchillo Flaqué
6bcfb40d12
Merge pull request #3636 from pipecat-ai/aleix/initial-claude-md
...
initial CLAUDE.md
2026-02-03 19:31:16 -08:00
Aleix Conchillo Flaqué
65b1a8ce36
initial CLAUDE.md
2026-02-03 18:04:54 -08: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é
4f77c532fb
Merge pull request #3623 from pipecat-ai/aleix/pipeline-task-rtvi-always-set-bot-ready
...
PipelineTask: also call set_bot_ready() for external RTVI processors
2026-02-03 14:21:03 -08: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
d50ec33079
Merge pull request #3542 from lukepayyapilli/fix/terminal-frames-uninterruptible
...
fix: make EndFrame and StopFrame uninterruptible to prevent pipeline freeze
2026-02-03 10:08:17 -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
5d5b19e1d2
Add changelog entry
2026-02-03 09:12:59 -05:00
Luke Payyapilli
8d3e10f054
Make EndFrame and StopFrame uninterruptible to prevent pipeline freeze
2026-02-03 09:12:59 -05:00
dhruvladia-sarvam
1665ce181a
refactor(sarvam): centralize model configuration with dataclasses
2026-02-03 14:33:41 +05:30
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
b427d534ae
Add tests for parse_telephony_websocket StopAsyncIteration handling
...
Tests cover:
- No messages received (raises ValueError)
- One message received (logs warning, continues)
- Two messages received (normal operation)
- All telephony providers (Twilio, Telnyx, Plivo, Exotel)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-02-03 16:33:36 +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
Aleix Conchillo Flaqué
4c10ddb7bb
upgrade uv.lock
2026-02-02 16:25:06 -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
ca49acfaa6
Merge pull request #3619 from pipecat-ai/mb/resemble-readme
...
Resemble cleanup
2026-02-02 09:20:11 -05:00
Mark Backman
86147f15f3
Renumber the Resemble foundational example
2026-02-02 09:07:05 -05:00
Mark Backman
5cda72d138
Add Resemble TTS to README
2026-02-02 09:05:03 -05:00
Mark Backman
54e62a8177
Merge pull request #3134 from pipecat-ai/mb/resemble-tts-draft
...
Add ResembleAITTSService
2026-02-02 08:59:27 -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
774041e9a1
Add changelog for PR #3617
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-02 14:47:22 +08: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
Om Chauhan
50dedf350d
fix: ensure function call timeout task is always cancelled
2026-02-02 08:38:54 +05:30
okue
d3ecbb11c1
fix: pass frame class instead of instance to broadcast_frame in websocket transports
...
broadcast_frame() expects a frame class and kwargs, but the three
websocket input transports (fastapi, client, server) were incorrectly
passing a frame instance. This would cause a TypeError at runtime when
an InputTransportMessageFrame was received.
2026-02-01 20:38:34 +09:00
Aleix Conchillo Flaqué
f453227ba3
Merge pull request #3612 from pipecat-ai/aleix/use-kokoro-onnx
...
KokoroTTSService: use kokoro-onnx instead of kokoro
2026-01-31 21:03:55 -08:00
Aleix Conchillo Flaqué
52cc64019a
Merge pull request #3611 from pipecat-ai/aleix/aicoustics-example-update
...
examples: update 07zd to use vad_analyzer in LLMUserAggregator
2026-01-31 21:02:50 -08:00
Aleix Conchillo Flaqué
95689cc81c
KokoroTTSService: use kokoro-onnx instead of kokoro
2026-01-31 17:20:27 -08:00
Aleix Conchillo Flaqué
675c7c43e3
examples: update 07zd to use vad_analyzer in LLMUserAggregator
2026-01-31 15:31:15 -08:00
Aleix Conchillo Flaqué
bfd19e867c
Merge pull request #3610 from pipecat-ai/aleix/dont-add-rtvi-observer-if-already-there
...
PipelineTask: don't add RTVIObserver if already there
2026-01-31 14:57:52 -08:00
Aleix Conchillo Flaqué
acc9923c0a
PipelineTask: don't add RTVIObserver if already there
2026-01-31 14:54:29 -08:00
Mark Backman
bdc9e7e2e4
Merge pull request #3608 from pipecat-ai/mb/quickstart-0.0.101
...
Update quickstart for 0.0.101
2026-01-31 10:39:17 -05:00
Mark Backman
a587e1b99a
Update quickstart for 0.0.101
2026-01-31 09:52:24 -05:00
Aleix Conchillo Flaqué
7853e5ca93
Merge pull request #3606 from pipecat-ai/changelog-0.0.101
...
Release 0.0.101 - Changelog Update
2026-01-30 22:58:22 -08:00
aconchillo
614b8e1a62
Update changelog for version 0.0.101
2026-01-30 22:54:31 -08:00
Aleix Conchillo Flaqué
ef51c2a5c6
changelog: fix 3582 changed file
2026-01-30 22:48:26 -08:00
Aleix Conchillo Flaqué
f42dc0d38e
Merge pull request #3605 from pipecat-ai/aleix/gemini-live-schedule-transcription-timeout-handler
...
GeminiLiveLLMService: let the transcription timeout handler be scheduled
2026-01-30 22:44:05 -08:00
Aleix Conchillo Flaqué
d87f3543c7
GeminiLiveLLMService: let the transcription timeout handler be scheduled
2026-01-30 22:41:10 -08:00
Aleix Conchillo Flaqué
fee633cb92
scripts(evals): disable kokoro for now
2026-01-30 21:23:42 -08:00
Aleix Conchillo Flaqué
607af91153
Merge pull request #3604 from pipecat-ai/mb/fix-ivr-navigator-aggregation
...
Fix IVRNavigator to push AggregatedTextFrame when switching to conver…
2026-01-30 21:22:20 -08:00
Mark Backman
e779233918
Fix IVRNavigator to push AggregatedTextFrame when switching to conversation mode
2026-01-30 21:07:49 -05:00
Aleix Conchillo Flaqué
604d5d0b14
examples: update 07zi and 07zj to use vad_analyzer form LLMUserAggregator
2026-01-30 16:14:02 -08:00
Mark Backman
342ae7af41
Merge pull request #3601 from pipecat-ai/mb/add-22-release-evals
...
Add 22 foundational to release evals
2026-01-30 15:31:54 -05:00
Mark Backman
c92ec1552e
Add 22 foundational to release evals
2026-01-30 15:12:52 -05:00
Aleix Conchillo Flaqué
93160f1455
scripts(evals): remove vad_analyzer from transport
2026-01-30 12:08:12 -08:00
Aleix Conchillo Flaqué
e3158e1131
Merge pull request #3600 from pipecat-ai/aleix/llm-server-timeout-task-never-waited
...
LLMService: make sure function call timeout handler is started
2026-01-30 12:01:18 -08:00
Mark Backman
63a23246d5
Add UserTurnCompletionLLMServiceMixin ( #3518 )
...
* Added UserTurnCompletionLLMServiceMixin class
* Added 22-filter-incomplete-turns.py foundational example
* Removed old 22 natural conversation foundational examples
* Added test_user_turn_completion_mixin.py
2026-01-30 14:57:15 -05:00
Aleix Conchillo Flaqué
569ea9849a
Merge pull request #3599 from pipecat-ai/aleix/release-evals-disable-rtvi
...
scripts(evals): disable RTVI
2026-01-30 11:44:46 -08:00
Aleix Conchillo Flaqué
a98ca9b65b
LLMService: make sure function call timeout handler is started
2026-01-30 11:38:26 -08:00
Aleix Conchillo Flaqué
c9310789dc
scripts(evals): use new vad_analyzer from LLMUSerAggregator
2026-01-30 10:57:17 -08:00
Aleix Conchillo Flaqué
b93e12d701
scripts(evals): disable RTVI
2026-01-30 10:52:38 -08:00
Aleix Conchillo Flaqué
3f77da627d
Merge pull request #3583 from pipecat-ai/aleix/move-vad-analyzer-to-llm-user-aggregator
...
VAD analyzer is now passed to LLMUserAggregator
2026-01-30 10:46:10 -08:00
Aleix Conchillo Flaqué
35d265770d
LLMUserAggregator: don't process certain self-queued frames
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
9632efec8c
VADProcessor: broadcast frames
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
27dbfa1eda
NvidiaTTSService: return AsyncIterator instead of AsyncIterable
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
183c0aa4ef
LLMUserAggregator: queue frames internally so strategies and controllers can process them
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
a69a037ffa
changelog: add updates for #3583
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
c46e7f5da0
TurnAnalyzerUserTurnStopStrategy: only update vad params if frame contains vad
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
307aeaeda0
examples: update with LLMUserAggregatorParams vad_analyzer and VADProcessor
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
305ab44132
tests: add unittest.main() call
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
b486f35c70
audio: add new VADProcessor
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
c92080b0d2
LLMUserAggregator: add vad_analyzer and use VADController
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
ddfedaf478
audio(vad): add new VADController
2026-01-30 10:07:34 -08:00
Aleix Conchillo Flaqué
b1ad4d5ab0
BaseInputTransport: deprecate vad_analyzer
2026-01-30 10:07:33 -08:00
Aleix Conchillo Flaqué
0857aa87be
Merge pull request #3595 from pipecat-ai/aleix/add-kokoro-tts-support
...
services(tss): add new KokoroTTSService
2026-01-30 09:49:05 -08:00
Aleix Conchillo Flaqué
fd3c5f69b7
upgrade uv.lock
2026-01-30 09:41:33 -08:00
Aleix Conchillo Flaqué
72ab329513
services(tss): add new KokoroTTSService
2026-01-30 09:39:01 -08:00
Filipi da Silva Fuchter
7999d08b7e
Merge pull request #3052 from Navigate-AI/fork/main
...
Include pts in video and audio frames in SmallWebRTCClient
2026-01-30 09:03:29 -05:00
dhruvladia-sarvam
57821cf709
fix
2026-01-30 16:07:52 +05:30
dhruvladia-sarvam
18045582a9
ASR and TTS v3 update
2026-01-30 15:53:06 +05:30
Mark Backman
7be2b8cc34
Merge pull request #3587 from pipecat-ai/mb/gradium-improvements
...
GradiumSTTService now flushes pending transcripts on VAD stopped dete…
2026-01-29 18:11:25 -05:00
Aleix Conchillo Flaqué
671cc8eb74
Merge pull request #3590 from pipecat-ai/aleix/custom-cli-runner-args
...
runner: allow custom CLI arguments
2026-01-29 13:53:27 -08:00
Aleix Conchillo Flaqué
b4dce656f0
Merge pull request #3594 from pipecat-ai/aleix/user-turn-controller-reset-timeout-on-interims
...
UserTurnController: reset user turn timeout with interim transcriptions
2026-01-29 13:12:44 -08:00
Aleix Conchillo Flaqué
253a1d1114
UserTurnController: reset user turn timeout with interim transcriptions
2026-01-29 13:10:10 -08:00
Aleix Conchillo Flaqué
ca613bcb79
Merge pull request #3592 from pipecat-ai/aleix/broadcast-frame-no-deepcopy
...
don't deep copy fields when broadcasting frames
2026-01-29 11:50:20 -08:00
Aleix Conchillo Flaqué
0423acd8a0
STTService: just clear buffer before running run_stt()
2026-01-29 11:47:57 -08:00
Aleix Conchillo Flaqué
7eabaaa0ef
FrameProcessors: do not deepcopy fields when broadcasting frames
2026-01-29 11:47:57 -08:00
Aleix Conchillo Flaqué
bbb8b53d03
runner: allow custom CLI arguments
2026-01-29 10:15:53 -08:00
Aleix Conchillo Flaqué
f3b72e9263
Merge pull request #3585 from pipecat-ai/aleix/improve-piper-tts-support
...
improve Piper TTS support
2026-01-29 08:36:13 -08:00
Mark Backman
31c7fbc5ba
Add delay_in_frames and language support
2026-01-29 10:59:04 -05:00
Mark Backman
6ab12626d6
GradiumSTTService now flushes pending transcripts on VAD stopped detection
2026-01-29 10:26:17 -05:00
Mark Backman
b77a50de73
Merge pull request #3529 from lukepayyapilli/fix/llm-timeout-without-retry
...
feat: handle exceptions for BaseOpenAILLMService
2026-01-29 09:12:54 -05:00
Luke Payyapilli
433c1b9b92
add catch-all exception handler per review feedback
2026-01-29 09:07:06 -05:00
Aleix Conchillo Flaqué
bd00587092
changelog: add files for 3585
2026-01-29 00:16:39 -08:00
Aleix Conchillo Flaqué
5a85e27cc5
PiperHttpTTSService: allow passing a voice id
2026-01-29 00:16:39 -08:00
Aleix Conchillo Flaqué
11daa43b1b
TTSService: resample _stream_audio_frames_from_iterator() input audio if needed
2026-01-29 00:16:39 -08:00
Aleix Conchillo Flaqué
875614ff7a
tts: add support for local PiperTTSService
2026-01-29 00:16:39 -08:00
Aleix Conchillo Flaqué
eb1bf1e446
tts: rename PiperTTSService to PiperHttpTTSService
2026-01-28 23:27:32 -08:00
mattie ruth backman
7456a0a55f
Fix the /start and /offer/api proxy endpoints for smallWebRTC to match pipecat cloud behavior WRT requestData
2026-01-28 15:25:13 -05:00
Filipi da Silva Fuchter
27277ed3d9
Merge pull request #3571 from pipecat-ai/filipi/funcion_call_improvements
...
Function call improvements
2026-01-28 14:03:40 -05:00
filipi87
5543bc56f3
Add changelog files for PR #3571
...
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-28 15:43:59 -03:00
filipi87
c8496dfb8e
Updated the examples which use UserImageRequestFrame to defer the function call result.
2026-01-28 15:39:21 -03:00
filipi87
d3f4cbb620
Providing a way to defer the function call results.
2026-01-28 15:39:06 -03:00
filipi87
c9f922c479
Removed an overridden method that was identical to the parent implementation.
2026-01-28 15:38:40 -03:00
Aleix Conchillo Flaqué
49bd3da26b
Merge pull request #3582 from pipecat-ai/aleix/daily-sample-room-url
...
rename DAILY_SAMPLE_ROOM_URL to DAILY_ROOM_URL
2026-01-28 10:38:14 -08:00
Aleix Conchillo Flaqué
f3ef488925
rename DAILY_SAMPLE_ROOM_URL to DAILY_ROOM_URL
2026-01-28 10:05:27 -08:00
Aleix Conchillo Flaqué
4f08098917
Merge pull request #3580 from Pulkit0729/fix/livekit
...
fix: adding missing livekit transport configs
2026-01-28 10:04:34 -08:00
Pulkit
a7cd5b0322
fix: adding missing livekit transport configs
2026-01-28 23:15:03 +05:30
Aleix Conchillo Flaqué
55dadc9118
tests(genesys): fix formatting
2026-01-28 09:15:42 -08:00
Aleix Conchillo Flaqué
01bbf61e0d
Merge pull request #3500 from ssillerom/feature/genesys_serializer
...
Feature/genesys serializer
2026-01-28 09:09:11 -08:00
ssillerom
10fb77c0e2
added changelog file
2026-01-28 18:07:33 +01:00
ssillerom
2612fae527
ruff linting
2026-01-28 18:02:51 +01:00
ssillerom
c5be67f293
fix: create disconnect message passing output vars
2026-01-28 17:56:21 +01:00
kompfner
312caaba86
Merge pull request #3429 from lukepayyapilli/fix/gemini-live-interrupted-signal
...
feat: handle server_content.interrupted for faster interruptions
2026-01-28 10:25:36 -05:00
Luke Payyapilli
ff0eb6d286
fix: emit ErrorFrame on LLM completion timeout
2026-01-28 09:44:32 -05:00
ssillerom
ef6bbace98
fixes: super init inhereted class to set event hanlders in the construct
2026-01-28 15:40:24 +01:00
Filipi da Silva Fuchter
06ec21387f
Merge pull request #3581 from pipecat-ai/filipi/open_ai_audio_duration
...
Fixed race condition in OpenAIRealtimeLLMService
2026-01-28 07:42:35 -05:00
filipi87
bdae177125
Adding changelog entry for the OpenAiRealtimeLLMService fix.
2026-01-28 08:39:11 -03:00
filipi87
468e159f9b
Fixed race condition in OpenAIRealtimeLLMService that could cause an error when truncating the conversation.
2026-01-28 08:36:31 -03:00
ssillerom
a4acafd3be
feature: added event handlers in constructor and call func in each _handle_* func
2026-01-28 10:54:26 +01:00
ssillerom
105824a372
Merge main into feature/genesys_serializer
...
Incorporates latest changes from main branch including:
- AIC filter and VAD updates
- STT service improvements
- Base serializer changes
- Various bug fixes
2026-01-28 10:48:56 +01:00
ssillerom
55e0d4ecc4
ruff fixes done
2026-01-28 08:59:28 +01:00
ssillerom
9102e81cb8
added tests to the PR
2026-01-27 23:39:43 +01:00
ssillerom
d7d8e93a3d
feature: added custom params in closed message to genesys, simplified create_* functions, simplified constructor method and simplified opened message
2026-01-27 23:36:47 +01:00
Mark Backman
bf9b166464
Merge pull request #3575 from pipecat-ai/mb/fix-turn-stopped-event-end-cancel-frame
...
Emit on_assistant_turn_stopped and on_user_turn_stopped from EndFrame…
2026-01-27 14:55:34 -05:00
Mark Backman
e80e0eab29
Emit on_assistant_turn_stopped and on_user_turn_stopped from EndFrame or CancelFrame
2026-01-27 14:50:10 -05:00
Mark Backman
61242e6575
Merge pull request #3574 from pipecat-ai/mb/fix-websocket-close-message-handling
...
Fix WebsocketService infinite loop on graceful server disconnect
2026-01-27 13:53:26 -05:00
Aleix Conchillo Flaqué
8841387121
Merge pull request #3560 from pipecat-ai/aleix/serializer-base-objects
...
FrameSerializer: subclass from BaseObject so we can add events
2026-01-27 09:58:44 -08:00
Aleix Conchillo Flaqué
ee695ae9fe
FrameSerializer: subclass from BaseObject so we can add events
2026-01-27 09:53:46 -08:00
Mark Backman
52012b0fb2
Fix WebsocketService infinite loop on graceful server disconnect
2026-01-27 12:41:28 -05:00
Mark Backman
f7a1c6b719
Merge pull request #3408 from ai-coustics/aic-v2
...
Add ai-coustics AIC SDK v2 support with model downloading
2026-01-27 10:38:26 -05:00
Gökmen Görgen
6aa77ccc13
group aic related changes in changelog.
2026-01-27 16:22:54 +01:00
Gökmen Görgen
45b7ec4e2c
re-enable 07zd-interruptible-aicoustics.py in release evals.
2026-01-27 16:18:56 +01:00
Mark Backman
1c434c6ad5
Merge pull request #3562 from speechmatics/fix/smx-ttfs-finals
...
Support TTFS for Speechmatics STT
2026-01-27 08:35:34 -05:00
Mark Backman
4591affba9
Merge pull request #3568 from pipecat-ai/mb/changelog-3536
2026-01-27 07:14:41 -05:00
Sam Sykes
91346f5f37
Add support for self.request_finalize() for Pipecat-based VAD.
2026-01-27 10:44:35 +00:00
Filipi da Silva Fuchter
6a66ebe332
Merge pull request #3541 from pipecat-ai/filipi/audio_buffer
...
Refactoring AudioBufferProcessor to fix audio track synchronization.
2026-01-27 05:32:41 -05:00
Filipi da Silva Fuchter
c1d4180042
Merge pull request #3567 from pipecat-ai/filipi/openai_realtime_audio_duration
...
Fixed race condition in OpenAIRealtimeBetaLLMService
2026-01-27 05:30:33 -05:00
Gökmen Görgen
81a53c699c
handle AIC processor init errors gracefully and ensure _aic_ready reflects readiness
2026-01-27 11:28:05 +01:00
Sam Sykes
60168f7f69
remove comment
2026-01-26 23:16:43 +00:00
Sam Sykes
23d7608e5f
changelog update
2026-01-26 23:15:30 +00:00
Sam Sykes
99242c0a93
linting updates
2026-01-26 23:14:40 +00:00
Sam Sykes
3a71865cf4
removed old metrics
2026-01-26 23:11:25 +00:00
Mark Backman
ecf2e69f3f
Merge pull request #3536 from surapuramakhil/main
...
LLMAssistantAggregator: preserve non-ASCII characters in JSON output
2026-01-26 16:42:05 -05:00
Mark Backman
febd52274d
Add changelog fragment for PR 3536
2026-01-26 16:42:00 -05:00
Mark Backman
1542d922e7
Merge pull request #3546 from pipecat-ai/pk/changelog-fragment-for-pr-3406
...
Added a changelog fragment for PR 3406
2026-01-26 16:31:57 -05:00
Paul Kompfner
15d5d1159e
Added a changelog fragment for PR 3406
2026-01-26 16:27:33 -05:00
Mark Backman
884630a6bd
Merge pull request #3559 from pipecat-ai/aleix/transport-broadcast-fixes
...
transports: fix broadcast_frame_class reference
2026-01-26 16:25:31 -05:00
Mark Backman
1cf137c6a8
Merge pull request #3565 from pipecat-ai/markbackman-patch-1
2026-01-26 15:49:35 -05:00
filipi87
98fcfd7c91
Adding changelog entry for the OpenAiRealtimeBetaLLMService fix.
2026-01-26 17:19:08 -03:00
filipi87
2f23f2e39c
Fixed race condition in OpenAIRealtimeBetaLLMService that could cause an error when truncating the conversation.
2026-01-26 17:08:27 -03:00
Mark Backman
9c6b11cecf
Update README links to use absolute URLs
2026-01-26 13:03:39 -05:00
Sam Sykes
fc1444c9d6
Updated changelog
2026-01-26 16:25:37 +00:00
Sam Sykes
ea94939add
update dependency
2026-01-26 16:24:56 +00:00
Sam Sykes
0c69ae6371
Changelog entry.
2026-01-26 16:07:59 +00:00
Sam Sykes
8b88280bb1
Default to using EXTERNAL mode.
2026-01-26 15:52:42 +00:00
Sam Sykes
960d0faea5
support is_eou for final segment in utterance
2026-01-26 15:48:04 +00:00
Luke Payyapilli
b9390ccb1b
Address review: remove UserStartedSpeakingFrame, add explanatory comment
2026-01-26 10:08:17 -05:00
Mark Backman
061a0dc43d
Merge pull request #3498 from pipecat-ai/mb/azure-tts-8khz-workaround
...
AzureTTSService 8khz workaround
2026-01-26 09:48:22 -05:00
Mark Backman
328bbe069f
Merge pull request #3554 from pipecat-ai/mb/simplify-stt-ttfb
...
Simplify STT finalize handling
2026-01-26 08:00:04 -05:00
Mark Backman
dc32ecc872
Merge pull request #3555 from pipecat-ai/mb/speechmatics-stt-ttfb
...
Align Speechmatics STT TTFB metrics with STT classes
2026-01-26 07:59:34 -05:00
Gökmen Görgen
ca2eb1904f
Merge remote-tracking branch 'origin/aic-v2' into aic-v2
2026-01-26 10:16:23 +01:00
Gökmen Görgen
4bce58f270
update changelog and remove outdated dependency notes
2026-01-26 10:15:15 +01:00
Gökmen Görgen
7572d63f8f
Update src/pipecat/audio/vad/aic_vad.py
...
Co-authored-by: Andres O. Vela <andresovela@users.noreply.github.com >
2026-01-26 10:06:40 +01:00
Gökmen Görgen
3c463c9416
Update src/pipecat/audio/vad/aic_vad.py
...
Co-authored-by: Andres O. Vela <andresovela@users.noreply.github.com >
2026-01-26 10:06:33 +01:00
Gökmen Görgen
bd618d64e3
Update src/pipecat/audio/filters/aic_filter.py
...
Co-authored-by: Andres O. Vela <andresovela@users.noreply.github.com >
2026-01-26 10:06:16 +01:00
Gökmen Görgen
a824660df7
add unit tests for AICVADAnalyzer and AICFilter.
2026-01-26 09:56:36 +01:00
Gökmen Görgen
58b9019852
bump aic-sdk to 2.0.1 in optional dependencies.
2026-01-26 09:14:16 +01:00
Gökmen Görgen
afcdef8c81
docstring clarification.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
bd92104fb3
clarify voice confidence method behavior in AIC VAD.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
34e9f224a8
Update src/pipecat/audio/vad/aic_vad.py
...
Co-authored-by: Andres O. Vela <andresovela@users.noreply.github.com >
2026-01-26 08:44:17 +01:00
Gökmen Görgen
dca7f3b5b0
add changelog.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
70a85cd192
use path for keeping the consistency between the parameters.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
91e86658b7
force developer to set a license key, it's required.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
0a8588669c
address feedback.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
0e99400148
two dots are rust specific thinks, I'm not sure if it's familiar for Python developers.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
648f20db6d
Update src/pipecat/audio/vad/aic_vad.py
...
Co-authored-by: Andres O. Vela <andresovela@users.noreply.github.com >
2026-01-26 08:44:17 +01:00
Gökmen Görgen
09b5b6b12d
Update src/pipecat/audio/vad/aic_vad.py
...
Co-authored-by: Andres O. Vela <andresovela@users.noreply.github.com >
2026-01-26 08:44:17 +01:00
Gökmen Görgen
0e6a423955
Update src/pipecat/audio/filters/aic_filter.py
...
Co-authored-by: Andres O. Vela <andresovela@users.noreply.github.com >
2026-01-26 08:44:17 +01:00
Gökmen Görgen
dc8972cd94
log optimal number of frames for given sample rate in AICFilter.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
e4e2231958
Update src/pipecat/audio/vad/aic_vad.py
...
Co-authored-by: Andres O. Vela <andresovela@users.noreply.github.com >
2026-01-26 08:44:17 +01:00
Gökmen Görgen
18b3ee743b
replace os with pathlib.Path in AICFilter for path handling consistency.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
65b8e0e89c
rename enabled to bypass in AICFilter for clarity.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
b77f8b065f
remove voice gain.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
5fd43faec3
add min speech duration.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
abebcf37bd
address feedback.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
ca4e3c79f9
Update pyproject.toml
...
Co-authored-by: Andres O. Vela <andresovela@users.noreply.github.com >
2026-01-26 08:44:17 +01:00
Gökmen Görgen
e8d1bec03b
Update src/pipecat/audio/filters/aic_filter.py
...
Co-authored-by: Andres O. Vela <andresovela@users.noreply.github.com >
2026-01-26 08:44:17 +01:00
Gökmen Görgen
f0cc54589e
remove enhancement level parameter from AICFilter.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
22b9aac2ff
use quail model in the example.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
7f86f4ac27
fix class name.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
dcab79753b
even the parameters are fixed, keep aic ready for processing.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
bdded9b026
set SDK ID for telemetry in AIC filter.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
1e1e275fea
address feedback.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
effb6aa8f4
clean up unused imports in audio utils.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
a4a9bae79e
drop v1 support from aic.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
c943ef9261
keep uv.lock as it is.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
f05809520b
Remove outdated AIC Filter and VAD v2 files, migrate to consolidated implementations.
...
Added the new ACIFilter to the same module.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
ec17dc6626
aic-sdk-py v2.
...
# Conflicts:
# uv.lock
# Conflicts:
# examples/foundational/07zd-interruptible-aicoustics.py
# pyproject.toml
# src/pipecat/audio/filters/aic_filter.py
# src/pipecat/audio/vad/aic_vad.py
2026-01-26 08:44:17 +01:00
Gökmen Görgen
4e85e81d9b
Update src/pipecat/audio/filters/aic_filter.py
...
Co-authored-by: Tobias <76444201+Fl1tzi@users.noreply.github.com >
2026-01-26 08:44:17 +01:00
Gökmen Görgen
a1cc88a233
Update src/pipecat/audio/filters/aic_filter.py
...
Co-authored-by: Tobias <76444201+Fl1tzi@users.noreply.github.com >
2026-01-26 08:44:17 +01:00
Gökmen Görgen
61a230ec53
Update src/pipecat/audio/filters/aic_filter.py
...
Co-authored-by: Stephan Eckes <stephan@steck.tech >
2026-01-26 08:44:17 +01:00
Gökmen Görgen
a13380b574
clean up unused imports in audio utils.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
2a927189d9
reorganize imports.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
a90c15362c
drop v1 support from aic.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
d3bdd2d246
use new model id.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
465ae4f706
keep uv.lock as it is.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
a0d801b658
Remove outdated AIC Filter and VAD v2 files, migrate to consolidated implementations.
...
Added the new ACIFilter to the same module.
2026-01-26 08:44:17 +01:00
Gökmen Görgen
35919a84e3
aic-sdk-py v2.
...
# Conflicts:
# uv.lock
2026-01-26 08:44:17 +01:00
Aleix Conchillo Flaqué
f94a60f381
transports: fix broadcast_frame_class reference
2026-01-25 15:42:09 -08:00
ssillerom
a446bca72d
changes: added OutputTransportUrgentFrame to on closed, removed callback
2026-01-25 21:12:28 +01:00
Sergio Sillero
8ae834366b
Merge branch 'pipecat-ai:main' into feature/genesys_serializer
2026-01-25 21:04:27 +01:00
Mark Backman
a4acc12f91
Align Speechmatics STT TTFB metrics with STT classes
2026-01-24 18:26:34 -05:00
Mark Backman
e93112e76e
Simplify STT finalize handling
2026-01-24 15:28:27 -05:00
Mark Backman
680bcaac66
Merge pull request #3550 from pipecat-ai/mb/update-smart-turn-data-env-var
...
Update env var to PIPECAT_SMART_TURN_LOG_DATA
2026-01-24 13:52:36 -05:00
Mark Backman
d2ac9006a2
Update env var to PIPECAT_SMART_TURN_LOG_DATA
2026-01-24 12:50:42 -05:00
Mark Backman
bcb019e8ab
Add TTFB metrics for STT services ( #3495 )
2026-01-23 18:47:34 -05:00
kompfner
4ea546785f
Merge pull request #3406 from omChauhanDev/fix/openrouter-gemini-messages
...
fix(openrouter): handle multiple system messages for Gemini models
2026-01-23 14:53:59 -05:00
filipi87
f128cdd19a
Adding a changelog entry to the AudioBufferProcessor fix.
2026-01-23 16:16:01 -03:00
filipi87
7921bce4af
Refactoring AudioBufferProcessor to fix audio track synchronization.
2026-01-23 16:15:48 -03:00
Luke Payyapilli
cadced3f79
feat: handle server_content.interrupted for faster barge-in response
2026-01-23 10:41:04 -05:00
Aleix Conchillo Flaqué
8951442b8e
Merge pull request #3534 from pipecat-ai/aleix/claude-skills-pr-description
...
claude: add pr-description skill
2026-01-22 17:34:46 -08:00
Aleix Conchillo Flaqué
7e6e3031e7
claude: add pr-description skill
2026-01-22 13:41:50 -08:00
Akhil
3b3c7aa8cc
LLMAssistantAggregator: preserve non-ASCII characters in JSON output
...
Add ensure_ascii=False to json.dumps() calls for tool call arguments
and function call results to prevent unnecessary unicode escaping.
2026-01-22 15:37:44 -06:00
Aleix Conchillo Flaqué
308829f92b
Merge pull request #3533 from pipecat-ai/aleix/claude-skills-docstring
...
claude: add docstring skill
2026-01-22 12:58:38 -08:00
Aleix Conchillo Flaqué
82a799e63e
claude: add docstring skill
2026-01-22 12:53:38 -08:00
Cale Shapera
6b5bcae86f
change default Inworld TTS model to inworld-tts-1.5-max ( #3531 )
2026-01-22 14:21:15 -05:00
Mark Backman
836073849c
Merge pull request #3527 from weakcamel/patch-1
...
Update README.md - fix Google Imagen URL
2026-01-22 10:46:10 -05:00
Waldek Maleska
b13b65d6e2
Update README.md - fix Google Imagen URL
2026-01-22 15:17:41 +00:00
Mark Backman
3d545b718d
Merge pull request #3344 from omChauhanDev/fix/stt-dynamic-language-update
...
fix: treat language as first-class STT setting
2026-01-22 09:21:56 -05:00
marcus-daily
f2fa5d9733
Updating changelog
2026-01-22 14:17:59 +00:00
marcus-daily
76b774072c
Formatting fixes
2026-01-22 14:17:59 +00:00
marcus-daily
b6341ffaa5
Save Smart Turn input data if SMART_TURN_LOG_DATA is set
2026-01-22 14:17:59 +00:00
Mark Backman
29fae67c9e
Merge pull request #3523 from omChauhanDev/add-location-support-google-tts
...
feat(google): add location parameter to TTS services
2026-01-22 09:12:16 -05:00
Mark Backman
718ea1c15e
Merge pull request #3526 from pipecat-ai/mb/remove-logs
...
Remove application logs
2026-01-22 08:48:07 -05:00
Mark Backman
8e09d94614
Remove application logs
2026-01-22 08:28:52 -05:00
Aleix Conchillo Flaqué
de73e28563
Merge pull request #3510 from omChauhanDev/feat/add-reached-filter-methods
...
feat(task): add additive filter methods for frame monitoring
2026-01-21 21:05:33 -08:00
Aleix Conchillo Flaqué
55250b4f7e
Merge pull request #3521 from pipecat-ai/aleix/claude-changelog-skill
...
claude: initial /changelog skill
2026-01-21 20:50:47 -08:00
Om Chauhan
281145a991
added changelog
2026-01-22 09:55:57 +05:30
Om Chauhan
7bd32e2fe5
feat(google): add location parameter to TTS services
2026-01-22 09:49:19 +05:30
James Hush
8f05d95f50
feat: add video_out_codec parameter for DailyTransport ( #3520 )
...
* feat: add video_out_codec parameter for DailyTransport
Add video_out_codec parameter to TransportParams allowing configuration
of the preferred video codec (VP8, H264, H265) for video output.
When set, this passes the preferredCodec option to Daily's
VideoPublishingSettings during the join operation.
* chore: move video_out_codec parameter to changelog folder (#3522 )
* Initial plan
* Move video_out_codec parameter to changelog/3520.added.md
Co-authored-by: jamsea <614910+jamsea@users.noreply.github.com >
* Revert all CHANGELOG.md changes, keep only changelog/3520.added.md
Co-authored-by: jamsea <614910+jamsea@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: jamsea <614910+jamsea@users.noreply.github.com >
---------
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
Co-authored-by: jamsea <614910+jamsea@users.noreply.github.com >
2026-01-22 11:31:07 +08:00
Om Chauhan
87c12f3098
changed frame filter storage type from tuples to sets
2026-01-22 08:43:46 +05:30
Om Chauhan
9c0bf89247
added changelog
2026-01-22 08:43:46 +05:30
Om Chauhan
6e44a2ab49
feat(task): add additive filter methods for frame monitoring
2026-01-22 08:43:46 +05:30
Aleix Conchillo Flaqué
7aa7b86aed
claude: initial /changelog skill
2026-01-21 18:43:04 -08:00
Aleix Conchillo Flaqué
5ad9faeb4c
Merge pull request #3519 from pipecat-ai/aleix/embedded-rtvi-processor
...
automatically add RTVI to the pipeline
2026-01-21 18:17:26 -08:00
Aleix Conchillo Flaqué
9e8f8b45c6
added changelog files for #3519
2026-01-21 18:14:17 -08:00
Aleix Conchillo Flaqué
0ee11ad333
tests: disable RTVI in tests by default
2026-01-21 18:14:17 -08:00
Aleix Conchillo Flaqué
124a3c35af
RTVIObserver: don't handle some frames direction
2026-01-21 18:14:17 -08:00
Aleix Conchillo Flaqué
054e504868
examples(foundational): remove RTVI (automatically added by PipelineTask)
2026-01-21 18:14:17 -08:00
Aleix Conchillo Flaqué
e85a00cc0e
PipelineTask: automatically add RTVI processor and RTVI observer
...
If `enable_rtvi` is enabled (enabled by default) and RTVI processor will be
added automatically to the pipeline. Also, and RTVI observer will be
registered.
2026-01-21 18:14:17 -08:00
Aleix Conchillo Flaqué
cc61cdbba3
RTVIProcessor: add create_rtvi_observer()
2026-01-21 18:14:17 -08:00
Aleix Conchillo Flaqué
62f4708d43
transports: broadcast InputTransportMessageFrame frames
2026-01-21 18:14:17 -08:00
Aleix Conchillo Flaqué
ba0ddb1832
FrameProcessor: copy kwargs when broadcasting frame
2026-01-21 18:14:17 -08:00
Aleix Conchillo Flaqué
eacd2a4b71
FrameProcessor: add broadcast_frame_instance()
2026-01-21 18:14:17 -08:00
Mark Backman
7ed110650d
Merge pull request #3516 from okue/minorpatch1
...
refactor(user_mute): remove unnecessary _bot_speaking assignment in _handle_bot_stopped_speaking
2026-01-21 10:33:59 -05:00
okue
4a724379fc
refactor(user_mute): remove unnecessary _bot_speaking assignment in _handle_bot_stopped_speaking
...
The _bot_speaking flag does not need to be set in this method,
so the redundant assignment has been removed.
2026-01-21 23:59:15 +09:00
Aleix Conchillo Flaqué
768d3958dd
Merge pull request #3512 from pipecat-ai/changelog-0.0.100
...
Release 0.0.100 - Changelog Update
2026-01-20 19:32:56 -08:00
aconchillo
5f9ff8bd58
Update changelog for version 0.0.100
2026-01-20 19:21:19 -08:00
Aleix Conchillo Flaqué
59ed422052
Merge pull request #3511 from pipecat-ai/aleix/camb-tts-client-on-start
...
CambTTSService: initialize client during StartFrame
2026-01-20 19:17:45 -08:00
Aleix Conchillo Flaqué
7e0ca113af
CambTTSService: initialize client during StartFrame
2026-01-20 19:07:12 -08:00
Aleix Conchillo Flaqué
13c52e0e6d
Merge pull request #3509 from pipecat-ai/aleix/nvidia-stt-tts-improvements
...
NVIDIA STT/TTS performance improvements
2026-01-20 16:39:12 -08:00
Aleix Conchillo Flaqué
a787fd9cd8
NVIDIATTSService: process incoming audio frame right away
...
Process audio as soon as we receive it from the generator. Previously, we were
reading from the generator and adding elements into a queue until there was no
more data, then we would process the queue.
2026-01-20 15:41:05 -08:00
Aleix Conchillo Flaqué
14495c425a
NVIDIASTTService: no need for additional queue and task
2026-01-20 13:50:17 -08:00
Aleix Conchillo Flaqué
461bd0a2e0
update changelog for #3494 and #3499
2026-01-20 13:26:40 -08:00
Aleix Conchillo Flaqué
bd45ce2b4e
Merge pull request #3499 from lukepayyapilli/fix/livekit-video-queue-memory-leak
...
fix(livekit): prevent memory leak when video_in_enabled is False
2026-01-20 13:21:21 -08:00
Aleix Conchillo Flaqué
a266644b06
Merge pull request #3494 from omChauhanDev/fix/uninterruptible-frame-handling
...
fix: preserve UninterruptibleFrames in __reset_process_queue
2026-01-20 13:19:40 -08:00
Mark Backman
03faadd7f9
Merge pull request #3508 from pipecat-ai/ss/log-daily-ids
...
Log Daily participant and meeting session IDs upon successful join in…
2026-01-20 15:43:48 -05:00
Aleix Conchillo Flaqué
bf43032652
Merge pull request #3504 from pipecat-ai/aleix/nvidia-stt-tts-error-handling
...
NVIDIA STT/TTS error handling
2026-01-20 09:41:08 -08:00
Sunah Suh
fa6f924b31
Log Daily participant and meeting session IDs upon successful join in Daily Transport
2026-01-20 11:31:17 -06:00
Aleix Conchillo Flaqué
a010a020fd
add changelog fo 3504
2026-01-20 09:03:30 -08:00
Aleix Conchillo Flaqué
655006aff5
NvidiaSegmentedSTTService: simplify exception handling
2026-01-20 08:58:14 -08:00
Aleix Conchillo Flaqué
671dc8cd9b
NvidiaSTTService: initialize client on StartFrame
...
Initialize client on StartFrame so errrors are reported within the pipeline.
2026-01-20 08:58:14 -08:00
Aleix Conchillo Flaqué
9a718ded1e
NvidiaTTSService: initialize client on StartFrame
...
Initialize client on StartFrame so errrors are reported within the pipeline.
2026-01-20 08:58:14 -08:00
Aleix Conchillo Flaqué
024809b39a
Merge pull request #3503 from pipecat-ai/aleix/ai-service-start-end-cancel
...
AIService: handle StartFrame/EndFrame/CancelFrame exceptions
2026-01-20 08:56:39 -08:00
Aleix Conchillo Flaqué
6cf0d53d00
AIService: handle StartFrame/EndFrame/CancelFrame exceptions
...
If AIService subclasses implement start()/stop()/cancel() and exception are not
handled, execution will not continue and therefore the originator frames will
not be pushed. This would cause the pipeline to not be started (i.e. StartFrame
would not be pushed downstream) or stopped properly.
2026-01-20 08:54:22 -08:00
kompfner
778dacc9a8
Merge pull request #3486 from pipecat-ai/pk/fix-nova-sonic-reset-conversation
...
Fix `AWSNovaSonicLLMService.reset_conversation()`
2026-01-20 10:07:38 -05:00
Paul Kompfner
06b3ecd2d6
In AWS Nova Sonic service, send the "interactive" user message (which triggers the bot response) only after sending the audio input start event, per the AWS team's recommendation
2026-01-20 09:56:25 -05:00
Paul Kompfner
b4d143e39b
Add CHANGELOG for fixing AWSNovaSonicLLMService.reset_conversation()
2026-01-20 09:56:25 -05:00
Paul Kompfner
c89083e72e
Improve 20e example to ask the bot to give a recap when loading a previous conversation from disk
2026-01-20 09:56:25 -05:00
Luke Payyapilli
1ac811ab32
chore: revert unrelated uv.lock changes
2026-01-20 09:19:43 -05:00
Luke Payyapilli
f6359d460e
chore: install livekit as optional extra in CI instead of dev dep
2026-01-20 09:16:16 -05:00
Aleix Conchillo Flaqué
f03a7175c7
Merge pull request #3501 from pipecat-ai/aleix/improve-eval-numerical-word-prompt
...
scripts(eval): give examples to numerical word answers
2026-01-19 20:22:06 -08:00
Aleix Conchillo Flaqué
aed44c863a
scripts(eval): give examples to numerical word answers
...
Some models need extra help.
2026-01-19 14:37:00 -08:00
ssillerom
fa5da3b0be
change comments
2026-01-19 20:49:23 +01:00
ssillerom
7e82a0cf49
feature: Genesys AudioHook WebSocket protocol serializer for Pipecat
2026-01-19 20:45:22 +01:00
Mark Backman
cddd6d5b0a
Merge pull request #3492 from pipecat-ai/mb/remove-unused-imports
...
Remove unused imports
2026-01-19 14:07:16 -05:00
Mark Backman
11cf891ac8
Manual updates for unused imports
2026-01-19 14:03:22 -05:00
Luke Payyapilli
c89ae717fe
style: fix ruff formatting
2026-01-19 11:13:41 -05:00
Luke Payyapilli
562bdd3084
test: add livekit to dev deps and improve test clarity
2026-01-19 11:11:54 -05:00
Mark Backman
cc4c3650e1
Merge pull request #3491 from pipecat-ai/mb/update-release-evals
...
Add Camb TTS to release evals
2026-01-19 11:04:05 -05:00
Luke Payyapilli
dfc1f09b77
fix(livekit): prevent memory leak when video_in_enabled is False
2026-01-19 11:00:23 -05:00
Mark Backman
0b1a4792b8
Bump to latest azure-cognitiveservices-speech version, 1.47.0
2026-01-19 09:52:28 -05:00
Mark Backman
14bd3b1b32
Set Azure TTS default prosody rate to None
2026-01-19 09:19:57 -05:00
Mark Backman
f733e77496
AzureTTS: work around word ordering issue at 8khz sample rate
2026-01-19 09:13:41 -05:00
Filipi da Silva Fuchter
5fc46cc450
Merge pull request #3493 from omChauhanDev/fix/globally-unique-pc-id
...
fix: make SmallWebRTCConnection pc_id globally unique
2026-01-19 09:04:48 -05:00
Om Chauhan
4a9eb82f92
fix: preserve UninterruptibleFrames in __reset_process_queue
2026-01-18 20:39:13 +05:30
Om Chauhan
990d8386e4
fix: make SmallWebRTCConnection pc_id globally unique
2026-01-18 19:41:51 +05:30
Mark Backman
ce7d823770
Remove unused imports
2026-01-18 08:22:22 -05:00
Mark Backman
0b93c3f900
Add Camb TTS to release evals
2026-01-17 16:27:16 -05:00
Mark Backman
829c5f4604
Merge pull request #3169 from Incanta/hathora
...
Add Hathora STT and TTS services
2026-01-17 16:25:12 -05:00
Mike Seese
dc8ea615d9
add hathora to run-release-evals.py
2026-01-17 10:33:58 -08:00
Mike Seese
a3d206050d
move hathora example as requested
2026-01-17 10:31:08 -08:00
Mike Seese
f48a567873
run the linter
2026-01-17 10:30:47 -08:00
Mark Backman
e69ccd8ea7
Merge pull request #3490 from pipecat-ai/mb/on-user-mute-events
...
Add on_user_mute_started and on_user_mute_stopped events
2026-01-17 11:05:15 -05:00
Mark Backman
11924bb980
Add on_user_mute_started and on_user_mute_stopped events
2026-01-17 11:01:46 -05:00
Mark Backman
af89154e96
Merge pull request #3489 from pipecat-ai/mb/fix-azure-tts-punctuation-spacing
...
fix: AzureTTSService punctuation spacing
2026-01-17 11:00:30 -05:00
Mark Backman
1485ea0831
Merge pull request #3488 from pipecat-ai/mb/on-user-turn-idle
...
Update on_user_idle to on_user_turn_idle
2026-01-17 11:00:16 -05:00
Mark Backman
e22bc777d8
Fix spacing for CJK languages
2026-01-17 09:04:50 -05:00
Mark Backman
043403fe23
fix: AzureTTSService punctuation spacing
2026-01-17 08:18:31 -05:00
Mark Backman
1e1160906e
Update on_user_idle to on_user_turn_idle
2026-01-17 07:04:27 -05:00
Aleix Conchillo Flaqué
f7d3e63063
Merge pull request #3474 from pipecat-ai/fix/optional-member-access-function-call-cancel
...
Fix Pylance reportOptionalMemberAccess in _handle_function_call_cancel
2026-01-16 22:06:45 -08:00
Paul Kompfner
6fa797c8e4
Fix AWS Nova Sonic reset_conversation(), which would previously error out.
...
Issues:
- After disconnecting, we were prematurely sending audio messages using the new prompt and content names, before the new prompt and content were created
- We weren't properly sending system instruction and conversation history messages to Nova Sonic with `"interactive": false`
2026-01-16 22:31:54 -05:00
Mark Backman
473d39791b
Merge pull request #3482 from pipecat-ai/mb/user-idle-in-user-aggregator
...
Add UserIdleController, deprecate UserIdleProcessor
2026-01-16 18:47:10 -05:00
Aleix Conchillo Flaqué
2114abb8c6
add changelog file for 3484
2026-01-16 15:46:29 -08:00
Aleix Conchillo Flaqué
4fb4c26f55
Merge pull request #3484 from amichyrpi/main
...
Remove async_mode parameter from Mem0 storage
2026-01-16 15:44:52 -08:00
Mark Backman
2e8e574ea5
Add UserIdleController, deprecate UserIdleProcessor
2026-01-16 18:44:19 -05:00
Aleix Conchillo Flaqué
84c7e97be2
Merge pull request #3483 from pipecat-ai/aleix/throttle-user-speaking-frame
...
throttle user speaking frame
2026-01-16 15:29:37 -08:00
Amory Hen
a6e7c99d55
Remove async_mode parameter from Mem0 storage
2026-01-17 00:26:38 +01:00
Aleix Conchillo Flaqué
ac3fa7f91f
BaseOuputTransport: minor cleanup
2026-01-16 15:15:49 -08:00
Aleix Conchillo Flaqué
6eadad53b2
BaseInputTransport: throttle UserSpeakingFrame
2026-01-16 15:15:49 -08:00
kompfner
b11150f31f
Merge pull request #3480 from pipecat-ai/pk/fix-grok-realtime-smallwebrtc
...
Fix an issue where Grok Realtime would error out when running with Sm…
2026-01-16 15:46:27 -05:00
Paul Kompfner
836cf60611
Fix an issue where Grok Realtime would error out when running with SmallWebRTC transport.
...
The underlying issue was related to the fact that we were sending audio to Grok before we had configured the Grok session with our default input sample rate (16000), so Grok was interpreting those initial audio chunks as having its default sample rate (24000). We didn't see this issue when using the Daily transport simply because in our test environments Daily took a smidge longer than a reflexive (localhost) pure WebRTC connection, so we would only send audio to Grok *after* we had configured the Grok session with the desired sample rate.
2026-01-16 15:41:33 -05:00
James Hush
1c13ad95a5
Fix Pylance reportOptionalMemberAccess in _handle_function_call_cancel
...
Extract dictionary value to local variable and check for None before
accessing cancel_on_interruption attribute, since the dictionary values
are typed as Optional[FunctionCallInProgressFrame].
2026-01-16 15:04:26 -05:00
Mark Backman
1e8516e91d
Merge pull request #3476 from pipecat-ai/mb/project-urls
...
Update project.urls for PyPI
2026-01-16 14:57:39 -05:00
Mark Backman
32c775311d
Merge pull request #3471 from pipecat-ai/mb/fix-pydantic-2.12-docs
...
Revert pydantic 2.12 extra type annotation
2026-01-16 14:57:24 -05:00
Mark Backman
28d0bb98de
Merge pull request #3472 from pipecat-ai/mb/whisker-dev
...
Add whisker_setup.py setup file to .gitignore
2026-01-16 14:55:48 -05:00
Aleix Conchillo Flaqué
a9a9f3aeaa
Merge pull request #3462 from pipecat-ai/aleix/fix-min-words-transcription-aggregation
...
MinWordsUserTurnStartStrategy: don't aggregate transcriptions
2026-01-16 11:18:23 -08:00
Aleix Conchillo Flaqué
c2a0735975
MinWordsUserTurnStartStrategy: don't aggregate transcriptions
...
If we aggregate transcriptions we will get incorrect interruptions. For example,
if we have a strategy with min_words=3 and we say "One" and pause, then "Two"
and pause and then "Three", this would trigger the start of the turn when it
shouldn't. We should only look at the incoming transcription text and don't
aggregate it with the previous.
2026-01-16 11:16:06 -08:00
Aleix Conchillo Flaqué
41cb53f6c2
Merge pull request #3479 from pipecat-ai/aleix/turns-mute-to-user-mute
...
turns: move mute to user_mute
2026-01-16 11:11:50 -08:00
Aleix Conchillo Flaqué
58552af8fd
examples(foundational): remote STTMuteFilter example
2026-01-16 11:07:20 -08:00
Aleix Conchillo Flaqué
c7ab87b0cc
turns: move mute to user_mute
2026-01-16 11:07:20 -08:00
Mark Backman
11ecc5fdee
Update project.urls for PyPI
2026-01-16 12:48:13 -05:00
kompfner
19fb3eed9f
Merge pull request #3466 from pipecat-ai/pk/fix-aws-nova-sonic-rtvi-bot-output
...
Fix realtime (speech-to-speech) services' RTVI event compatibility
2026-01-16 09:56:13 -05:00
Mark Backman
b292b32374
Merge pull request #3461 from glennpow/glenn/websocket-headers
...
Allow WebsocketClientTransport to send custom headers
2026-01-15 20:26:36 -05:00
Mark Backman
63d1393bb0
Add whisker_setup.py to .gitignore
2026-01-15 20:21:25 -05:00
Glenn Powell
37914cb062
Removed import and added changelog entry.
2026-01-15 16:47:15 -08:00
Mark Backman
ec40696854
Revert pydantic 2.12 extra type annotation
2026-01-15 19:16:15 -05:00
Mike Seese
2249f3d673
add requested changes from code review
2026-01-15 15:27:56 -08:00
Mike Seese
d2df324f29
fix some bugs after testing changes
2026-01-15 15:27:56 -08:00
Mike Seese
67fdb0b659
use parent _settings dict instead of self._params pattern
2026-01-15 15:27:56 -08:00
Mike Seese
e77bdf66f9
add can_generate_metrics functions
2026-01-15 15:27:56 -08:00
Mike Seese
1b3b67779c
switch hathora services to use InputParams pattern
2026-01-15 15:27:55 -08:00
Mike Seese
6c7e386391
remove traced_stt from run_stt
2026-01-15 15:27:55 -08:00
Mike Seese
ba25b279d6
fix issues with PR suggestions
2026-01-15 15:27:55 -08:00
Mike Seese
e7c83c19b6
port turn_start_strategies to the newer user_turn_strategies
2026-01-15 15:27:55 -08:00
Mike Seese
7be7fb49a3
remove turn_analyzer args from transport params
2026-01-15 15:27:54 -08:00
Mike Seese
bcccb4cbb3
put fallback sample_rate value in function arg
2026-01-15 15:27:54 -08:00
Mike Seese
e9f1d951d3
Apply suggestions from code review
...
Co-authored-by: Mark Backman <m.backman@gmail.com >
2026-01-15 15:27:54 -08:00
Mike Seese
e5632a9339
transition Hathora service to use the unified API and apply PR feedback
...
add Hathora to root files
Hathora run linter
added hathora changelog
2026-01-15 15:27:53 -08:00
Mike Seese
1510fb4fc0
add Hathora STT and TTS services
2026-01-15 15:26:52 -08:00
Mark Backman
64a1ad2649
Merge pull request #3470 from pipecat-ai/mb/fix-docs-0.0.99
...
Docs fixes after 0.0.99
2026-01-15 17:34:44 -05:00
Mark Backman
4458ca1d24
Mock FastAPI
2026-01-15 17:29:47 -05:00
Mark Backman
21aaa48e62
Fix pydantic issues impacting autodoc
2026-01-15 17:29:47 -05:00
Mark Backman
e75c241030
Merge pull request #3468 from pipecat-ai/mb/camb-cleanuo
...
Clean up CambTTSService
2026-01-15 17:16:28 -05:00
Mark Backman
60216048a8
Docs fixes after 0.0.99
2026-01-15 16:40:42 -05:00
Mark Backman
f3c2e29fb4
Clean up CambTTSService
2026-01-15 15:59:17 -05:00
Paul Kompfner
ce99924be4
Add CHANGELOG entry describing fix for the missing "bot-llm-text" RTVI event when using realtime (speech-to-speech) services
2026-01-15 15:55:39 -05:00
Paul Kompfner
5de80a60d4
Fix "bot-llm-text" not firing when using Grok Realtime
2026-01-15 15:30:00 -05:00
Paul Kompfner
5753762350
Fix "bot-llm-text" not firing when using OpenAI Realtime
2026-01-15 15:16:08 -05:00
Paul Kompfner
885b318b04
Fix "bot-llm-text" not firing when using Gemini Live
2026-01-15 15:03:45 -05:00
Paul Kompfner
7a22d58cf4
Fix "bot-llm-text" not firing when using AWS Nova Sonic
2026-01-15 14:56:50 -05:00
Mark Backman
c8e4b462c9
Merge pull request #3460 from pipecat-ai/mb/reorder-07-examples
...
Renumber the 07 foundational examples
2026-01-15 14:44:21 -05:00
Mark Backman
30a3f42255
Merge pull request #3349 from eRuaro/feat/camb-tts-integration
...
Add Camb.ai TTS integration with MARS models
2026-01-15 14:43:12 -05:00
Neil Ruaro
26ddb2de2f
minimal uv.lock update for camb-sdk
2026-01-16 03:18:01 +08:00
Neil Ruaro
f60eeaa212
reverted uv.lock, updated readthedocs.yaml, copyright year updates
2026-01-16 02:50:18 +08:00
Neil Ruaro
8cf72b36cb
manually add camb-sdk to uv.lock, exclude camb from docs build
2026-01-16 02:26:38 +08:00
Neil Ruaro
38c3bcef96
exclude camb from docs build
2026-01-16 02:20:26 +08:00
Neil Ruaro
80604ba7b6
remove _update_settings method
2026-01-16 02:00:48 +08:00
Neil Ruaro
256c70c631
use UserTurnStrategies
2026-01-16 01:32:08 +08:00
Glenn Powell
0e3532c529
Allow WebsocketClientTransport to send custom headers
2026-01-15 09:31:48 -08:00
Neil Ruaro
9942fcfeb2
updated per PR reviews
2026-01-16 01:20:17 +08:00
Neil Ruaro
003c24ca6e
Make model parameter explicit in docstring example
2026-01-16 01:18:37 +08:00
Neil Ruaro
ed120d014d
Add model-specific sample rates, transport example, and fix audio buffer alignment
2026-01-16 01:18:37 +08:00
Neil Ruaro
e76a3d04f0
Update Camb TTS to 48kHz sample rate
2026-01-16 01:18:37 +08:00
Neil Ruaro
641d17007f
Clean up Camb TTS service and tests
2026-01-16 01:18:37 +08:00
Neil Ruaro
9293b5f24a
Migrate Camb TTS service from raw HTTP to official SDK
...
- Replace aiohttp with camb SDK (AsyncCambAI client)
- Add support for passing existing SDK client instance
- Simplify API: no longer requires aiohttp_session parameter
- Update example to use simplified initialization
- Rewrite tests to mock SDK client instead of HTTP servers
2026-01-16 01:18:37 +08:00
Neil Ruaro
c1f3cbd1d4
Yield TTSAudioRawFrame directly instead of calling private method
2026-01-16 01:18:37 +08:00
Neil Ruaro
78fa2ab65e
Update default voice ID, fix MARS naming, and clean up example
2026-01-16 01:18:37 +08:00
Neil Ruaro
56da2caeed
Update Camb.ai TTS inference options
2026-01-16 01:18:37 +08:00
Neil Ruaro
a541d65255
Update MARS model names to mars-flash, mars-pro, mars-instruct
...
Rename model identifiers from mars-8-* to the new naming convention:
- mars-8-flash -> mars-flash (default)
- mars-8 -> removed
- mars-8-instruct -> mars-instruct
- Added mars-pro
2026-01-16 01:18:37 +08:00
Neil Ruaro
a3d7e9eafe
Address PR feedback: add --voice-id arg, remove test script
...
- Add --voice-id CLI argument to example (default: 2681)
- Remove test_camb_quick.py from examples/ (tests belong in tests/)
- Update docstring with new usage
2026-01-16 01:18:36 +08:00
Neil Ruaro
54933bea2a
Rename changelog to PR number
2026-01-16 01:18:36 +08:00
Neil Ruaro
fcab9899cc
Add changelog entry for Camb.ai TTS integration
2026-01-16 01:18:36 +08:00
Neil Ruaro
be098e85db
Remove non-working Daily/WebRTC example
...
The Daily transport example had authentication issues. Keeping the
local audio example (07zb-interruptible-camb-local.py) which works.
2026-01-16 01:18:36 +08:00
Neil Ruaro
ed0ff46a87
added local test
2026-01-16 01:18:36 +08:00
Neil Ruaro
7ae0d651d6
added cambai tts integration
2026-01-16 01:18:36 +08:00
Mark Backman
efd4432cfb
Renumber the 07 foundational examples
2026-01-15 10:26:17 -05:00
kompfner
24082b84f2
Merge pull request #3453 from pipecat-ai/pk/consistency-pass-on-user-started-stopped-speaking-frames
...
Do a consistency pass on how we're sending `UserStartedSpeakingFrame`…
2026-01-15 09:24:14 -05:00
Aleix Conchillo Flaqué
dcd5840341
Merge pull request #3455 from pipecat-ai/aleix/reset-user-turn-start-strategies
...
UserTurnController: reset user turn start strategies when turn triggered
2026-01-14 19:28:32 -08:00
Aleix Conchillo Flaqué
9e705ce768
UserTurnController: reset user turn start strategies when turn triggered
2026-01-14 18:20:29 -08:00
Mark Backman
965466cc09
Merge pull request #3454 from pipecat-ai/mb/external-turn-strategies-timeout
...
fix to make on_user_turn_stop_timeout work with ExternalUserTurnStrat…
2026-01-14 20:15:31 -05:00
Mark Backman
f3993f1775
fix to make on_user_turn_stop_timeout work with ExternalUserTurnStrategies
2026-01-14 20:10:56 -05:00
Paul Kompfner
e107902b14
Do a consistency pass on how we're sending UserStartedSpeakingFrames and UserStoppedSpeakingFrames. The codebase is now consistent in broadcasting both types of frames up and downstream.
2026-01-14 18:47:15 -05:00
kompfner
e7b5ff49f4
Merge pull request #3447 from pipecat-ai/pk/add-pr-3420-to-changelog
...
Add PR 3420 to CHANGELOG (it was missing)
2026-01-14 15:33:44 -05:00
Paul Kompfner
e33172c44e
Add PR 3420 to CHANGELOG (it was missing)
2026-01-14 15:33:07 -05:00
Mark Backman
3d858e8aa6
Merge pull request #3444 from pipecat-ai/mb/update-quickstart-0.0.99
...
Update quickstart example for 0.0.99
2026-01-14 10:29:55 -05:00
Mark Backman
eab059c49a
Merge pull request #3446 from pipecat-ai/mb/add-3392-changelog
...
Add PR 3392 to changelog, linting cleanup
2026-01-14 10:28:57 -05:00
Mark Backman
4aaff04fb3
Add PR 3392 to changelog, linting cleanup
2026-01-14 09:43:17 -05:00
Mark Backman
cb364f3cab
Update quickstart example for 0.0.99
2026-01-14 08:59:20 -05:00
Mark Backman
a9bfb090c3
Merge pull request #3287 from ashotbagh/feature/asyncai-multicontext-wss
...
Fix TTFB metric and add multi-context WebSocket support for Async TTS
2026-01-14 07:52:52 -05:00
Ashot
c4ae4025f3
Adjustments of Async TTS for multicontext websocket support
2026-01-14 16:33:30 +04:00
Ashot
15067c678d
adapt Async TTS to updated AudioContextTTSService
2026-01-14 15:45:27 +04:00
Ashot
5ae592f38e
Improve Async TTS interruption handling by using AudioContextTTSService class and add changelog fragments
2026-01-14 15:45:27 +04:00
Ashot
9cdbc56be3
Fix TTFB metric and add multi-context WebSocket support for Async TTS
2026-01-14 15:45:27 +04:00
Aleix Conchillo Flaqué
86ed485711
Merge pull request #3440 from pipecat-ai/changelog-0.0.99
...
Release 0.0.99 - Changelog Update
2026-01-13 17:02:41 -08:00
Aleix Conchillo Flaqué
7e1b4a4e90
update cosmetic changelog updates for 0.0.99
2026-01-13 16:59:46 -08:00
aconchillo
4531d517da
Update changelog for version 0.0.99
2026-01-14 00:49:15 +00:00
Aleix Conchillo Flaqué
6fd5847f84
Merge pull request #3439 from pipecat-ai/aleix/uv-lock-2026-01-13
...
uv.lock: upgrade to latest versions
2026-01-13 16:48:07 -08:00
Aleix Conchillo Flaqué
2015eba9b2
uv.lock: upgrade to latest versions
2026-01-13 16:45:44 -08:00
Mark Backman
84f16ee895
Merge pull request #3438 from pipecat-ai/mb/fix-26a
...
Fix 26a foundational
2026-01-13 19:43:50 -05:00
Aleix Conchillo Flaqué
5b2af03b16
Merge pull request #3437 from pipecat-ai/aleix/update-aggregator-logs
...
LLMContextAggregatorPair: make strategy logs less verbose
2026-01-13 16:39:29 -08:00
Mark Backman
b313395dc3
Fix 26a foundational
2026-01-13 19:31:24 -05:00
Aleix Conchillo Flaqué
0d6bdbee10
LLMContextAggregatorPair: make strategy logs less verbose
2026-01-13 15:11:22 -08:00
Aleix Conchillo Flaqué
248dac3a9d
Merge pull request #3420 from pipecat-ai/pk/fix-gemini-3-parallel-function-calls
...
Fix parallel function calling with Gemini 3.
2026-01-13 14:40:33 -08:00
Paul Kompfner
be49a54856
Fast-exit in the fix for parallel function calling with Gemini 3, if we can determine up-front that there's no work to do
2026-01-13 17:32:20 -05:00
Aleix Conchillo Flaqué
bd9ee0d646
Merge pull request #3434 from pipecat-ai/aleix/context-appregator-pair-tuple
...
context aggregator pair tuple
2026-01-13 14:12:51 -08:00
Mark Backman
442e0e582d
Merge pull request #3431 from pipecat-ai/mb/update-realtime-examples-transcript-handler
...
Update GeminiLiveLLMService to push thought frames, update 26a for new transcript events
2026-01-13 17:10:40 -05:00
kompfner
38194c0cff
Merge pull request #3436 from pipecat-ai/pk/remove-transcript-processor-reference
...
Remove dead import of `TranscriptProcessor` (which is now deprecated)
2026-01-13 17:06:17 -05:00
Paul Kompfner
0ebdaba03c
Remove dead import of TranscriptProcessor (which is now deprecated)
2026-01-13 17:02:57 -05:00
Aleix Conchillo Flaqué
ee82377d68
examples: fix 22d to push some CancelFrame and EndFrame
2026-01-13 14:01:53 -08:00
Aleix Conchillo Flaqué
861588e4a3
examples: update all examples to use the new LLMContextAggregatorPair tuple
2026-01-13 14:01:53 -08:00
Aleix Conchillo Flaqué
1ab3bf2ef6
LLMContextAggregatorPair: instances can now return a tuple
2026-01-13 14:01:53 -08:00
Mark Backman
bb00d223c9
Update 26a to use context aggregator transcription events
2026-01-13 17:01:10 -05:00
Aleix Conchillo Flaqué
86fbfaddd1
Merge pull request #3435 from pipecat-ai/aleix/fix-llm-context-create-audio-message
...
LLMContext: fix create_audio_message
2026-01-13 13:59:28 -08:00
Aleix Conchillo Flaqué
5612bf513b
LLMContext: fix create_audio_message
2026-01-13 13:53:34 -08:00
Mark Backman
87d0dc9e24
Merge pull request #3412 from pipecat-ai/mb/remove-41a-b
...
Remove foundational examples 41a and 41b
2026-01-13 16:45:26 -05:00
Paul Kompfner
30fbcfbf71
Rework fix for parallel function calling with Gemini 3
2026-01-13 16:33:59 -05:00
Mark Backman
5d90f4ea06
Merge pull request #3428 from pipecat-ai/mb/fix-tracing-none-values
...
Fix TTS, realtime LLM services could return unknown for model_name
2026-01-13 15:40:10 -05:00
kompfner
f6d09e1574
Merge pull request #3430 from pipecat-ai/pk/request-image-frame-fixes
...
Fix request_image_frame and usage
2026-01-13 15:36:44 -05:00
Mark Backman
b8e48dee7f
Merge pull request #3433 from pipecat-ai/mb/port-realtime-examples-transcript-events
...
Update examples to use transcription events from context aggregators
2026-01-13 15:36:06 -05:00
Mark Backman
a6ccb9ec69
Merge pull request #3427 from pipecat-ai/mb/add-07j-gladia-vad-example
...
Add 07j Gladia VAD foundational example, add to release evals
2026-01-13 15:35:24 -05:00
Mark Backman
66551ebdf5
Merge pull request #3426 from pipecat-ai/mb/changelog-3404
...
Add changelog fragments for PR 3404
2026-01-13 15:34:58 -05:00
Aleix Conchillo Flaqué
21534f7d83
added changelog file for #3430
2026-01-13 12:21:22 -08:00
Mark Backman
d591f9e108
Remove 28-transcription-processor.py
2026-01-13 15:20:59 -05:00
Mark Backman
aa2589d3be
Update examples to use transcription events from context aggregators
2026-01-13 15:19:47 -05:00
Aleix Conchillo Flaqué
9d6067fa78
examples(foundational): speak "Let me check on that" in 14d examples
2026-01-13 12:11:30 -08:00
Aleix Conchillo Flaqué
027e54425a
examples(foundational): associate image requests to function calls
2026-01-13 12:11:30 -08:00
Aleix Conchillo Flaqué
e268c73c41
LLMAssistantAggregator: cache function call requested images
2026-01-13 12:10:08 -08:00
Aleix Conchillo Flaqué
d3c57e2da0
UserImageRawFrame: don't deprecate request field
2026-01-13 11:56:13 -08:00
Aleix Conchillo Flaqué
02eace5a16
UserImageRequestFrame: don't deprecate function call related fields
2026-01-13 11:55:55 -08:00
Mark Backman
15bc1dd999
Update GeminiLiveLLMService to push Thought frames when thought content is returned
2026-01-13 14:13:00 -05:00
Paul Kompfner
b937956dc8
Fix request_image_frame and usage
2026-01-13 13:23:01 -05:00
Mark Backman
efbc0c8510
Fix TTS, realtime LLM services could return unknown for model_name
2026-01-13 12:12:15 -05:00
Himanshu Gunwant
d0f227189c
fix: openai llm model name is unknown ( #3422 )
2026-01-13 11:55:52 -05:00
Mark Backman
41eef5efc4
Add 07j Gladia VAD foundational example, add to release evals
2026-01-13 11:36:15 -05:00
Mark Backman
f00f9d9f1a
Add changelog fragments for PR 3404
2026-01-13 11:29:17 -05:00
Mark Backman
ae59b3ba36
Merge pull request #3404 from poseneror/feature/gladia-vad-events
...
feat(gladia): add VAD events support
2026-01-13 11:26:56 -05:00
Paul Kompfner
6668712f7b
Add evals for parallel function calling
2026-01-13 11:03:38 -05:00
Paul Kompfner
8812686b17
Fix parallel function calling with Gemini 3.
...
Gemini expects parallel function calls to be passed in as a single multi-part `Content` block. This is important because only one of the function calls in a batch of parallel function calls gets a thought signature—if they're passed in as separate `Content` blocks, there'd be one or more missing thought signatures, which would result in a Gemini error.
2026-01-13 11:03:38 -05:00
kompfner
8b0f0b5bb4
Merge pull request #3425 from pipecat-ai/pk/gemini-3-flash-new-thinking-levels
...
Add Gemini 3 Flash-specific thinking levels
2026-01-13 11:02:53 -05:00
Paul Kompfner
f5e8a04e3b
Bump aiortc dependency, which relaxes the constraint on av, which was pinned to 14.4.0, which no longer has all necessary wheels
2026-01-13 10:50:08 -05:00
Mark Backman
a298ce3b41
Merge pull request #3424 from pipecat-ai/mb/tts-append-trailing-space
...
Add append_trailing_space to TTSService to prevent vocalizing trailin…
2026-01-13 10:42:40 -05:00
Mark Backman
31daa889e8
Add append_trailing_space to TTSService to prevent vocalizing trailing punctuation; update DeepgramTTSService and RimeTTSService to use the arg
2026-01-13 10:38:54 -05:00
Paul Kompfner
76a058178e
Add Gemini 3 Flash-specific thinking levels
2026-01-13 09:50:59 -05:00
poseneror
3304b18ac2
Add should_interrupt + broadcast user events
2026-01-13 14:27:35 +02:00
poseneror
b95a6afe77
feat(gladia): add VAD events support
...
Add support for Gladia's speech_start/speech_end events to emit
UserStartedSpeakingFrame and UserStoppedSpeakingFrame frames.
When enable_vad=True in GladiaInputParams:
- speech_start triggers interruption and pushes UserStartedSpeakingFrame
- speech_end pushes UserStoppedSpeakingFrame
- Tracks speaking state to prevent duplicate events
This allows using Gladia's built-in VAD instead of a separate VAD
in the pipeline.
2026-01-13 14:27:35 +02:00
Mark Backman
f6ed7d7582
Merge pull request #3418 from pipecat-ai/mb/speechmatics-task-cleanup
2026-01-12 19:24:56 -05:00
Mark Backman
cd3290df1c
Small cleanup for task creation in SpeechmaticsSTTService
2026-01-12 16:00:32 -05:00
Mark Backman
2296caf529
Merge pull request #3414 from pipecat-ai/mb/changelog-3410
...
Update changelog for PR 3410.changed.md
2026-01-12 13:43:42 -05:00
Mark Backman
90ded6658d
Merge pull request #3403 from pipecat-ai/mb/inworld-tts-add-keepalive
...
InworldTTSService: Add keepalive task
2026-01-12 13:31:24 -05:00
Mark Backman
7e97fb80a5
Merge pull request #3392 from pipecat-ai/mb/websocket-service-connection-closed-error
...
Add reconnect logic to WebsocketService in the event of ConnectionClo…
2026-01-12 13:11:43 -05:00
Mark Backman
b58471fdb1
Add Exotel and Vonage to Serializers in README services list
2026-01-12 12:24:56 -05:00
Aleix Conchillo Flaqué
46b4f9f29b
Merge pull request #3413 from pipecat-ai/aleix/fix-assistant-thought-aggregation
...
LLMAssistantAggregator: reset aggregation after adding the thought, not before
2026-01-12 09:21:42 -08:00
Aleix Conchillo Flaqué
ec20d72aba
LLMAssistantAggregator: reset aggregation after adding the thought, not before
2026-01-12 09:18:13 -08:00
Mark Backman
5743e2a99b
Update changelog for PR 3410.changed.md
2026-01-12 12:15:40 -05:00
Mark Backman
2f429a2e76
Merge pull request #3410 from Vonage/feat/fastapi-ws-vonage-serializer
...
feat: update FastAPI WebSocket transport and add Vonage serializer
2026-01-12 12:10:57 -05:00
Varun Pratap Singh
3e982f7a4a
refactor: rename audio_packet_bytes to fixed_audio_packet_size
2026-01-12 22:11:39 +05:30
Mark Backman
89484e281d
Remove foundational examples 41a and 41b
2026-01-12 10:11:58 -05:00
Varun Pratap Singh
14a115f372
changelog: add fragments for PR #3410
2026-01-12 18:12:27 +05:30
Varun Pratap Singh
e96595fe59
feat: update FastAPI WebSocket transport and add Vonage serializer
2026-01-12 17:50:38 +05:30
Mark Backman
f58d21862b
WebsocketService: Add _maybe_try_reconnect and use for exception cases
2026-01-11 16:43:37 -05:00
Om Chauhan
38506f51f7
fix(openrouter): handle multiple system messages for Gemini models
2026-01-11 21:19:47 +05:30
Mark Backman
aac24ad2d4
InworldTTSService: Add keepalive task
2026-01-10 11:20:20 -05:00
Aleix Conchillo Flaqué
1df9575e20
Merge pull request #3400 from pipecat-ai/aleix/ensure-bot-speaking-flag-is-set
...
BaseOutputTransport: ensure bot speaking flag is set on time
2026-01-10 07:34:26 -08:00
Aleix Conchillo Flaqué
64609fe80f
BaseOutputTransport: ensure bot speaking flag is set on time
2026-01-09 20:40:25 -08:00
Aleix Conchillo Flaqué
533a54e111
Merge pull request #3399 from pipecat-ai/aleix/groq-switch-orpheus
...
GroqTTSService: switch to canopylabs/orpheus-v1-english
2026-01-09 20:39:56 -08:00
Aleix Conchillo Flaqué
b59c3eb470
GroqTTSService: switch to canopylabs/orpheus-v1-english
2026-01-09 18:14:48 -08:00
Aleix Conchillo Flaqué
0366fc35cb
Merge pull request #3398 from pipecat-ai/aleix/examples-foundational-fix-49c-transport
...
examples(foundational): add missing transport.output() to 49c
2026-01-09 17:39:54 -08:00
Aleix Conchillo Flaqué
d86ff4b1ee
Merge pull request #3397 from pipecat-ai/aleix/add-setup-pipeline-task
...
PipelineTask: add external pipeline task setup files
2026-01-09 17:39:25 -08:00
Aleix Conchillo Flaqué
f8040324e1
Merge pull request #3396 from pipecat-ai/aleix/add-pipeline-task-pipeline-property
...
PipelineTask: add pipeline property
2026-01-09 17:38:51 -08:00
Mark Backman
9c81acb159
Track websocket disconnecting status to improve error handling
2026-01-09 20:24:07 -05:00
Aleix Conchillo Flaqué
65395b1112
examples(foundational): add missing transport.output() to 49c
2026-01-09 16:44:04 -08:00
Aleix Conchillo Flaqué
d2696be03b
PipelineTask: add external pipeline task setup files
2026-01-09 16:42:27 -08:00
Aleix Conchillo Flaqué
2da4d420f9
PipelineTask: add pipeline property
2026-01-09 15:47:02 -08:00
Aleix Conchillo Flaqué
a992f95c02
clarify changelog with #3343 fix
2026-01-09 10:37:16 -08:00
Aleix Conchillo Flaqué
edd8e07df6
update changelog with #3343 fix
2026-01-09 10:31:29 -08:00
Aleix Conchillo Flaqué
c813d43da0
Merge pull request #3343 from omChauhanDev/fix/auto-resolve-function-result
...
fix: keeping the Aggregator and Service states synchronized.
2026-01-09 10:04:20 -08:00
Aleix Conchillo Flaqué
c973445ab7
Merge pull request #3385 from pipecat-ai/aleix/context-aggregator-turn-stop-messages
...
user and assistant aggregator turn events
2026-01-09 09:52:48 -08:00
Aleix Conchillo Flaqué
25f6ba76d6
add start timestamp to user and assistant turn messages
2026-01-09 09:50:21 -08:00
Aleix Conchillo Flaqué
8f47c569f9
examples(foundational): add 28-user-assistant-turns.py
2026-01-09 09:50:21 -08:00
Aleix Conchillo Flaqué
c16801e524
examples(foundational): update 49 series with on_assistant_thought
2026-01-09 09:50:21 -08:00
Aleix Conchillo Flaqué
dafcd0448f
added changelog for new assistant turn events
2026-01-09 09:50:21 -08:00
Aleix Conchillo Flaqué
24a52375c7
tests: added LLMAssistantAggregator unit tests
2026-01-09 09:50:21 -08:00
Aleix Conchillo Flaqué
5f9e95038e
BaseObject: improve logging messages
2026-01-09 09:50:21 -08:00
Aleix Conchillo Flaqué
5cbb21afb2
deprecate TranscriptProcessor and related dataclasses and frames
2026-01-09 09:50:21 -08:00
Aleix Conchillo Flaqué
119fab2996
LLMAssistantAggregator: allow thought aggregation without appending to context
2026-01-09 09:42:41 -08:00
Aleix Conchillo Flaqué
38d354c4ed
LLMAssistantAggregator: add assistant turn and thought events
2026-01-09 09:42:41 -08:00
Aleix Conchillo Flaqué
cdb1074e11
LLMAssistantAggregator: no need to use BotStoppedSpeakingFrame
...
The end of turn is already handle with interruptions or with
LLMFullResponseEndFrame. LLMFullResponseEndFrame should never be blocked,
otherwise the assistant would not work.
2026-01-09 09:42:41 -08:00
Aleix Conchillo Flaqué
4b61fd2d7d
LLMUserAggregator: add user turn stopped message argument
...
It is now possible to get the user aggregation when a `on_user_turn_stopped`
event is emitted.
2026-01-09 09:42:41 -08:00
Aleix Conchillo Flaqué
5a0a5c120b
Merge pull request #3394 from pipecat-ai/aleix/base-smart-turn-update-vad-start-secs
...
smartturn: rename on_vad_start_secs_updated to update_vad_start_secs
2026-01-09 09:40:29 -08:00
Aleix Conchillo Flaqué
d92926ae54
smartturn: rename on_vad_start_secs_updated to update_vad_start_secs
2026-01-09 09:34:15 -08:00
Aleix Conchillo Flaqué
b34af5da24
Merge pull request #3372 from pipecat-ai/aleix/add-user-turn-controller-processor
...
add new UserTurnController and UserTurnProcessor
2026-01-09 09:29:10 -08:00
Aleix Conchillo Flaqué
5da1f86575
scripts: add 53-concurrent-llm-evaluation.py to release evals
2026-01-09 09:26:38 -08:00
Aleix Conchillo Flaqué
b0185e3539
tests: improve LLMUserAggregator tests
2026-01-09 09:21:28 -08:00
Aleix Conchillo Flaqué
7232da6ba1
tests: added unit tests for UserTurnProcessor
2026-01-09 09:21:28 -08:00
Aleix Conchillo Flaqué
9dff75cd44
examples: add 53-concurrent-llm-evaluation.py
2026-01-09 09:21:28 -08:00
Aleix Conchillo Flaqué
6038860be0
tests: added unit tests for UserTurnController
2026-01-09 09:21:28 -08:00
Aleix Conchillo Flaqué
4653de9f03
tests: rename test_bot_turn_start_strategy to test_user_turn_stop_strategy
2026-01-09 09:21:28 -08:00
Aleix Conchillo Flaqué
fef79651ef
turns: add UserTurnProcessor for advanced pipeline user turn management
2026-01-09 09:21:28 -08:00
Aleix Conchillo Flaqué
3d54ca0a7c
LLMUserAggregator: user UserTurnController for user turn management
2026-01-09 09:21:28 -08:00
Aleix Conchillo Flaqué
199986815c
turns: add UserTurnController for user turn management
2026-01-09 09:21:28 -08:00
Filipi da Silva Fuchter
0a3c00f68b
Merge pull request #3391 from pipecat-ai/filipi/krisp_followup_improvements
...
Krisp VIVA follow-up improvements
2026-01-09 10:39:23 -05:00
marcus-daily
3e2467eb71
Fixing ruff formatting
2026-01-09 15:07:13 +00:00
marcus-daily
c4cc476c3d
Updating changelog
2026-01-09 15:07:13 +00:00
marcus-daily
cc6ff1ac54
Reverting quickstart to match main
2026-01-09 15:07:13 +00:00
marcus-daily
b075502c4c
Addressing code review comments
2026-01-09 15:07:13 +00:00
marcus-daily
35a99f92ab
Take into account VAD start_secs when passing audio data to Smart Turn, and add an extra 500ms of pre-speech audio for good measure
2026-01-09 15:07:13 +00:00
Mark Backman
4fe0836cf9
Add reconnect logic to WebsocketService in the event of ConnectionClosedError
2026-01-09 09:03:01 -05:00
filipi87
8b7cc65ae6
Mentioning the Krisp Viva improvements in the changelog.
2026-01-09 10:43:01 -03:00
filipi87
4d495ba74f
Fixing ruff format.
2026-01-09 10:32:36 -03:00
filipi87
de5de0b162
Fixed KrispVivaTurn to properly release the Krisp SDK.
2026-01-09 10:31:17 -03:00
filipi87
311da30802
Updating the Krisp Viva example to use Krisp turn model.
2026-01-09 10:19:13 -03:00
Garegin Harutyunyan
16819a5caa
Krisp VIVA SDK Filter and Turn support. ( #3261 )
...
* Krisp VIVA SDK Filter and Turn support.
* Reverted the krisp_filter.py as it's already deprectaed.
* enabled test with krisp_audio mock.
* More review comment fixes.
reverted the state logic in viva filter to be similar to the existing impl on main branch.
Fixed tests, ruff, etc.
* More review comments for Turn detection.
removed integration tests.
* Moved the SDK init/deinit into start/stop
2026-01-09 08:15:08 -05:00
Mark Backman
72a44c2fcd
Merge pull request #3386 from pipecat-ai/mb/deepgram-deprecate-vad-events
...
Deprecate support for vad_events in DeepgramSTTService
2026-01-09 07:56:03 -05:00
Mark Backman
7783b20b91
Merge pull request #3390 from dhruvladia-sarvam/update/sarvam-plugins
2026-01-09 07:11:13 -05:00
dhruvladia-sarvam
962ccbc0d7
fix
2026-01-09 14:26:28 +05:30
Mark Backman
4d61c5d7b2
Deprecate support for vad_events in DeepgramSTTService
2026-01-08 20:32:30 -05:00
Mark Backman
7ca4597ade
Merge pull request #3379 from lukepayyapilli/fix/fastapi-websocket-json-text-handling
...
Fix FastAPIWebsocketTransport to handle both binary and text messages
2026-01-08 17:26:35 -05:00
Luke Payyapilli
f1a22728ab
Add websocket extra to coverage workflow
2026-01-08 17:13:31 -05:00
Luke Payyapilli
ca88fc849f
Add websocket extra to CI for FastAPI test coverage
2026-01-08 17:09:27 -05:00
Luke Payyapilli
ccd795445f
Fix protobuf serializer test to compare attributes instead of frame objects
2026-01-08 17:00:40 -05:00
Luke Payyapilli
1874269a48
Remove FrameSerializerType enum and type property from serializers
2026-01-08 16:54:23 -05:00
Mark Backman
8b20373a8e
Merge pull request #3380 from pipecat-ai/mb/changelog-3366
...
Add changelog fragment for PR 3366
2026-01-08 14:49:47 -05:00
Aleix Conchillo Flaqué
15dcb77a0c
Merge pull request #3364 from pipecat-ai/rajneesh/add-daily-sip-provider-option
...
Add support for specifying sip provider.
2026-01-08 11:47:09 -08:00
Mark Backman
5d2fac9cd7
Add changelog fragment for PR 3366
2026-01-08 14:43:23 -05:00
Mark Backman
682b253760
Merge pull request #3366 from lukepayyapilli/fix/cartesia-allow-none-language
...
Allow language=None in CartesiaTTSService for auto-detection
2026-01-08 14:42:09 -05:00
Luke Payyapilli
f440de82e2
Handle None language in _process_word_timestamps_for_language
2026-01-08 13:59:21 -05:00
Mark Backman
5e0e6822c7
Merge pull request #3360 from pipecat-ai/mb/openai-realtime-send-image
...
Add video input (e.g. image input) support for OpenAI Realtime
2026-01-08 13:26:35 -05:00
Mark Backman
2aadac7a4d
Update OpenAIRealtime image to video to align with GeminiLive
2026-01-08 13:23:08 -05:00
Filipi da Silva Fuchter
1098394486
Merge pull request #3374 from pipecat-ai/filipi/external_turn_controllers_interruptions
...
External turn controllers improvements
2026-01-08 13:05:41 -05:00
Mark Backman
b90a34228f
Update 19c to remove pausing audio and input
2026-01-08 13:00:45 -05:00
Mark Backman
8bf8ebd34b
Remove start_audio_paused from OpenAI Realtime demos, and others
2026-01-08 13:00:45 -05:00
Mark Backman
673d88417c
Change Gemini Live and OpenAI Realtime logging to trace when sending a video frame
2026-01-08 13:00:45 -05:00
Mark Backman
3a7b489208
Add foundational 19c and add to evals
2026-01-08 13:00:45 -05:00
Mark Backman
7ae9eebc34
Add image input support for OpenAI Realtime
2026-01-08 13:00:44 -05:00
Mark Backman
8f83ba5878
Merge pull request #3376 from dhruvladia-sarvam/update/sarvam-plugins
...
headers update
2026-01-08 12:57:32 -05:00
filipi87
b8af3fa214
Improving should_interrupt docs for Speechmatics.
2026-01-08 14:53:29 -03:00
dhruvladia-sarvam
5ddec4f596
fix
2026-01-08 23:07:40 +05:30
dhruvladia-sarvam
8f4b4f4941
fix
2026-01-08 23:04:43 +05:30
dhruvladia-sarvam
953349f262
fix
2026-01-08 22:53:59 +05:30
Luke Payyapilli
b52ae0e56b
Fix FastAPIWebsocketTransport to handle both binary and text messages
2026-01-08 11:25:18 -05:00
dhruvladia-sarvam
893b448534
headers update
2026-01-08 21:09:41 +05:30
Mark Backman
973769b8bc
Merge pull request #3370 from pipecat-ai/mb/fix-azure-tts
...
AzureTTSService cleanup
2026-01-08 09:34:02 -05:00
filipi87
c8fa9d34e1
Adding a changelog entry for the new should_interrupt property.
2026-01-08 10:58:07 -03:00
filipi87
3069deb92f
Allows defining whether Speechmatics should send an interruption when the user’s turn has started.
2026-01-08 10:50:33 -03:00
filipi87
68c9c01747
Allows defining whether Flux should send an interruption when the user’s turn has started.
2026-01-08 10:44:53 -03:00
filipi87
5e8f0baa12
Allows defining whether Deepgram should send an interruption when the user’s turn has started.
2026-01-08 10:36:52 -03:00
Mark Backman
8d1286cc00
Merge pull request #3371 from speechmatics/fix/voice-version-bump
2026-01-08 07:21:43 -05:00
Aleix Conchillo Flaqué
bda4dd339a
Merge pull request #3373 from pipecat-ai/aleix/update-copyright-notices-2026
...
update examples and tests copyright and use a proper dash in 2024-2026
2026-01-07 20:36:40 -08:00
rajneeshksoni
f2e3034d24
Add support for specifying sip provider.
...
optional "provider" field in the RoomSipParams
2026-01-08 09:05:56 +05:30
Aleix Conchillo Flaqué
2626154a64
update examples and tests copyright and use a proper dash in 2024-2026
2026-01-07 19:32:22 -08:00
Sam Sykes
b770b2a419
Changelog
2026-01-07 16:56:56 -08:00
Sam Sykes
158c34b0f9
version bump
2026-01-07 16:54:53 -08:00
Mark Backman
d507c88d3e
Merge pull request #3369 from pipecat-ai/mb/copyright-2026
...
Update copyright date range to 2024-2026
2026-01-07 17:07:05 -05:00
Mark Backman
98f70b775f
Update copyright date range to 2024-2026
2026-01-07 16:58:13 -05:00
Mark Backman
54f4b824e4
Merge pull request #3356 from pipecat-ai/mb/gemini-live-user-transcript-timeout
...
Add timeout for handling user transcript messages
2026-01-07 16:47:23 -05:00
Mark Backman
2aa5307f0a
Add _push_user_transcription to unify the logic to push user transcripts from a single utility function
2026-01-07 16:43:48 -05:00
Mark Backman
6c10d6ef8a
Merge pull request #3367 from pipecat-ai/marcus/smart-turn-v3.2
...
Updated Smart Turn model weights to v3.2
2026-01-07 16:37:53 -05:00
Mark Backman
89b36f2b25
AzureTTSService: Restore metrics generation
2026-01-07 16:33:52 -05:00
Mark Backman
79a6adbcf3
AzureTTSService: Handle first chunk only for timestamps and TTFB metrics
2026-01-07 16:15:01 -05:00
Mark Backman
95f00a3c4b
AzureTTSService: Align error handling with Pipecat norms
2026-01-07 15:45:30 -05:00
Mark Backman
3f8373f76f
AzureTTSService: prevent word timestamp carryover on interruption
2026-01-07 15:39:37 -05:00
Mark Backman
23a9d3f4d7
Merge pull request #3334 from obata-kotobasamurai/fix/azure-tts-word-timestamp
...
Add word-level timestamp support to Azure TTS with race condition fix
2026-01-07 14:48:02 -05:00
Mark Backman
333279f45a
Merge pull request #3328 from speechmatics/fix/speectmatics-vad
...
Update to SpeechmaticsSTTService for `0.0.99`
2026-01-07 14:42:21 -05:00
yukiobata1
add5f51201
updated azure tts.py file
2026-01-08 03:14:37 +09:00
marcus-daily
d1bedef5b3
Updated Smart Turn model weights to v3.2
2026-01-07 17:23:11 +00:00
Mark Backman
54cf0116a8
Merge pull request #3363 from pipecat-ai/mb/update-audo-context-inheritance
...
Update AudioContextTTSService to inherit from WebsocketTTSService
2026-01-07 12:08:47 -05:00
Luke Payyapilli
6b252fb46e
Allow language=None in CartesiaTTSService for auto-detection
2026-01-07 11:50:21 -05:00
Sam Sykes
3e00a16f0f
Remove unused import and correction to docs.
2026-01-07 07:45:26 -08:00
Sam Sykes
ecfd93544a
Correction to UserStartedSpeakingFrame timing.
2026-01-07 07:43:47 -08:00
Sam Sykes
3ec89e49bf
Added changelog for split_sentences and code tidy for end of turn handling.
2026-01-07 07:41:49 -08:00
Mark Backman
8762506e9f
Update AudioContextTTSService to inherit from WebsocketTTSService
2026-01-07 09:10:27 -05:00
yukiobata1
7204bf9914
added changegelog
2026-01-07 13:32:31 +09:00
yukiobata1
f62c262f23
Call start_word_timestamps() when the first audio chunk arrives
2026-01-07 13:10:41 +09:00
Mark Backman
10aa784809
Merge pull request #3351 from okue/fix/stt-model-name-attribute
...
Fix STT model name attribute retrieval in tracing decorator
2026-01-06 16:10:56 -05:00
Filipi da Silva Fuchter
904f5dc183
Merge pull request #3338 from omChauhanDev/fix/smallwebrtc-mute-timeout-spam
...
fix(smallwebrtc): suppress timeout warnings when tracks are disabled
2026-01-06 09:07:52 -05:00
Mark Backman
c61a5e7173
Merge pull request #3346 from pipecat-ai/mb/cartesia-pronunciation-dict
...
Cartesia TTS: Add support for pronunciation_dict_id
2026-01-06 08:52:09 -05:00
Filipi da Silva Fuchter
81b28beef5
Merge pull request #3357 from pipecat-ai/filipi/live_avatar
...
Added support for using the HeyGen LiveAvatar API with the HeyGenTransport
2026-01-06 08:22:39 -05:00
filipi87
0d34356678
Adding a changelog entry for the HeyGen LiveAvatar API change.
2026-01-06 10:19:19 -03:00
filipi87
5412840a93
Added support for using the HeyGen LiveAvatar API with the HeyGenTransport.
2026-01-06 10:16:12 -03:00
yukiobata1
137bbb3d2c
updated tts.py to match mark's version
2026-01-06 21:16:13 +09:00
Mark Backman
5a40054ac2
Merge pull request #3216 from mayurdd/patch-1
...
Adding include_language_detection param to Elevenlabs Realtime STT
2026-01-05 17:01:02 -05:00
Mark Backman
be621fbc5c
Add timeout for handling user transcript messages
2026-01-05 16:58:14 -05:00
Mark Backman
9ab4836601
Merge pull request #3323 from pipecat-ai/mb/changelog-3322
...
Add changelog fragment for PR #3322
2026-01-05 16:55:52 -05:00
mayurdd
4671102833
Addressing the comments
2026-01-05 13:35:37 -08:00
Mayur Sirwani
67401a275b
Adding include_language_detection to Elevenlabs Realtime STT
...
Adding a param to the config while connecting to the session
2026-01-05 13:27:27 -08:00
Mark Backman
c422588071
Merge pull request #3345 from pipecat-ai/mb/avoid-tts-dot
...
Add trailing space to DeepgramTTSService text generation
2026-01-05 15:56:14 -05:00
kompfner
fb12fec899
Merge pull request #3354 from pipecat-ai/pk/fix-aws-nova-sonic-example-for-nova-2-sonic
...
Fix the 20e example to use the proper conversation-start pattern for …
2026-01-05 11:17:57 -05:00
Paul Kompfner
c53c49558f
Fix the 20e example to use the proper conversation-start pattern for the Nova 2 Sonic model
2026-01-05 10:56:08 -05:00
okue
1a26a2daa4
Fix STT model name attribute retrieval in tracing decorator
...
Changed getattr with default value to use 'or' operator for fallback.
This ensures proper model name retrieval when model_name attribute exists but is None or empty.
2026-01-05 17:20:48 +09:00
Mark Backman
d8be1282b5
Cartesia TTS: Add support for pronunciation_dict_id
2026-01-04 09:30:04 -05:00
Mark Backman
91bc5236b5
Add trailing space to DeepgramTTSService text generation
2026-01-04 08:53:48 -05:00
Om Chauhan
1ceb01665f
fix: treat language as first-class STT setting
2026-01-04 11:04:30 +05:30
Om Chauhan
b278957111
fix: broadcast FunctionCallResultFrame, on implicit return
2026-01-03 19:52:25 +05:30
Mark Backman
1c80c739d6
Merge pull request #3335 from pipecat-ai/mb/update-evals-07-variants
...
Add 07 example variants to release evals
2026-01-02 15:32:12 -05:00
Om Chauhan
700a94222b
fix(smallwebrtc): suppress timeout warnings when tracks are disabled
2026-01-01 22:00:08 +05:30
Sam Sykes
d5d2156689
Updated changelog.
2025-12-31 19:07:11 +00:00
Sam Sykes
8203ad08a8
Updated to have default as FIXED for Pipecat VAD.
2025-12-31 19:05:29 +00:00
Mark Backman
31907b90f0
Add 07 example variants to release evals
2025-12-31 09:11:00 -05:00
Mark Backman
7b595f10ce
Merge pull request #3329 from omChauhanDev/deepgram-tts-validation
...
added encoding validation in DeepgramTTSService
2025-12-31 08:20:40 -05:00
yukiobata1
4f93d331b7
Added await to self.start_word_timestamps()
2025-12-31 19:19:21 +09:00
yukiobata1
32c6dccebe
Add word-level timestamp support to Azure TTS with cumulative PTS fix
...
This commit adds word boundary support to AzureTTSService and fixes
the race condition that causes scrambled TTS output across multiple
sentences.
## Features Added
- Change AzureTTSService to inherit from WordTTSService
- Subscribe to Azure SDK's synthesis_word_boundary event
- Emit word-level text with timing information via _words_queue
- Add synthesis lock for sequential sentence processing
## Race Condition Fix
Previously, each sentence's word boundary timestamps reset to 0,
causing downstream components to interleave words when reordering
frames by PTS. This resulted in scrambled output like:
'Hello ! I What am questions AI have assistant...'
The fix adds cumulative audio offset tracking to ensure monotonically
increasing PTS across all sentences:
Sentence 1: pts = 0.1s, 0.5s, 0.8s (cumulative at end: 0.8s)
Sentence 2: pts = 0.9s, 1.2s, 1.5s (0.8s + relative offset)
## Key Changes
- _cumulative_audio_offset: tracks total audio duration
- _handle_word_boundary: adds cumulative offset to timestamps
- _handle_completed: accumulates audio duration for next sentence
- flush_audio: resets cumulative offset at end of LLM response
- _handle_interruption: resets state on user interruption
- run_tts: uses synthesis lock for sequential processing
Fixes #2918
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2025-12-31 18:49:48 +09:00
Aleix Conchillo Flaqué
cbdc2b7d2d
Merge pull request #3330 from pipecat-ai/aleix/update-turn-start-strategies-deprecations
...
update turn start strategies deprecations
2025-12-30 21:04:47 -08:00
Aleix Conchillo Flaqué
66a9dc70c7
LLMUserAggregator: fix turn strategies renaming
2025-12-30 20:59:48 -08:00
Aleix Conchillo Flaqué
846ca500d3
turns: update old turn_start_strategies deprecations
2025-12-30 19:50:10 -08:00
Om Chauhan
bd6afd445d
added changelog
2025-12-31 09:18:18 +05:30
Om Chauhan
0663bbc2fb
added encoding validation in DeepgramTTSService
2025-12-31 08:33:17 +05:30
Sam Sykes
8e7a951af8
updated changelog
2025-12-31 01:36:58 +00:00
Sam Sykes
ba1aeb8f7f
Changelog
2025-12-31 01:31:46 +00:00
Sam Sykes
f7c74cfa80
Updated VAD
2025-12-31 01:28:31 +00:00
Mark Backman
2e700c8576
Merge pull request #3324 from pipecat-ai/mb/bump-small-webrtc-prebuilt-version
...
Bump small-webrtc-prebuilt verison to 2.0.4, update uv.lock
2025-12-30 20:10:11 -05:00
Aleix Conchillo Flaqué
fd2efb3b3a
Merge pull request #3325 from pipecat-ai/aleix/rename-bot-turn-start-to-user-turn-stop
...
turns: rename bot turn start to user turn stop strategies
2025-12-30 14:36:02 -08:00
Aleix Conchillo Flaqué
eb5a797b12
turns: rename bot turn start to user turn stop strategies
2025-12-30 14:33:58 -08:00
Mark Backman
f4626a4fc4
Bump small-webrtc-prebuilt verison to 2.0.4, update uv.lock
2025-12-30 14:19:20 -05:00
Aleix Conchillo Flaqué
fb9a772e33
Merge pull request #3319 from pipecat-ai/aleix/openaillmcontext-backwards-compatibility
...
BaseInputTransport: fix OpenAILLMContext backwards compatibility
2025-12-30 09:35:43 -08:00
Aleix Conchillo Flaqué
4630e76942
ExternalUserTurnStartStrategy: disable interruptions
2025-12-30 09:32:31 -08:00
Aleix Conchillo Flaqué
4dba9ea329
BaseInputTransport: fix OpenAILLMContext backwards compatibility
2025-12-30 09:32:31 -08:00
Mark Backman
233bc23bf9
Merge pull request #3320 from joshwhiton/fix-changelog-numba-pin
...
Fix numba pin wording in changelog
2025-12-30 08:50:06 -05:00
Mark Backman
e0b40a330f
Add changelog fragment for PR #3322
2025-12-30 08:40:28 -05:00
Mark Backman
9c6d0f1be1
Merge pull request #3322 from gui217/fix/rnnoise_filter_handle_empty_audio
...
Fix/rnnoise filter handle empty audio
2025-12-30 08:39:42 -05:00
gui217
32c3298eff
Apply ruff formatting to test file
2025-12-30 13:39:36 +02:00
gui217
ec5fb392c4
Clean up test comments after rnnoise filter fix
2025-12-30 13:35:13 +02:00
gui217
bad8f8aa51
Fix rnnoise filter to handle empty audio
2025-12-30 13:32:36 +02:00
joshwhiton
6a7b6bcded
Fix numba pin wording in changelog
2025-12-30 11:26:22 +07:00
Aleix Conchillo Flaqué
00548769cb
Merge pull request #3318 from pipecat-ai/aleix/llm-user-aggregator-allow-interruptions
...
LLMUserAggregator: also read deprecated allow_interruptions
2025-12-29 18:11:57 -08:00
Aleix Conchillo Flaqué
0a0ab51cc7
LLMUserAggregator: also read deprecated allow_interruptions
2025-12-29 17:57:18 -08:00
Mark Backman
8339c2c2c7
Merge pull request #3317 from pipecat-ai/mb/add-changelog-other
...
Add 'other' changelog category
2025-12-29 20:46:18 -05:00
Aleix Conchillo Flaqué
ad4c22cf44
Merge pull request #3316 from pipecat-ai/aleix/llm-user-aggreagtor-enable-interruptions
...
turns(user): add support for enabling/disabling interruptions
2025-12-29 17:45:56 -08:00
Mark Backman
8ac6421988
Add 'other' changelog category
2025-12-29 20:43:24 -05:00
Aleix Conchillo Flaqué
9fe99ed880
add and update changelog entries
2025-12-29 17:35:10 -08:00
Aleix Conchillo Flaqué
97ab0d4f53
examples: added 52-live-translation without interruptions
2025-12-29 17:30:06 -08:00
Aleix Conchillo Flaqué
ffbbb1b3f5
turns(user): add support for enabling/disabling interruptions
2025-12-29 17:00:03 -08:00
Aleix Conchillo Flaqué
e22a6c9e4d
Merge pull request #3305 from omChauhanDev/fix_unregister_function
...
fix: missing key access by adding existence check
2025-12-29 14:52:41 -08:00
Aleix Conchillo Flaqué
09e79149ea
Merge pull request #3310 from omChauhanDev/fix-task-manager
...
fix: preserve asyncio.Task return value in create_task
2025-12-29 14:43:24 -08:00
Aleix Conchillo Flaqué
c799d63f8c
Merge pull request #3308 from pipecat-ai/aleix/external-turn-start-strategies
...
turns: add external user and bot turn start strategies
2025-12-29 14:42:38 -08:00
Aleix Conchillo Flaqué
bd9a316d7a
transports: don't use interruptions_allowed to avoid deprecation warning
2025-12-29 14:40:00 -08:00
Aleix Conchillo Flaqué
c8f47b4b22
turns: add UserTurnStartedParams and BotTurnStartedParams
2025-12-29 14:32:08 -08:00
Aleix Conchillo Flaqué
cf46431d92
update changelog file
2025-12-29 10:30:41 -08:00
Mark Backman
c28ed2206c
DeepgramSTTService pushes user started/stopped speaking and interruption frames
2025-12-29 10:17:35 -08:00
Mark Backman
30e6a33930
Update VoicemailDetector to use ExternalTurnStartStrategies
2025-12-29 10:17:35 -08:00
Aleix Conchillo Flaqué
46db8e58d6
LLMUserAggregator: fix backwards compatibility with ExternalTurnStartStrategies
2025-12-29 10:17:35 -08:00
Aleix Conchillo Flaqué
e757b4bf6f
tests: added external user and bot turn start strategies
2025-12-29 10:17:35 -08:00
Aleix Conchillo Flaqué
c821e9f8fd
turns: add external user and bot turn start strategies
...
External strategies are strategies where the logic for user turn start and turn
end come from a different processors (e.g. an STT).
2025-12-29 10:17:35 -08:00
Mark Backman
01ce06c756
Merge pull request #3288 from pipecat-ai/mb/inworld-cleanup
...
Inworld TTS service clean up
2025-12-29 13:07:20 -05:00
Mark Backman
4bc490c843
Merge pull request #3289 from pipecat-ai/mb/audio-context-tts-service-base
...
Add AudioContextTTSService base class, update AudioContextWordTTSServ…
2025-12-29 13:05:06 -05:00
Mark Backman
345885fe7d
Merge pull request #3271 from pipecat-ai/mb/changelog-3268
...
Update fragment name for 3268
2025-12-29 13:04:03 -05:00
Mark Backman
6475077fc8
Merge pull request #3313 from pipecat-ai/mb/ultravox-s2s-readme
...
Update Ultravox README link
2025-12-29 13:03:39 -05:00
Mark Backman
d646ca594b
Update Ultravox README link
2025-12-29 11:43:28 -05:00
Mark Backman
7c0d897aa3
Merge pull request #3300 from omChauhanDev/nvidia-expose-use_ssl-param
...
exposed use_ssl param in nvidia services
2025-12-29 09:18:26 -05:00
Aleix Conchillo Flaqué
0e8e3afc85
Merge pull request #3307 from pipecat-ai/aleix/simplify-turns-package-imports
...
turns: simplify imports and don't require full strategy module path
2025-12-28 18:51:23 -08:00
Aleix Conchillo Flaqué
db85043841
Merge pull request #3297 from pipecat-ai/aleix/deprecate-allow-interruptions
...
deprecate allow interruptions
2025-12-28 18:50:15 -08:00
Om Chauhan
a181e01310
fixed: create_task to return coroutine result
2025-12-29 07:46:15 +05:30
Aleix Conchillo Flaqué
5496aa722f
turns: simplify imports and don't require full strategy module path
2025-12-28 16:20:15 -08:00
Aleix Conchillo Flaqué
053f59ed6e
FrameProcessor: deprecated interruptions_allowed
2025-12-28 08:27:02 -08:00
Aleix Conchillo Flaqué
5b93fb9609
PipelineTask: deprecate allow_interruptions parameter
2025-12-28 08:27:02 -08:00
Aleix Conchillo Flaqué
192ede6e34
Merge pull request #3298 from pipecat-ai/aleix/push-user-started-speaking-first
...
push UserStartedSpeakingFrame before interruption
2025-12-28 08:24:50 -08:00
Aleix Conchillo Flaqué
956f004424
Merge pull request #3296 from pipecat-ai/aleix/move-turn-start-strategies-to-aggregator
...
LLMUserAggregator: move turn_start_strategies from PipelineTask
2025-12-28 08:19:23 -08:00
Aleix Conchillo Flaqué
8b861d9143
LLMUserAggregator: move turn_start_strategies from PipelineTask
2025-12-28 08:16:34 -08:00
Aleix Conchillo Flaqué
e5bd55d1d5
Merge pull request #3292 from pipecat-ai/aleix/initial-user-mute-strategies
...
initial user mute strategies
2025-12-28 08:14:48 -08:00
Aleix Conchillo Flaqué
094d9fd7d7
turns(mute): make strategies available in __init__
2025-12-28 08:12:44 -08:00
Aleix Conchillo Flaqué
c7589663b5
deprecate STTMuteFilter in favor of LLMUSerAggregator user mute strategies
2025-12-28 08:12:44 -08:00
Om Chauhan
0f144f48cb
fix: missing key access by adding existence check
2025-12-28 10:28:37 +05:30
Aleix Conchillo Flaqué
a962c4eeba
STTMuteFilter: use FunctionCallsStartedFrame and support multiple function calls
2025-12-27 13:52:30 -08:00
Aleix Conchillo Flaqué
43fc26cf0e
tests: add user mute strategies tests to user aggregator
2025-12-27 13:49:31 -08:00
Aleix Conchillo Flaqué
53b450c1d1
added changelog entry for user mute strategies
2025-12-27 13:49:31 -08:00
Aleix Conchillo Flaqué
0efa36a04e
examples(foundational): added 24-user-mute-strategy.py example
2025-12-27 13:49:31 -08:00
Om Chauhan
edc7db22b6
renamed changelog
2025-12-26 22:21:24 +05:30
Om Chauhan
2c2317de5d
added changelog
2025-12-25 20:23:27 +05:30
Om Chauhan
604384b3ce
exposed use_ssl param
2025-12-25 20:09:42 +05:30
Aleix Conchillo Flaqué
260b7e7959
push UserStartedSpeakingFrame before interruption
2025-12-24 15:33:44 -08:00
Aleix Conchillo Flaqué
0abaae2f07
LLMUserAggregator: no need to reset strategies
...
Turn start strategies are already reset when triggered, so there's no need to
reset them again.
2025-12-24 11:08:43 -08:00
Aleix Conchillo Flaqué
30922d365f
minor turn start strategies cleanup
2025-12-24 11:08:43 -08:00
Aleix Conchillo Flaqué
c33c8d2195
LLMUserAggregator: add support for user mute strategies
2025-12-24 11:08:43 -08:00
Aleix Conchillo Flaqué
5a4236bc71
tests: add user mute strategy tests
2025-12-24 11:08:43 -08:00
Aleix Conchillo Flaqué
1d70275574
initial user mute strategies
2025-12-24 11:08:43 -08:00
Aleix Conchillo Flaqué
ee35ea0966
Merge pull request #3291 from pipecat-ai/aleix/llm-user-aggregator-timeout
...
LLMUserAggregator bot turn start strategies timeout fallback
2025-12-23 18:34:57 -08:00
Aleix Conchillo Flaqué
ffb5895404
tests: add initial tests for universal LLMUserAggregator
2025-12-23 15:51:06 -08:00
Aleix Conchillo Flaqué
1f0357ae5e
LLMUserAggregator: add bot turn start strategies timeout fallback
2025-12-23 15:42:57 -08:00
Mark Backman
44a698cbcc
Add AudioContextTTSService base class, update AudioContextWordTTSService inheritance
2025-12-23 10:36:17 -05:00
Mark Backman
74ab68cb58
Add changelog fragment
2025-12-23 10:15:50 -05:00
Mark Backman
5038ebf205
Clean up _receive_messages to use WebsocketService class
2025-12-23 09:44:21 -05:00
Mark Backman
1da215f576
Inworld TTS service clean up
2025-12-23 09:24:29 -05:00
Aleix Conchillo Flaqué
40493e8ce8
Merge pull request #3286 from pipecat-ai/aleix/improve-turn-analyzer-bot-turn-start-strategy
...
improve turn analyzer bot turn start strategy
2025-12-22 21:46:48 -08:00
Aleix Conchillo Flaqué
4017bfa769
LLMUserAggregator: improve turn_analyzer warning
2025-12-22 21:44:49 -08:00
Aleix Conchillo Flaqué
480a9d092c
TurnAnalyzerBotTurnStartStrategy: make sure to use turn analyzer state
2025-12-22 16:29:48 -08:00
Aleix Conchillo Flaqué
b5fe1c9cd8
fix old interruption/speaking strategies docstrings
2025-12-22 16:19:25 -08:00
Mark Backman
49b53d72a9
Merge pull request #3276 from pipecat-ai/mb/grok-realtime-cleanup
...
GrokRealtimeLLMService cleanup
2025-12-22 18:13:23 -05:00
Aleix Conchillo Flaqué
ae9ee33af9
Merge pull request #3284 from pipecat-ai/aleix/min-words-bot-not-speaking
...
MinWordsUserTurnStartStrategy: single word interrupt if bot not speaking
2025-12-22 15:07:36 -08:00
Mark Backman
01466c19fc
Merge pull request #3285 from pipecat-ai/mb/revert-changes-quickstat
...
Revert turn strategies changes to quickstart
2025-12-22 18:07:30 -05:00
Mark Backman
93689827e9
Revert turn strategies changes to quickstart
2025-12-22 18:05:05 -05:00
Aleix Conchillo Flaqué
a0d5ee3873
MinWordsUserTurnStartStrategy: single word interrupt if bot not speaking
2025-12-22 14:32:21 -08:00
Mark Backman
08a9b434c1
Merge pull request #3277 from pipecat-ai/mb/fix-deprecation-warning-LLMContextAssistantTimestampFrame
...
fix: Separate LLMContextAssistantTimestampFrame from OpenAILLMContext…
2025-12-22 13:51:26 -05:00
Mark Backman
2910b683a4
Fix STT services that rely on VAD stop speaking status to finalize the transcript ( #3283 )
...
Updates to AssemblyAISTTService, CartesiaSTTService, DeepgramSageMakerSTTService, DeepgramSTTService to use VADUser*SpeakingFrame
2025-12-22 12:54:06 -05:00
Mark Backman
0958c658db
Merge pull request #3279 from pipecat-ai/mb/fix-11labs-realtime-stt-vad-speaking
...
fix: Update ElevenLabsRealtimeSTTService to use VADUser speaking frames
2025-12-22 12:11:18 -05:00
Mark Backman
00bb08bacc
fix: Update ElevenLabsRealtimeSTTService to use VADUser speaking frames
2025-12-21 15:57:42 -05:00
Mark Backman
65f23adf4a
fix: Separate LLMContextAssistantTimestampFrame from OpenAILLMContextAssistantTimestampFrame
2025-12-21 09:06:35 -05:00
Mark Backman
5ad8e5436d
Add Grok Voice Agent to README services list
2025-12-20 08:11:41 -05:00
Mark Backman
845b4ad20e
Add 51 foundational to evals
2025-12-20 08:07:25 -05:00
Mark Backman
32c4f914c4
Add event handling and class for response.function_call_arguments.delta
2025-12-20 08:06:39 -05:00
Mark Backman
348fa5a719
Improve SessionProperties initialization: remove voice from args, set default for TurnDetection
2025-12-20 08:02:48 -05:00
Mark Backman
0576783c5e
Improve sample_rate handling in GrokRealtimeLLMService
2025-12-20 07:46:31 -05:00
Mrunmay Chichkhede
d7d979dde1
feat: Add GrokRealtimeLLMService for xAI Grok Voice Agent API ( #3267 )
2025-12-20 07:04:12 -05:00
Sam Sykes
76bae6e699
Update SpeechmaticsSTTService to use the python voice SDK
2025-12-19 19:59:18 -05:00
Mark Backman
f31416c5e4
Update fragment name for 3268
2025-12-19 17:55:10 -05:00
Aleix Conchillo Flaqué
5c779abad2
Merge pull request #3045 from pipecat-ai/aleix/redesign-interruption-strategies
...
introducing user and bot turn start strategies
2025-12-19 14:51:33 -08:00
Aleix Conchillo Flaqué
ec7a7ed048
add RNNoiseFilter to changelog and update pyrnnoise to 0.4.1
2025-12-19 14:48:06 -08:00
Aleix Conchillo Flaqué
bf791527dc
update CHANGELOG for new user/bot turn start strategies
2025-12-19 14:48:06 -08:00
Aleix Conchillo Flaqué
5816f960cc
LLMUserAggregator: add on_user_turn_started/on_bot_turn_started events
2025-12-19 14:47:02 -08:00
Aleix Conchillo Flaqué
9bf6668b52
LLMUserAggregator: show error if using turn analyzer in transport
2025-12-19 14:47:02 -08:00
Aleix Conchillo Flaqué
4a32aa5266
TurnAnalyzerBotTurnStartStrategy: don't use text on interim transcriptions
2025-12-19 14:47:02 -08:00
Aleix Conchillo Flaqué
c9048d3a0f
LLMUserAggregator: prevent consecutive user/bot turn starts
2025-12-19 14:47:02 -08:00
Aleix Conchillo Flaqué
9e56d1ac65
TurnStartStrategies: set user and bot strategies defaults if None
2025-12-19 14:47:02 -08:00
Aleix Conchillo Flaqué
d22e1f18bb
examples: update with new user and bot turn start strategies
2025-12-19 14:47:02 -08:00
Aleix Conchillo Flaqué
83263a30af
llm_response: deprecate old LLMUserAggregatorParams and LLMAssistantAggregatorParams
2025-12-19 14:47:02 -08:00
Aleix Conchillo Flaqué
169fc0b568
frames: deprecate emulated field in UserStartedSpeakingFrame/UserStoppedSpeakingFrame
2025-12-19 14:47:02 -08:00
Aleix Conchillo Flaqué
a9cca0b934
LLMAssistantAggregatorParams: copy to llm_response_universal
2025-12-19 14:47:02 -08:00
Aleix Conchillo Flaqué
dff6b5402a
LLMUserAggregator: use TranscriptionUserTurnStartStrategy for emulated interruptions
2025-12-19 14:47:02 -08:00
Aleix Conchillo Flaqué
2cdf207227
turns: add TranscriptionUserTurnStartStrategy
2025-12-19 14:47:02 -08:00
Aleix Conchillo Flaqué
a388ff927c
LLMUserAggregator: broadcast user started/stopped speaking frames
2025-12-19 14:47:02 -08:00
Aleix Conchillo Flaqué
222ccbb471
SegmentedSTTService: use VAD user started/stopped speaking frames
2025-12-19 14:47:02 -08:00
Aleix Conchillo Flaqué
49ebe34599
BaseInputTransport: broadcast SpeechControlParamsFrame
2025-12-19 14:47:02 -08:00
Aleix Conchillo Flaqué
c4c4b4107b
TurnAnalyzerBotTurnStartStrategy: broadcast SpeechControlParamsFrame
2025-12-19 14:47:02 -08:00
Aleix Conchillo Flaqué
7e6b0839b0
examples(foundational): don't use legacy LLMUserAggregatorParams
2025-12-19 14:47:02 -08:00
Aleix Conchillo Flaqué
d33c72a8b0
LLMUserAggregator: allow external user started/stopped speaking frames
2025-12-19 14:47:01 -08:00
Aleix Conchillo Flaqué
962eb73cc4
frames: deprecated EmulateUserStartedSpeakingFrame/EmulateUserStoppedSpeakingFrame
2025-12-19 14:47:01 -08:00
Aleix Conchillo Flaqué
3d62b9c203
tests: added user turn start strategies unit tests
2025-12-19 14:47:01 -08:00
Aleix Conchillo Flaqué
7e69288898
tests: added bot turn start strategies unit tests
2025-12-19 14:47:01 -08:00
Aleix Conchillo Flaqué
76561da850
TranscriptionBotTurnStartStrategy: improve by using interim transcriptions
2025-12-19 14:47:01 -08:00
Aleix Conchillo Flaqué
355fcf3282
BaseInputTransport: deprecate the use of turn analyzer in transport
2025-12-19 14:47:01 -08:00
Aleix Conchillo Flaqué
359ac302f5
audio(interruptions): deprecate MinWordsInterruptionStrategy
2025-12-19 14:47:01 -08:00
Aleix Conchillo Flaqué
223052e6e7
LLMUserAggregator: use new user and bot turn start strategies
2025-12-19 14:47:01 -08:00
Aleix Conchillo Flaqué
0f6668d41b
PipelineTask: pass turn start strategies to StartFrame
2025-12-19 14:47:01 -08:00
Aleix Conchillo Flaqué
6a62c8d6da
FrameProcessor: add user and bot turn start strategies
2025-12-19 14:47:01 -08:00
Aleix Conchillo Flaqué
5dd3af25ac
frames: add turn start strategies to StartFrame
2025-12-19 14:47:01 -08:00
Aleix Conchillo Flaqué
76c79a7dfa
introduce new user and bot turn start strategies
2025-12-19 14:47:01 -08:00
Mark Backman
fac1a05eb5
Merge pull request #3268 from fixie-ai/mike/ttfb
...
Add ttfb tracking for Ultravox
2025-12-19 15:49:57 -05:00
kompfner
917c512aa8
Merge pull request #3263 from pipecat-ai/pk/deprecate-openai-llm-context
...
Deprecate `OpenAILLMContext` and associated things
2025-12-19 13:19:48 -05:00
Mike Depinet
5ec08ff1d8
Add ttfb tracking for Ultravox
2025-12-19 09:26:11 -08:00
Paul Kompfner
9b6f5853cf
Deprecate OpenAILLMContext and associated things
2025-12-19 11:23:06 -05:00
Mark Backman
5e94b20562
Merge pull request #3233 from jaydamani/jay/improve-elevenlabs-services
...
Improve Elevenlabs realtime transcription service
2025-12-18 19:07:43 -05:00
Mark Backman
f6785de120
Merge pull request #3262 from pipecat-ai/mb/renumber-ultravox-foundational
...
Move Ultravox foundational example to 50, add to release evals
2025-12-18 14:31:46 -05:00
Mark Backman
56c58f7302
Move Ultravox foundational example to 50, add to release evals
2025-12-18 13:38:12 -05:00
Aleix Conchillo Flaqué
7f53483f6b
Merge pull request #3257 from pipecat-ai/aleix/daily-transcriptions-track-type
...
add transport source to Daily transcriptions
2025-12-17 19:29:22 -08:00
Aleix Conchillo Flaqué
274db3e05c
DailyTransport: add transport_source to transcription frames
2025-12-17 19:24:08 -08:00
Aleix Conchillo Flaqué
fb6c30156a
pyproject: udpate daily-python to 0.23.0
2025-12-17 19:24:08 -08:00
Aleix Conchillo Flaqué
6c0e4be4ac
Merge pull request #3205 from gui217/feat/rnnoise
...
Feat/rnnoise
2025-12-17 18:22:22 -08:00
Mark Backman
9623575b78
Merge pull request #3255 from pipecat-ai/mb/use-uv-ruff
2025-12-17 17:20:03 -05:00
Mark Backman
31b3bd737a
Update linting scripts to use ruff version installed by uv
2025-12-17 16:31:14 -05:00
Aleix Conchillo Flaqué
f9fef78070
Merge pull request #3253 from pipecat-ai/changelog-0.0.98
...
Release 0.0.98 - Changelog Update
2025-12-17 11:22:35 -08:00
Aleix Conchillo Flaqué
92970c7873
changelog: add PR prefix to PR link
2025-12-17 14:20:34 -05:00
aconchillo
491d298c10
Update changelog for version 0.0.98
2025-12-17 11:16:03 -08:00
Aleix Conchillo Flaqué
c46a20328d
changelog: fix 3230 entry
2025-12-17 11:06:57 -08:00
Aleix Conchillo Flaqué
7e4dbf42e8
Merge pull request #3252 from pipecat-ai/aleix/vision-response-frames
...
add vision response and text frames
2025-12-17 11:01:06 -08:00
Aleix Conchillo Flaqué
159e403ae4
MoondreamService: yield vision response and text frames
2025-12-17 10:42:08 -08:00
Aleix Conchillo Flaqué
d3d50ac580
frames: added vision response and text frames
2025-12-17 10:42:08 -08:00
jay
614d5e0d19
add changelog
2025-12-18 00:08:30 +05:30
jay
83a3295a39
update error handling based on code review
2025-12-18 00:03:47 +05:30
Aleix Conchillo Flaqué
e03e5f3a59
Merge pull request #3251 from pipecat-ai/aleix/more-evals-prompt-eng
...
scripts(evals): more eval prompts improvements
2025-12-17 10:29:50 -08:00
Mark Backman
65e4719cec
Merge pull request #3250 from pipecat-ai/mb/add-pr-link-to-changelog-lines
...
Add PR link to the changelog line item
2025-12-17 12:58:48 -05:00
Aleix Conchillo Flaqué
d07b37b288
scripts(evals): more eval prompts improvements
2025-12-17 09:55:12 -08:00
Mark Backman
ca97d9dc4b
Merge pull request #3249 from pipecat-ai/mb/cleanup-pipecat-version
...
Clean up use of pipecat version
2025-12-17 12:17:53 -05:00
Mark Backman
4c20483a7e
Add PR link to the changelog line item
2025-12-17 12:12:05 -05:00
Mark Backman
6d84f36d05
Merge pull request #3214 from pipecat-ai/mb/update-run-inference
...
Update run_inference to use the provided LLM configuration params
2025-12-17 12:03:50 -05:00
Mark Backman
0b6e8f5bca
Merge pull request #3246 from pipecat-ai/mb/changelog-3245
...
Add changelog fragment for PR 3245
2025-12-17 11:55:54 -05:00
Paul Kompfner
cdd6f5aa6a
Fix Anthropic LLM's run_inference so that it works even when extended thinking is enabled
2025-12-17 11:55:46 -05:00
Mark Backman
f1a0d547ce
Clean up use of pipecat version
2025-12-17 11:49:54 -05:00
mattie ruth backman
b1b7fc6357
Bump the RTVI version to 1.1.0 and add pipecat versioning to the botReady about field
2025-12-17 11:48:02 -05:00
Mark Backman
b3403e884d
Merge pull request #3247 from pipecat-ai/mb/strip-whitespace-simple-text-agg
...
SimpleTextAggregator: Strip whitespace in the returned aggregation
2025-12-17 11:43:37 -05:00
Mark Backman
16e304016d
SimpleTextAggregator: Strip whitespace in the returned aggregation
2025-12-17 11:33:39 -05:00
Mark Backman
21a55f6aae
Update run_inference to use the provided LLM configuration params
2025-12-17 10:58:05 -05:00
Mark Backman
310df33de6
Add changelog fragment for PR 3245
2025-12-17 08:45:16 -05:00
Mark Backman
c8a86059fb
Merge pull request #3245 from simopot/add-soniox-language-hints-strict
...
Add language_hints_strict parameter to SonioxSTTService
2025-12-17 08:43:25 -05:00
Mark Backman
c537d7bafb
Merge pull request #3235 from pipecat-ai/mb/dev-runner-daily-pstn-dialin
...
Added Daily PSTN dial-in support to the development runner
2025-12-17 08:31:42 -05:00
Simo Potinkara
1fce68cef1
Add language_hints_strict parameter to SonioxSTTService
...
Add support for the language_hints_strict parameter in Soniox STT
configuration. When set to true, this parameter strictly enforces
language hints, restricting transcription to only the specified
languages.
2025-12-17 13:24:26 +02:00
Aleix Conchillo Flaqué
ecd9ec4ad2
Merge pull request #3241 from pipecat-ai/aleix/evals-remove-idle-timeout
...
evals remove idle timeout and prompt improvements
2025-12-16 18:04:52 -08:00
Aleix Conchillo Flaqué
db983cb693
BaseObject: log file and line number for uncaught exceptions
2025-12-16 17:29:14 -08:00
Aleix Conchillo Flaqué
5b30f1b1ef
scripts(evals): improve prompts
2025-12-16 17:26:50 -08:00
Aleix Conchillo Flaqué
5f7dbfe775
scripts(evals): don't use on_idle_timeout
2025-12-16 17:26:42 -08:00
Aleix Conchillo Flaqué
2bb6ba59fc
Merge pull request #3240 from pipecat-ai/aleix/cartesia-ensure-word-timestamps-started
...
WordTTSService: make sure word timestamps are always started
2025-12-16 14:02:55 -08:00
Aleix Conchillo Flaqué
ac7b06faba
WordTTSService: make sure word timestamps are always started
2025-12-16 14:00:52 -08:00
Mark Backman
afa7573834
Merge pull request #3239 from pipecat-ai/mb/update-inworld-tts
...
Inworld TTS services: Add websocket TTS class, add word-timestamp ali…
2025-12-16 16:26:43 -05:00
Mark Backman
f2eb9eeb56
Merge pull request #3232 from pipecat-ai/mb/changelog-3230
...
Add changelog fragment for PR 3230
2025-12-16 16:23:17 -05:00
kompfner
9e49e09360
Merge pull request #3226 from pipecat-ai/filipi/elevenlabs_http_voice_settings
...
Fixed an issue where ElevenLabsHttpTTSService was not updating voice settings
2025-12-16 16:07:34 -05:00
kompfner
b5221cd2c1
Merge pull request #3234 from hwuiwon/hw/bugfix-llmcontext
...
Fix LLM context tool audio content handling
2025-12-16 16:04:16 -05:00
Hwuiwon Kim
796f3aeff3
fix
2025-12-16 15:56:08 -05:00
Mark Backman
de94790b94
Merge pull request #3236 from pipecat-ai/mb/websocket-stt-services
...
Update websocket STT services to use the WebsocketSTTService base class
2025-12-16 13:59:52 -05:00
Mark Backman
bd3bf9a00e
Inworld TTS services: Add websocket TTS class, add word-timestamp alignment
2025-12-16 13:47:24 -05:00
kompfner
92f934031d
Merge pull request #3224 from pipecat-ai/pk/simplify-gemini-thinking
...
Clean up logic related to applying Gemini thought signatures to conte…
2025-12-16 13:35:17 -05:00
Mark Backman
11b92d89d0
Add session ID to GladiaSTTService logs, reset bytes_sent counter
2025-12-16 10:06:16 -05:00
Mark Backman
0d1a122582
Add changelog for PR 3236
2025-12-16 09:48:47 -05:00
Mark Backman
24b5efb9d8
Update SonioxSTTService to use WebsocketSTTService
2025-12-16 09:46:35 -05:00
Mark Backman
eeb3b85e39
Update AWSTranscribeSTTService to use WebsocketSTTService
2025-12-16 09:37:31 -05:00
Mark Backman
8255770b6c
Update AssemblyAISTTService to use WebsocketSTTService
2025-12-16 09:30:03 -05:00
Mark Backman
d3f918eb58
Update GladiaSTTService to use WebsocketSTTService
2025-12-16 09:20:53 -05:00
Mark Backman
36c6549426
Added Daily PSTN dial-in support to the development runner
2025-12-15 19:10:00 -05:00
Aleix Conchillo Flaqué
88d909d468
Merge pull request #3231 from pipecat-ai/aleix/improve-evals-assert-on-exit
...
evals: use EndFrame reason field to provide eval result
2025-12-15 13:23:29 -08:00
Aleix Conchillo Flaqué
21e346abe2
scripts(evals): improve eval prompts
2025-12-15 13:21:40 -08:00
Aleix Conchillo Flaqué
70a80847a7
scripts(evals): use future instead of a queue to store eval result
2025-12-15 13:21:28 -08:00
Hwuiwon Kim
27647fc067
Fix LLM context tool conversion and audio content handling
2025-12-15 13:43:57 -05:00
Mark Backman
85fe6d4c34
Add changelog fragment for PR 3230
2025-12-15 13:02:01 -05:00
Mark Backman
4cd971e4bd
Merge pull request #3230 from kstonekuan/fix/smallwebrtcrequesthandler-return-type
...
Fix return type for SmallWebRTCRequestHandler.handle_web_request
2025-12-15 13:01:45 -05:00
jay
7e424d750e
improve error handling to log all error types
2025-12-15 23:18:44 +05:30
jay
59c3abeb92
fix issue with infinite loop when websocket disconnects
2025-12-15 23:06:35 +05:30
Paul Kompfner
54926f390d
Make image writing to and reading from LLMContext more robust; let's allow storing in context image types other than JPEG, meaning not lossily and unnecessarily re-encoding non-JPEG images as JPEG.
2025-12-15 10:39:36 -05:00
Kingston Kuan
50362ca37e
Merge branch 'pipecat-ai:main' into fix/smallwebrtcrequesthandler-return-type
2025-12-15 16:41:59 +08:00
Aleix Conchillo Flaqué
a14c911fb2
scripts(evals): improve eval assertion on exit
2025-12-14 12:37:05 -08:00
Aleix Conchillo Flaqué
a5e42337a4
frames: EndFrame and CancelFrame reason is now Any
2025-12-14 12:16:14 -08:00
Aleix Conchillo Flaqué
4f848e9631
Merge pull request #3227 from fixie-ai/mike/upstream
...
Add Ultravox service
2025-12-13 18:29:02 -08:00
Kingston
93df7044fa
fix return type for SmallWebRTCRequestHandler
2025-12-13 22:11:06 +08:00
Paul Kompfner
e604e9b490
Support conversations with Gemini 3 Pro Image (model "gemini-3-pro-image-preview").
...
Prior to this change, after the model generated an image the conversation would not be able to progress. It would stall out because we were never storing the image in context, so the model would never realize it already did the work of generating an image. We didn't run into issues with Gemini 2.5 Flash Image, because that model always followed up an image with a text message.
2025-12-12 18:20:17 -05:00
Mike Depinet
2e4fa3f8db
PR comments
...
Also satisfy some Pyright complaints and update default model
2025-12-12 15:03:31 -08:00
Mark Backman
5f6448a8a4
Merge pull request #3228 from pipecat-ai/mb/gemini-live-update
...
Update GeminiLiveLLMService model to gemini-2.5-flash-native-audio-pr…
2025-12-12 14:32:45 -05:00
Mark Backman
6cda357ce8
Remove timestamp check from TestThoughtTranscription
2025-12-12 14:28:39 -05:00
Mark Backman
7e87f61d17
Update GeminiLiveLLMService model to gemini-2.5-flash-native-audio-preview-12-2025
2025-12-12 14:18:57 -05:00
Mike Depinet
ccdf83800b
Rename changelog entries
2025-12-12 10:21:56 -08:00
Mike Depinet
4b81be7acf
Add Ultravox service ( #1 )
...
Adds support for using Ultravox Realtime as a speech-to-speech service.
Also removes the deprecated Ultravox speech-to-text vllm model integration to avoid confusion.
2025-12-12 10:16:15 -08:00
Paul Kompfner
abc2ad8cbc
Avoid printing out entire thought signatures in logs
2025-12-12 13:01:45 -05:00
Paul Kompfner
64471d65f8
Clean up logic related to applying Gemini thought signatures to context messages
2025-12-12 12:53:11 -05:00
Filipi Fuchter
3c4991a41f
Mentioning the ElevenLabsHttpTTSService voice settings fix in the changelog.
2025-12-12 14:48:32 -03:00
Filipi Fuchter
71d6516a14
Fixed an issue where ElevenLabsHttpTTSService was not updating voice settings when receiving a TTSUpdateSettingsFrame.
2025-12-12 14:46:24 -03:00
Filipi da Silva Fuchter
22288648e6
Merge pull request #3210 from pipecat-ai/filipi/heygen_liveavatar
...
Adding support for the HeyGen LiveAvatar API
2025-12-12 09:19:58 -03:00
Filipi Fuchter
a6ee040d82
Adding the changelog mentioning the HeyGen changes.
2025-12-12 08:58:48 -03:00
Filipi Fuchter
87fc860cd5
Changing the HeyGenVideoService example to use the live avatar API.
2025-12-12 08:52:10 -03:00
Filipi Fuchter
b25ad21941
Refactoring HeyGenVideoService and HeyGenTransport to work with both APIs.
2025-12-12 08:51:35 -03:00
Filipi Fuchter
debcea3baa
Adding the new HEYGEN_LIVE_AVATAR_API_KEY to the requested environment's variables.
2025-12-12 08:51:01 -03:00
Filipi Fuchter
c2abe42a64
Adding support for the HeyGen LiveAvatar API.
2025-12-12 08:49:52 -03:00
Filipi Fuchter
56dee06a29
Refactored the Interactive Avatar API to extend the HeyGen base API.
2025-12-12 08:49:16 -03:00
Filipi Fuchter
60cc14cafd
Created HeyGen base API to support both Interactive Avatar and LiveAvatar.
2025-12-12 08:48:39 -03:00
kompfner
1e98094394
Merge pull request #3175 from pipecat-ai/pk/thinking-exploration
...
Additional functionality related to thinking, for Google and Anthropic LLMs.
2025-12-11 17:15:37 -05:00
Paul Kompfner
ccdd6cde52
Fix a couple of typos in comments
2025-12-11 17:05:09 -05:00
Paul Kompfner
12979293ad
Add thinking examples to eval suite
2025-12-11 15:58:48 -05:00
Paul Kompfner
28248e9b00
Split up thinking examples so that there isn't an llm command-line arg for controlling which LLM to use. This change is preparation for adding these examples to our suite of evals.
2025-12-11 15:07:35 -05:00
Paul Kompfner
0e88ad672e
Add ThoughtTranscriptionMessage.role, which is always "assistant"
2025-12-11 14:41:16 -05:00
kompfner
f41c3dcbc3
Merge pull request #3212 from pipecat-ai/pk/nova-2-sonic
...
Nova 2 Sonic support
2025-12-11 09:36:50 -05:00
Mark Backman
645e1802f8
Merge pull request #3219 from pipecat-ai/mb/deprecate-fal-smart-turn
2025-12-10 13:13:44 -05:00
Mark Backman
6636da682c
Merge pull request #3085 from rimelabs/feature/rimeNonJsonTTsservice
...
Add RimeNonJsonTTSService for non-JSON WebSocket API support
2025-12-10 10:38:39 -05:00
Mark Backman
10a32c943f
deprecate: FalSmartTurnAnalyzer and LocalSmartTurnAnalyzer
2025-12-10 08:14:28 -05:00
Gokul Js
455579ffcc
Refactor RimeNonJsonTTSService to extend InterruptibleTTSService, removing dependency on WebsocketTTSService and streamlining audio interruption handling.
2025-12-10 04:56:52 +05:30
Paul Kompfner
c37da6ab78
In the AWS Nova Sonic example, shorten the simulated weather function call delay
2025-12-09 16:53:18 -05:00
Paul Kompfner
1892854516
In the AWS Nova Sonic example, send back "location" from the weather-fetching function to help the model associate a tool response with a tool call...if you interrupt the model while more than one function call is outbound, it seemingly can get confused about which tool result goes which call.
2025-12-09 16:27:23 -05:00
Mark Backman
735e597bf2
Merge pull request #3209 from pipecat-ai/hush/07n-prompt
...
Update system prompt in Gemini example to be more instructive
2025-12-09 15:45:46 -05:00
Vanessa Pyne
52980a69c5
Merge pull request #3215 from pipecat-ai/vp-user-bot-latency-observer-internal-var-change
...
user-bot-latency log observer internal var change
2025-12-09 13:03:29 -06:00
vipyne
ff2f1dac82
user-bot-latency log observer internal var change
2025-12-09 12:34:38 -06:00
Paul Kompfner
3cbfbb997e
Added CHANGELOG for AWS Nova 2 Sonic-related changes
2025-12-09 12:57:19 -05:00
Paul Kompfner
3e66cb50e0
Update AWS Nova Sonic example to showcase async tool calling
2025-12-09 12:44:21 -05:00
Paul Kompfner
b821dd2507
Fix a bug in AWSNovaSonicLLMService where we would mishandle cancelled tool calls in context
2025-12-09 12:12:55 -05:00
Paul Kompfner
0c5bccd1f1
Changes related to Nova 2 Sonic's support for the model speaking first
2025-12-09 11:55:23 -05:00
Paul Kompfner
926514ca18
Add support to AWSNovaSonicLLMService for new "endpointingSensitivity" parameter.
2025-12-09 11:26:43 -05:00
Paul Kompfner
ca5e668f4a
Update AWSNovaSonicLLMService docstring with more (and more up-to-date) info
2025-12-09 10:14:27 -05:00
Paul Kompfner
53de6c0b9a
Update list of supported regions in 40-aws-nova-sonic.py
2025-12-09 09:46:53 -05:00
Paul Kompfner
b22ac8292f
Update default model in AWSNovaSonicLLMService to "amazon.nova-2-sonic-v1:0"
2025-12-09 09:38:47 -05:00
James Hush
83877ab1e6
Update system prompt in Gemini example to be more instructive
...
Changed the on_client_connected system message from a direct greeting to
an instruction that tells the AI to introduce itself, giving the LLM more
flexibility in how it starts the conversation.
2025-12-09 09:04:10 +01:00
gui217
1c0e25a90d
fix unit tests
2025-12-09 09:56:20 +02:00
Gokul Js
2a6a0d83db
Update docstring in RimeNonJsonTTSService to clarify the focus on the current plain text protocol and note potential future support for JSON WebSocket.
2025-12-09 02:49:37 +05:30
Gokul Js
6ca117a3c1
Remove unused import of 'language' in tts.py to clean up the code and improve readability.
2025-12-09 02:45:17 +05:30
Gokul Js
4fcb099fd7
Add RimeNonJsonTTSService to support non-JSON streaming mode, enabling WebSocket streaming for the Arcana model.
2025-12-09 02:43:57 +05:30
Paul Kompfner
c5ff5cc219
Update CHANGELOG
2025-12-08 16:09:59 -05:00
Aleix Conchillo Flaqué
88289f578a
Merge pull request #3208 from pipecat-ai/thor/add-client-identification
...
add Gemini client identification
2025-12-08 13:05:04 -08:00
Paul Kompfner
229ff794d6
Better handle Gemini non-function thought signatures
2025-12-08 15:56:40 -05:00
Aleix Conchillo Flaqué
096db3eb6c
Merge pull request #3207 from pipecat-ai/aleix/voicemail-conversation-detected-event
...
VoicemailDetector: add on_conversation_detected event
2025-12-08 11:59:45 -08:00
Aleix Conchillo Flaqué
cfd1cada8c
VoicemailDetector: add on_conversation_detected event
2025-12-08 11:57:14 -08:00
Aleix Conchillo Flaqué
ee435b6f1e
update CHANGELOG
2025-12-08 11:54:09 -08:00
Aleix Conchillo Flaqué
d289b38ba7
tests(google): mock the new pipecat.version()
2025-12-08 11:51:01 -08:00
Aleix Conchillo Flaqué
b0f63c3785
pipecat: add version() function
2025-12-08 11:51:01 -08:00
Paul Kompfner
1249ee3de3
Better handle Gemini non-function thought signatures
2025-12-08 13:07:25 -05:00
Vanessa Pyne
b09d8bd595
Merge pull request #3206 from pipecat-ai/vp-update-bot-latency-observer
...
use VADUserStarted/StoppedSpeakingFrame s in user_bot_latency_log_observer.py
2025-12-08 11:37:56 -06:00
vipyne
540a48b1b6
use VADUserStarted/StoppedSpeakingFrame s in user_bot_latency_log_observer.py
2025-12-08 11:37:31 -06:00
Paul Kompfner
aa0529ff82
Update comments for accuracy
2025-12-08 11:47:06 -05:00
Paul Kompfner
7e92597c0e
Remove LLMThoughtSignatureFrame in favor of using the more generic LLMMessagesAppendFrame
2025-12-08 11:10:05 -05:00
Gokul Js
99f89351fa
Add support for non-JSON streaming mode in RimeTTSService, enabling both JSON and raw audio WebSocket streaming for enhanced performance and flexibility.
2025-12-08 21:32:50 +05:30
Gokul Js
0b4d984be6
Standardize error handling in RimeNonJsonTTSService by replacing specific error messages with a generic "Unknown error occurred" format, enhancing consistency in error reporting.
2025-12-08 21:24:30 +05:30
Paul Kompfner
17203ba3e6
Change FunctionInProgressFrame.llm_specific_extra to a more generic FunctionInProgressFrame.append_extra_context_messages.
2025-12-08 10:50:19 -05:00
Gokul Js
924831089c
Enhance error handling in RimeNonJsonTTSService by standardizing error messages for improved clarity and consistency in reporting.
2025-12-08 21:17:01 +05:30
Gokul Js
329b8ac426
Refactor error handling in RimeNonJsonTTSService to provide a more generic error message, improving clarity in error reporting.
2025-12-08 21:06:48 +05:30
Paul Kompfner
61674d7758
Add process_thought constructor argument to TranscriptProcessor to control whether to handle thoughts in addition to assistant utterances. Defaults to False.
2025-12-08 10:27:36 -05:00
Gokul Js
b9990811b5
Merge branch 'main' into feature/rimeNonJsonTTsservice
2025-12-08 20:54:01 +05:30
Paul Kompfner
8ccc2cbf31
Add unit tests for ThoughtTranscriptProcessor
2025-12-08 10:14:31 -05:00
Gokul Js
f4e33fc8dd
Update docstrings in RimeNonJsonTTSService for clarity and consistency, specifying 'Non-JSON' in relevant descriptions.
2025-12-08 20:32:13 +05:30
Gokul Js
5bfea84bd5
Refactor RimeNonJsonTTSService to extend WebsocketTTSService, enhancing WebSocket functionality and improving code clarity
2025-12-08 20:30:46 +05:30
Paul Kompfner
ef703e9d16
Get rid of ThoughtTranscriptProcessor, moving its logic into AssistantTranscriptProcessor instead
2025-12-08 09:59:32 -05:00
Paul Kompfner
44aa11737b
Minor docstring update for accuracy
2025-12-08 09:29:10 -05:00
Paul Kompfner
49f1f7d6a2
Added CHANGELOG entry describing new thinking-related functionality
2025-12-08 09:29:10 -05:00
Paul Kompfner
4ea51ff67c
Slight refactor of handling thought-signature-containing special context messages in the Gemini adapter
2025-12-08 09:29:10 -05:00
Paul Kompfner
747bd4f737
Tweak the prompt of the thinking + functions example to not confuse Gemini as much (Gemini found the original prompt a bit ambiguous, it seems)
2025-12-08 09:29:10 -05:00
Paul Kompfner
15f5583fd2
Simplify, at the expense of a bit of not-yet-needed flexibility: rather than associating a loose thought_metadata with each thought, use a signature. Thought signatures are the only "thought metadata" we use today.
2025-12-08 09:29:10 -05:00
Paul Kompfner
c8c6f424cd
Add support for Gemini 3 Pro non-function-call-related thought signatures
2025-12-08 09:29:10 -05:00
Paul Kompfner
0cdf0c4504
Bump Google GenAI library version to at least 1.51.0, as that's the version where thinking_level—required for controlling Gemini 3 Pro thinking—is introduced
2025-12-08 09:29:10 -05:00
Paul Kompfner
217f03b9cc
Add additional functionality related to "thinking", for Google and Anthropic LLMs.
...
Thinking, sometimes called "extended thinking" or "reasoning", is an LLM process where the model takes some additional time before giving an answer. It's useful for complex tasks that may require some level of planning and structured, step-by-step reasoning. The model can output its thoughts (or thought summaries, depending on the model) in addition to the answer. The thoughts are usually pretty granular and not really suitable for being spoken out loud in a conversation, but can be useful for logging or prompt debugging.
Here's what's added:
1. New typed input parameters for Google and Anthropic LLMs that control the models' thinking behavior (like how much thinking to do, and whether to output thoughts or thought summaries).
2. New frames for representing thoughts output by LLMs.
3. A generic mechanism for associating extra LLM-specific data with a function call in context, used specifically to support Google's function-call-related "thought signatures", which are necessary to ensure thinking continuity between function calls in a chain (where the model thinks, makes a function call, thinks some more, etc.)
4. A generic mechanism for recording LLM thoughts to context, used specifically to support Anthropic, whose thought signatures are expected to appear alongside the text of the thoughts within assistant context messages.
5. An expansion of `TranscriptProcessor` to process LLM thoughts in addition to user and assistant utterances.
2025-12-08 09:29:01 -05:00
Gokul Js
12093fcffc
Update default sample_rate parameter in RimeNonJsonTTSService to None for flexibility
2025-12-08 19:50:38 +05:30
Gokul Js
e5fb643cf5
Improve docstring formatting in RimeNonJsonTTSService for better readability
2025-12-08 19:45:13 +05:30
Mark Backman
4517475db7
Merge pull request #3197 from pipecat-ai/mb/cartesia-stt-cleanup
...
Clean up CartesiaSTTService
2025-12-08 08:53:40 -05:00
gui217
c48858742a
clean up
2025-12-08 11:51:20 +02:00
gui217
90ef758522
align uv.lock
2025-12-08 11:40:08 +02:00
gui217
3974937352
align uv.lock
2025-12-08 11:39:40 +02:00
gui217
d64ab08bc4
chore: update uv.lock
2025-12-08 11:39:17 +02:00
gui217
6603ecfe29
chore: update uv.lock with pyrnnoise and restore revision 3
2025-12-08 11:39:10 +02:00
gui217
d3ae0b6a14
rebase
2025-12-08 11:36:44 +02:00
Aleix Conchillo Flaqué
92b6e8d66b
Merge pull request #3189 from pipecat-ai/aleix/introduce-uninterruptible-frames
...
introduce uninterruptible frames
2025-12-07 14:02:35 -08:00
Aleix Conchillo Flaqué
3be1a7afaa
Merge pull request #3202 from pipecat-ai/aleix/remove-manta
...
README: remove manta badge
2025-12-07 14:00:13 -08:00
thorwebdev
15df3c06e8
chore: add test.
2025-12-06 22:36:04 -05:00
Aleix Conchillo Flaqué
f0af0a6b96
README: remove manta badge
2025-12-05 16:16:19 -08:00
Mark Backman
4cefe1357c
Merge pull request #3201 from pipecat-ai/changelog-0.0.97
...
Release 0.0.97 - Changelog Update
2025-12-05 18:49:15 -05:00
markbackman
4df0a9bf73
Update changelog for version 0.0.97
2025-12-05 18:47:21 -05:00
Mark Backman
9ef139d020
Merge pull request #3200 from pipecat-ai/mb/improve-changelog-template
...
Fix newlines between sections in changlelog template
2025-12-05 18:42:52 -05:00
Mark Backman
9103d4ae05
Fix newlines between sections in changlelog template
2025-12-05 18:40:49 -05:00
Aleix Conchillo Flaqué
bd63b6cefa
Merge pull request #3198 from pipecat-ai/aleix/examples-14i-new-model
...
examples(foundational): update 14i-fireworks with new serverless model
2025-12-05 15:33:12 -08:00
Aleix Conchillo Flaqué
4d03270bc3
examples(foundational): update 14i-fireworks with new serverless model
2025-12-05 15:31:29 -08:00
Mark Backman
0debcee761
Clean up CartesiaSTTService
2025-12-05 18:12:11 -05:00
Mark Backman
6aee72c5b4
Merge pull request #3196 from pipecat-ai/mb/docs-cleanup-prep-0.0.97
...
Docs cleanup before 0.0.97 release
2025-12-05 15:16:36 -05:00
Mark Backman
8d62cfb1b6
Merge pull request #3195 from ivaaan/add-hume-header
...
Add tracking headers to Hume service
2025-12-05 14:50:18 -05:00
ivaaan
41214236ab
add changelog
2025-12-05 20:47:04 +01:00
Mark Backman
b25963a63b
Docs cleanup before 0.0.97 release
2025-12-05 14:19:26 -05:00
ivaaan
8c6ef21d84
add stop, cancel
2025-12-05 20:13:58 +01:00
thorwebdev
f729b1625b
chore: move into services file.
2025-12-05 13:31:58 -05:00
ivaaan
0ffaa09c95
add tracking headers to Hume service
2025-12-05 19:00:47 +01:00
Aleix Conchillo Flaqué
f6e31b7e89
Merge pull request #3185 from pipecat-ai/fix/websocket-service-cancelled-error-handling
...
fix(websocket): handle CancelledError to prevent reconnection on shutdown
2025-12-05 09:25:49 -08:00
Aleix Conchillo Flaqué
49b2b12e04
frames: change function call frame base types
2025-12-05 09:22:29 -08:00
Aleix Conchillo Flaqué
7ad3969690
introduce UninterruptibleFrame frames
2025-12-05 09:21:36 -08:00
thorwebdev
af089a65ae
feat: add Gemini client identification.
2025-12-05 12:06:28 -05:00
Aleix Conchillo Flaqué
48422dd442
WebsocketService: avoid reconnection on shutdown
2025-12-05 09:03:04 -08:00
Vanessa Pyne
fed6a8b669
Merge pull request #3187 from pipecat-ai/vp-mcp-filter-followup
...
add mcp filter example and changelog
2025-12-05 10:58:19 -06:00
vipyne
82e0253a62
add mcp filter example and changelog
2025-12-05 10:56:59 -06:00
Vanessa Pyne
a7f26dca60
Merge pull request #3152 from RuiDaniel/mcp_client_filters
...
Add filters to MCP Client
2025-12-05 10:50:27 -06:00
Vanessa Pyne
459ef27f3f
Merge pull request #3079 from pipecat-ai/vp-add-exact-model-version-function
...
set full model name for base openai models
2025-12-05 10:48:53 -06:00
Mark Backman
464cfa5ccb
Merge pull request #3188 from pipecat-ai/mb/improve-changelog-process
...
Auto-generate changelog from fragments
2025-12-05 11:42:25 -05:00
Mark Backman
9289881a80
Remove 3120.added.md
2025-12-05 11:35:50 -05:00
Mark Backman
34033cd454
Add new changelog entries
2025-12-05 11:35:50 -05:00
Mark Backman
47c21c9579
Delete README.md in changelog
2025-12-05 11:35:50 -05:00
Mark Backman
3b0bcf0b66
Validate fragment types match the expected types
2025-12-05 11:35:50 -05:00
Mark Backman
c4a8308027
Fail when no changelog fragments are available
2025-12-05 11:35:50 -05:00
Mark Backman
e9f76dcaf2
Set the date automatically when the workflow runs, leaving an optional override
2025-12-05 11:35:50 -05:00
Mark Backman
21b2229b2b
Auto-generate changelog from fragments
2025-12-05 11:35:49 -05:00
Aleix Conchillo Flaqué
11aa9c9e68
update CHANGELOG, remove wait_for_all
2025-12-05 08:34:07 -08:00
Aleix Conchillo Flaqué
9f4680e9bd
Merge pull request #3190 from pipecat-ai/aleix/no-need-wait-for-all
...
LLMService: let's not introduce wait_for_all for now
2025-12-05 08:31:44 -08:00
Aleix Conchillo Flaqué
04443a3820
LLMService: let's not introduce wait_for_all for now
2025-12-05 08:26:04 -08:00
Mark Backman
1571cc58ac
Merge pull request #3192 from pipecat-ai/mb/cartesia-stt-timestamp
...
Add full transcript result for CartesiaSTTService
2025-12-05 10:37:06 -05:00
Mark Backman
dea80cf946
Add full transcript result for CartesiaSTTService
2025-12-05 10:25:46 -05:00
Mark Backman
91dec044c4
Merge pull request #3171 from LaurentMazare/gradium
...
Gradium integration.
2025-12-05 09:43:44 -05:00
laurent
8cf4267d87
Switch to a debug.
2025-12-05 15:37:17 +01:00
Mark Backman
0ee7cab6c6
Merge pull request #3184 from ashotbagh/feat/asyncai-multilingual-addons
...
Added new languages support for AsyncAI
2025-12-05 08:42:09 -05:00
Ashot
74c2039bfb
Updated changelog.
2025-12-05 16:54:38 +04:00
Ashot
66088837cd
Fixed defualt language issue in async tts
2025-12-05 16:51:05 +04:00
laurent
07ebf8534a
Add the example.
2025-12-05 10:51:22 +01:00
laurent
fce4cfba15
Changelog update.
2025-12-05 10:46:01 +01:00
laurent
af52833ca0
Update the readme and env.example.
2025-12-05 10:44:30 +01:00
laurent
9fdf756375
Fix.
2025-12-05 10:38:35 +01:00
laurent
283bbb385c
And remove the request-id.
2025-12-05 10:35:19 +01:00
laurent
8c6b2edb25
Various code review tweaks.
2025-12-05 10:33:48 +01:00
Laurent Mazare
6ab30f9b87
Apply suggestions from code review
...
Co-authored-by: Mark Backman <m.backman@gmail.com >
2025-12-05 10:25:47 +01:00
Aleix Conchillo Flaqué
3d93285bdf
Merge pull request #3176 from pipecat-ai/aleix/exception-filename-line-number
...
log file name and line number when exception occurs
2025-12-04 11:08:32 -08:00
Aleix Conchillo Flaqué
7261cd28f2
log file name and line number when exception occurs
2025-12-04 11:06:45 -08:00
vipyne
33eeb8ce44
Use _full_model_name in llm trace if available
2025-12-04 11:54:45 -06:00
vipyne
ebda94ca98
set full model name for base openai models
2025-12-04 11:54:45 -06:00
Mark Backman
40b17cff8f
Merge pull request #3186 from pipecat-ai/mb/11labs-fix-metrics-tracking
...
fix: ElevenLabsTTSService character usage metrics
2025-12-04 12:36:39 -05:00
marcus-daily
7ba0ebba11
Smart Turn analyzer now uses the full context of the turn rather than just the audio since VAD last triggered ( fixes #3094 )
2025-12-04 16:40:08 +00:00
Mark Backman
b39087027c
fix: ElevenLabsTTSService character usage metrics
2025-12-04 09:41:18 -05:00
Ashot
e65974c870
Added new languages support for AsyncAI
2025-12-04 16:15:28 +04:00
marcus-daily
b1e5d68d97
Updating changelog
2025-12-04 11:32:16 +00:00
marcus-daily
39bca074d7
Smart Turn v3.1
2025-12-04 11:32:16 +00:00
Aleix Conchillo Flaqué
b5e79f9dc5
Merge pull request #3181 from pipecat-ai/aleix/sync-to-utils-sync
...
move pipecat.sync to pipecat.utils.sync
2025-12-03 19:41:18 -08:00
Aleix Conchillo Flaqué
613b96819f
Merge pull request #3180 from pipecat-ai/aleix/deepgram-tts-service-fix
...
DeepgramTTSService: fix websocket header logging
2025-12-03 19:40:43 -08:00
Mark Backman
57c24670ea
Merge pull request #3132 from pipecat-ai/mb/normalize-llm-text-frame-output
...
Add split_text_by_spaces string util, normalize aggregator input
2025-12-03 22:05:14 -05:00
Mark Backman
d79dd94019
Make aggregate return an AsyncIterator, other clean up
2025-12-03 22:00:34 -05:00
Mark Backman
fa8e7458e1
Clean up
2025-12-03 22:00:04 -05:00
Mark Backman
4d66191963
fix: PatternPairAggregator to process patterns only once
2025-12-03 22:00:04 -05:00
Mark Backman
7e9d67002e
SkipTagsAggregator and PatternPairAggregator now subclass SimpleTextAggregator
2025-12-03 22:00:04 -05:00
Mark Backman
ffbb6e5937
Update SimpleTextAggregator to handle character by character input, use a buffer to handle ambiguous EOS scenarios, and add a flush method to all aggregators
2025-12-03 22:00:02 -05:00
Mark Backman
535b85cf90
Add split_text_by_spaces string util
2025-12-03 21:55:30 -05:00
Aleix Conchillo Flaqué
8dc9872ed5
deprecate pipecat.sync package
2025-12-03 18:44:41 -08:00
Aleix Conchillo Flaqué
f37a53cc25
utils(sync): move sync to utils.sync
2025-12-03 18:20:12 -08:00
Aleix Conchillo Flaqué
9cce28c64c
DeepgramTTSService: use websocket response headers for logging
2025-12-03 18:16:25 -08:00
Aleix Conchillo Flaqué
3ca94363ec
Merge pull request #3168 from pipecat-ai/aleix/dont-override-skip-tts
...
LLMTextFrame: don't override skip_tts
2025-12-03 18:15:50 -08:00
Rpcd
9dd882ecf8
Update src/pipecat/services/mcp_service.py
...
Co-authored-by: Vanessa Pyne <vipyne@gmail.com >
2025-12-03 17:28:37 +00:00
Rpcd
0bbb14eb9b
Update src/pipecat/services/mcp_service.py
...
Co-authored-by: Vanessa Pyne <vipyne@gmail.com >
2025-12-03 17:28:29 +00:00
Mark Backman
050f287ec4
Merge pull request #3072 from jjmaldonis/deepgram/add-deepgram-request-ids-to-debug-logs
...
deepgram: added request IDs to debug logs
2025-12-03 09:37:25 -05:00
Jason Maldonis
e6f5561785
updated changelog
2025-12-03 08:18:09 -06:00
Jason Maldonis
2df91f4b37
fixed linting
2025-12-03 08:09:16 -06:00
Jason Maldonis
7db49b9067
deepgram: added request IDs to debug logs
...
Deepgram request IDs are necessary for investigating behavior at the
request level. This commit adds DEBUG logs that print Deepgram request
IDs when using Deepgram's STT or TTS.
2025-12-03 08:09:13 -06:00
Vanessa Pyne
7c497bdc89
Merge pull request #3130 from pipecat-ai/vp-nvidia-docs
...
update nvidia services naming
2025-12-02 13:04:16 -06:00
vipyne
1aa4247d2b
remove nim from pyproject.toml
2025-12-02 12:55:13 -06:00
laurent
1ffa9ff51f
Gradium integration.
2025-12-02 13:34:51 +01:00
Rpcd
435b53f1a0
Update src/pipecat/services/mcp_service.py
...
Co-authored-by: Vanessa Pyne <vipyne@gmail.com >
2025-12-02 09:22:08 +00:00
Rpcd
406bdfad0d
Update src/pipecat/services/mcp_service.py
...
Co-authored-by: Vanessa Pyne <vipyne@gmail.com >
2025-12-02 09:21:59 +00:00
vipyne
acba544e6f
pr notes for nvidia service name change
2025-12-01 22:41:17 -06:00
vipyne
5d93c64ee5
typo fixes and uv.lock update
2025-12-01 22:41:17 -06:00
vipyne
de10bc8803
changelog for riva,nim -> nvidia name change
2025-12-01 22:41:17 -06:00
vipyne
36f5c1722d
deprecate riva and nim service paths in favor of nvidia
2025-12-01 22:41:17 -06:00
vipyne
a8280522e5
examples: rename nvidia foundational examples
2025-12-01 22:41:17 -06:00
vipyne
05d65dfdd3
Update NVIDIA NIM and Riva services to Nvidia
...
- pip install pipecat-ai[nim]
- pip install pipecat-ai[riva]
+ pip install pipecat-ai[nvidia]
and
- from pipecat.services.nim.llm import NimLLMService
+ from pipecat.services.nvidia.llm import NvidiaLLMService
- from pipecat.services.riva.stt import RivaSTTService
+ from pipecat.services.nvidia.stt import NvidiaSTTService
- from pipecat.services.riva.tts import RivaTTSService
+ from pipecat.services.nvidia.tts import NvidiaTTSService
2025-12-01 22:41:17 -06:00
Aleix Conchillo Flaqué
a3962e3b47
LLMTextFrame: don't override skip_tts
2025-12-01 18:37:07 -08:00
Aleix Conchillo Flaqué
cd231cf829
Merge pull request #3120 from pipecat-ai/aleix/function-calls-wait-for-all
...
allow waiting for all function calls to complete
2025-12-01 18:35:53 -08:00
Aleix Conchillo Flaqué
9fafc1692d
update uv.lock
2025-12-01 18:32:00 -08:00
Aleix Conchillo Flaqué
7648d0436c
examples(19): linting
2025-12-01 18:30:34 -08:00
Aleix Conchillo Flaqué
bff8747e38
LLMService: allow waiting for all function calls to complete
2025-12-01 18:30:25 -08:00
Mark Backman
d227c0c097
Merge pull request #3155 from pipecat-ai/mb/fix-sarvam-tts-not-flushing
...
fix: flush audio in SarvamTTSService
2025-12-01 17:22:33 -05:00
Mark Backman
9ccde60521
fix: flush audio in SarvamTTSService
2025-12-01 17:18:34 -05:00
Mark Backman
b84a40666c
Merge pull request #3156 from pipecat-ai/mb/deepgram-stt-stopped-frame
...
fix: DeepgramTTSService, let the base class push TTSStoppedFrame
2025-12-01 17:18:19 -05:00
Mark Backman
e72b135a4c
fix: DeepgramTTSService, let the base class push TTSStoppedFrame
2025-12-01 17:15:51 -05:00
Aleix Conchillo Flaqué
2235d8f5a2
CHANGELOG formatting
2025-12-01 10:24:42 -08:00
Mark Backman
6e20a50a4b
Merge pull request #3153 from pipecat-ai/mb/fix-aws-stt-region
...
fix: AWSTranscribeSTTService always set to us-east-1
2025-12-01 13:07:22 -05:00
Mark Backman
89d9ca045a
fix: AWSTranscribeSTTService always set to us-east-1
2025-12-01 13:02:08 -05:00
Mark Backman
4b95ee92eb
Merge pull request #3166 from pipecat-ai/mb/update-changelog-AWSBedrockAgentCoreProcessor
...
Retroactively add changelog to 0.0.96 for AWSBedrockAgentCoreProcessor
2025-12-01 11:51:47 -05:00
Mark Backman
d481ac6cc6
Retroactively add changelog to 0.0.96 for AWSBedrockAgentCoreProcessor
2025-12-01 11:49:00 -05:00
Mark Backman
e5a91296b5
Merge pull request #3162 from ai-coustics/add-stt-optimized-model
...
Add Quail STT as default model for `AICFilter`
2025-11-30 09:59:37 -05:00
Corvin Jaedicke
d8d10a0685
add changelog entry
2025-11-28 15:24:19 +01:00
Corvin Jaedicke
6dd9ed03b1
bump version to include new STT model, noise gate deprecation warning
2025-11-28 15:14:43 +01:00
Filipi da Silva Fuchter
d486c80804
Merge pull request #3151 from pipecat-ai/filipi/fix_runner_ice_servers
...
Fixing runner ICE servers to be compatible with what is expected by the mobile SDKs.
2025-11-27 10:24:02 -03:00
Filipi Fuchter
dedea7c420
Fixing runner ICE servers to be compatible with what is expected by the mobile SDKs.
2025-11-27 09:27:26 -03:00
Aleix Conchillo Flaqué
b78eb5de6b
Merge pull request #3148 from pipecat-ai/aleix/pipecat-0.0.96-update
...
update CHANGELOG for 0.0.96 with proper date
2025-11-26 17:21:31 -08:00
Aleix Conchillo Flaqué
95aa13beb1
update CHANGELOG for 0.0.96 with proper date
2025-11-26 17:16:54 -08:00
Mark Backman
88ce85342c
Merge pull request #3147 from pipecat-ai/mb/fix-sagemaker-error-handling
...
Fix error handling in DeepramSageMakerSTTService
2025-11-26 20:15:45 -05:00
Mark Backman
bedd40ae8b
Fix error handling in DeepramSageMakerSTTService
2025-11-26 20:12:31 -05:00
Mark Backman
fda327b3ee
Merge pull request #3146 from pipecat-ai/mb/fix-aws-bedrock-region
...
fix: AWSBedrockLLMService was always set to us-east-1
2025-11-26 19:56:09 -05:00
Mark Backman
ace95b6e6d
fix: AWSBedrockLLMService was always set to us-east-1
2025-11-26 19:52:04 -05:00
Aleix Conchillo Flaqué
26c5c28c5c
Merge pull request #3145 from pipecat-ai/aleix/simli-enable-logging-param
...
SimliVideoService: add enable_logging input parameter
2025-11-26 16:49:12 -08:00
Aleix Conchillo Flaqué
81f862749d
SimliVideoService: add enable_logging input parameter
2025-11-26 16:36:06 -08:00
Aleix Conchillo Flaqué
b8bf7b4132
Merge pull request #3143 from pipecat-ai/aleix/pipecat-0.0.96
...
update CHANGELOG for 0.0.96
2025-11-26 16:31:44 -08:00
Aleix Conchillo Flaqué
d90121ef3b
update CHANGELOG for 0.0.96
2025-11-26 15:30:06 -08:00
Filipi da Silva Fuchter
d0b7b4fb0a
Merge pull request #3144 from pipecat-ai/filipi/fix_flux_reconnection_issue
...
Fixed an issue with DeepgramFluxSTTService where it sometimes failed to reconnect.
2025-11-26 20:29:41 -03:00
Filipi Fuchter
4acc317923
Fixed an issue with DeepgramFluxSTTService where it sometimes failed to reconnect.
2025-11-26 20:23:03 -03:00
Filipi da Silva Fuchter
7caf5751ee
Merge pull request #3084 from pipecat-ai/filipi/improve_error_handler
...
Improving error handler.
2025-11-26 18:40:44 -03:00
Filipi Fuchter
1330ef3ad6
Enhanced error handling across the framework.
...
Co-authored-by: Mark Backman <m.backman@gmail.com >
2025-11-26 18:34:25 -03:00
Mark Backman
9efb21d61e
Merge pull request #3115 from pipecat-ai/mb/deepgram-websocket-tts
...
Update DeepgramTTSService to use Deepgram's Websocket TTS API
2025-11-26 13:30:52 -05:00
Mark Backman
6d93b8e9d8
Update DeepgramTTSService to use Deepgram's Websocket TTS API
2025-11-26 13:25:34 -05:00
Aleix Conchillo Flaqué
6f527e509e
update CHANGELOG with FishAudioTTSService s1 model update
2025-11-26 10:22:59 -08:00
Aleix Conchillo Flaqué
6cf1d0417e
Merge pull request #3136 from kcui5/patch-1
...
Update Fish Audio default model to s1
2025-11-26 10:19:26 -08:00
Mark Backman
19d8b0dfc2
Merge pull request #3011 from thsunkid/feat/add-cached-reasoning-tokens-metrics-to-opentel-spans
2025-11-26 07:45:33 -05:00
Kyle Cui
7fa0cbf2a9
Update Fish Audio default model to s1
...
Update default model from speech-1.5 to s1 for Fish Audio TTS service
2025-11-26 01:50:38 -08:00
Thu Nguyen
36c4bc2df2
Update changelog
2025-11-26 13:01:48 +07:00
Thu Nguyen
42be0183af
Merge branch 'main' into feat/add-cached-reasoning-tokens-metrics-to-opentel-spans
2025-11-26 12:59:43 +07:00
RuiDaniel
7961f8a664
same behaviour on error
2025-11-25 18:35:59 +00:00
RuiDaniel
4ca143e8af
add mcp filters to client
2025-11-25 18:27:22 +00:00
Mark Backman
2607699664
Merge pull request #3125 from pipecat-ai/mb/fix-sagemaker-imports
...
fix: remove stt_sagemaker import from deepgram/__init__.py
2025-11-24 21:31:31 -05:00
Mark Backman
47fa3b8556
Merge pull request #3108 from fbarril/livekit-transport-helper
...
add livekit helper
2025-11-24 20:13:13 -05:00
Mark Backman
fa0100c38b
fix: remove stt_sagemaker import from deepgram/__init__.py
2025-11-24 20:04:18 -05:00
kompfner
e5142c1210
Merge pull request #3113 from pipecat-ai/pk/agentcore-processor
...
Initial implementation of `AWSBedrockAgentCoreProcessor`
2025-11-24 19:10:44 -05:00
Paul Kompfner
5907b51c7d
In AWSBedrockAgentCoreProcessor use self.create_task()/self.cancel_task() instead of using asyncio directly.
2025-11-24 18:53:39 -05:00
Paul Kompfner
9e4ec4f7f3
Implement AWSBedrockAgentCoreProcessor
2025-11-24 18:53:35 -05:00
fbarril
e2161ea63d
add pyjwt as a livekit dependency
2025-11-24 23:30:11 +00:00
fbarril
7c81f66241
Merge remote-tracking branch 'origin/main' into livekit-transport-helper
...
# Conflicts:
# CHANGELOG.md
# uv.lock
2025-11-24 23:29:22 +00:00
fbarril
60da466379
add pyjwt as a livekit dependency
2025-11-24 23:27:32 +00:00
fbarril
12c29b71f3
add entry to CHANGELOG.md
2025-11-24 23:27:13 +00:00
Mark Backman
b52b108932
Merge pull request #3118 from pipecat-ai/mb/deepgram-stt-sagemaker
...
Add SageMaker BiDi client and DeepgramSageMakerSTTService
2025-11-24 16:47:25 -05:00
Mark Backman
a357ff0205
Alphabetize the project.optional-dependencies
2025-11-24 16:43:44 -05:00
Mark Backman
0ece8b5894
Add 07c Deepgram SageMaker example
2025-11-24 16:41:01 -05:00
Mark Backman
782b257bbb
Add DeepgramSageMakerSTTService
2025-11-24 16:41:01 -05:00
Mark Backman
ab8dcd6ede
Add SageMaker BiDi client
2025-11-24 16:41:00 -05:00
Mark Backman
012c2f7dde
Merge pull request #3106 from pipecat-ai/mb/update-11labs-realtime-stt
...
Fix sample_rate issue in ElevenLabsRealtimeSTTService, add timestamps…
2025-11-24 08:10:30 -05:00
Mark Backman
87fdd8f006
Fix MiniMax changelog entries
2025-11-24 08:07:20 -05:00
Mark Backman
7bdac02837
Fix sample_rate issue in ElevenLabsRealtimeSTTService, add timestamps and logging
2025-11-24 08:06:33 -05:00
Mark Backman
861567bc59
Merge pull request #3119 from pipecat-ai/aleix/changelog-formatting
...
format CHANGELOG
2025-11-24 08:05:11 -05:00
Aleix Conchillo Flaqué
d0ff43134a
format CHANGELOG
2025-11-23 17:48:57 -08:00
Dante Noguez
3458b74fc9
Fix 11labs realtime dynamic updates ( #3117 )
2025-11-22 10:02:37 -05:00
mattie ruth backman
a6202c4d1a
Fixed CHANGELOG post rebase
2025-11-21 17:16:10 -05:00
mattie ruth backman
3c3141796a
Overlooked Changelog updates
2025-11-21 17:16:10 -05:00
mattie ruth backman
8b8b57b09c
Introduced new bot-output RTVI event to provide...
...
a best effort version of the bot's output
- The `RTVIObserver` now emits `bot-output` messages based off
the new `AggregatedTextFrame`s (`bot-tts-text` and
`bot-llm-text` are still supported and generated, but
`bot-transcript` is now deprecated in lieu of this new, more
thorough, message).
- The new `RTVIBotOutputMessage` includes the fields:
- `spoken`: A boolean indicating whether the text was spoken by TTS
- `aggregated_by`: A string representing how the text was aggregated
("sentence", "word", "my custom aggregation")
- Introduced new fields to `RTVIObserver` to support the new
`bot-output` messaging:
- `bot_output_enabled`: Defaults to True. Set to false to disable
bot-output messages.
- `skip_aggregator_types`: Defaults to `None`. Set to a list of
strings that match aggregation types that should not be included
in bot-output messages. (Ex. `credit_card`)
2025-11-21 17:16:10 -05:00
mattie ruth backman
4f30a48ecd
Rime and Cartesia TTS Updates:
...
`CartesiaTTSService`:
- Modified use of custom default text_aggregator to avoid deprecation warnings and push users
towards use of transformers or the `LLMTextProcessor`
- Added convenience methods for taking advantage of Cartesia's SSML tags: spell, emotion,
pauses, volume, and speed.
`RimeTTSService`:
- Modified use of custom default text_aggregator to avoid deprecation warnings and push users
towards use of transformers or the `LLMTextProcessor`
- Added convenience methods for taking advantage of Rime's customization options: spell,
pauses, pronunciations, and inline speed control.
2025-11-21 17:16:10 -05:00
mattie ruth backman
ecbc41045c
Added ability to transform text just-in-time before it gets sent to the TTS
2025-11-21 17:16:10 -05:00
mattie ruth backman
e1528d0f0c
Added support to TTS services to skip sending text to the...
...
the actual TTS service to be spoken based on its aggregation type.
2025-11-21 17:16:10 -05:00
mattie ruth backman
6b6d760cf1
Introduced LLMTextProcessor and deprecatd custom text_aggregators in TTS
...
Introduced `LLMTextProcessor`: A new processor meant to allow customization for how
LLMTextFrames should be aggregated and considered. It's purpose is to turn
`LLMTextFrame`s into `AggregatedTextFrame`s. By default, a TTSService will still
aggregate `LLMTextFrame`s by sentence for the service to consume. However, if you
wish to override how the llm text is aggregated, you should no longer override the
TTS's internal text_aggregator, but instead, insert this processor between your LLM
and TTS in the pipeline.
2025-11-21 17:16:10 -05:00
mattie ruth backman
7a4372a909
Introduced a new AggregatedTextFrame Frame type that TTSTextFrame inherits from
...
This frame introduces an `aggregated_by` field to describe the type of text included
in the frame and allows unspoken groupings of text to be pushed through the pipeline
and treated similar to TTSTextFrames.
2025-11-21 17:16:10 -05:00
mattie ruth backman
0e820a01b9
Introduce append_to_context to TextFrames
...
Adding support for setting whether or not the text in the TextFrame
should be added to the LLM context (by the LLM assistant aggregator).
Defaults to `True`.
2025-11-21 17:16:10 -05:00
mattie ruth backman
24266c238f
Augmented PatternPairAggregator so that matched patterns can...
...
be treated as their own aggregation, taking advantage of the new
ability to assign a type to an aggregation
2025-11-21 17:16:10 -05:00
mattie ruth backman
dcc20f86e1
Updated the BaseTextAggregator to categorize aggregations
...
Modified the BaseTextAggregator type so that when text gets aggregated, metadata can
be associated with it. Currently, that just means a `type`, so that the aggregation
can be classified or described. Changes made to support this:
- **IMPORTANT**: Aggregators are now expected to strip leading/trailing white space
characters before returning their aggregation from `aggregation()` or `.text`. This
way all aggregators have a consistent contract allowing downstream use to know how
to stitch aggregations back together
- Introduced a new `Aggregation` dataclass to represent both the aggregated `text` and
a string identifying the `type` of aggregation (ex. "sentence", "word", "my custom
aggregation")
- **BREAKING**: `BaseTextAggregator.text` now returns an `Aggregation` (instead of `str`).
To update: `aggregated_text = myAggregator.text` -> `aggregated_text = myAggregator.text.text`
- **BREAKING**: `BaseTextAggregator.aggregate()` now returns `Optional[Aggregation]`
(instead of `Optional[str]`). To update:
```
aggregation = myAggregator.aggregate(text)
if (aggregation):
print(f"successfully aggregated text: {aggregation.text}") // instead of {aggregation}
```
- `SimpleTextAggregator`, `SkipTagsAggregator`, `PatternPairAggregator` updated to
produce/consume `Aggregation` objects.
- All uses of the above Aggregators have been updated accordingly.
2025-11-21 17:16:10 -05:00
fbarril
ec8964425a
add livekit helper
2025-11-21 00:27:57 +00:00
Vanessa Pyne
26918728df
Merge pull request #3096 from pipecat-ai/vp-minimax-2962-v2
...
minimax 2962 language updates
2025-11-20 10:41:35 -06:00
vipyne
954849379b
cleanup
2025-11-20 10:41:09 -06:00
vipyne
06542a2dbc
Update CHANGELOG
2025-11-20 10:41:09 -06:00
Vanessa Pyne
59d40eac45
Update src/pipecat/services/minimax/tts.py
...
Co-authored-by: Mark Backman <mark@daily.co >
add warning
2025-11-20 10:41:09 -06:00
vipyne
17cf6c56cf
minimax updates
...
some `debug`s -> `trace`s
add western US base_url to docs
ensure error_message is defined
add deprecation warning for `english_normalization` param
2025-11-20 10:41:09 -06:00
minimax
616e6ba351
docs(minimax): add API endpoint comment for west US region
2025-11-20 10:41:08 -06:00
minimax
f3cb5e0106
feat(minimax): comprehensive updates to TTS service
...
- Add support for speech-2.6-hd and speech-2.6-turbo models
- Add 16 new languages (total 40): Afrikaans, Bulgarian, Catalan, Danish, Persian, Filipino, Hebrew, Croatian, Hungarian, Malay, Norwegian, Nynorsk, Slovak, Slovenian, Swedish, Tamil
- Add new emotions: calm and fluent
- Add new parameters: text_normalization (renamed from english_normalization), latex_read, force_cbr, exclude_aggregated_audio, subtitle_enable, subtitle_type
- Extract trace_id from response headers for all requests
- Improve error handling for non-streaming error responses
- Add detailed extra_info logging (audio_length, audio_size, usage_characters, word_count)
- Add validation warnings for language/model compatibility
- Fix silent error issue where HTTP 200 responses with errors were ignored
BREAKING CHANGE: Renamed parameter english_normalization to text_normalization
2025-11-20 10:41:08 -06:00
Aleix Conchillo Flaqué
c89f230c99
fix CHANGELOG
2025-11-20 08:40:30 -08:00
Aleix Conchillo Flaqué
69cd5716cd
Merge pull request #3102 from pipecat-ai/aleix/daily-python-0.22.0
...
pyproject: update daily-python to 0.22.0
2025-11-20 08:35:39 -08:00
Mark Backman
ab58f72322
Merge pull request #3101 from hwuiwon/hw/inworld-talking-speed
...
feat: Add speaking rate control to Inworld TTS service.
2025-11-20 09:50:55 -05:00
Hwuiwon Kim
ead361f665
fix
2025-11-20 07:45:13 -05:00
Aleix Conchillo Flaqué
fa6b8851ed
pyproject: update daily-python to 0.22.0
2025-11-19 21:56:38 -08:00
Hwuiwon Kim
1cc69d475d
feat: Add speaking rate control to Inworld TTS service & fix param cases
2025-11-19 22:57:53 -05:00
Mark Backman
51bdd8b728
Merge pull request #3097 from hwuiwon/fix-typo
...
Fix typo in STT event handler documentation
2025-11-19 17:10:32 -05:00
Hwuiwon Kim
30ff488714
Fix typo in event handler documentation
2025-11-19 17:04:07 -05:00
Gokul Js
0707141998
fix
2025-11-20 01:36:35 +05:30
Gokul Js
cc861d6b70
Refactor WebSocket connection code in RimeNonJsonTTSService for improved readability
2025-11-19 22:46:36 +05:30
Gokul Js
de4e9c54f6
Increase WebSocket max size limit in RimeNonJsonTTSService to enhance data handling capacity
2025-11-19 22:44:50 +05:30
Gokul Js
da671cd232
Fix whitespace inconsistency in audio flushing method of RimeNonJsonTTSService
2025-11-19 22:19:36 +05:30
Gokul Js
1d9696e614
Add audio flushing after sending text in RimeNonJsonTTSService
...
This update ensures that audio is flushed immediately after sending bare text to the WebSocket, improving the responsiveness of the Text-to-Speech service.
2025-11-19 22:19:00 +05:30
Vanessa Pyne
510f3df6b7
Merge pull request #3091 from pipecat-ai/vp-fix-mcp-examples
...
update MCP foundational examples
2025-11-19 10:35:08 -06:00
vipyne
68292bd75f
rename MCP foundational examples
2025-11-19 10:34:13 -06:00
vipyne
42423bff41
update MCP foundational examples
2025-11-19 10:29:18 -06:00
Aleix Conchillo Flaqué
c3d2a25229
Merge pull request #3082 from pipecat-ai/aleix/pipecat-0.0.95
...
update CHANGELOG for 0.0.95
2025-11-18 21:17:07 -08:00
Aleix Conchillo Flaqué
cf1a9c1548
update CHANGELOG for 0.0.95
2025-11-18 21:14:27 -08:00
Aleix Conchillo Flaqué
51ba245e10
scripts(evals): fix EVAL_CONVERSATION/EVAL_WEATHER eval
2025-11-18 21:14:27 -08:00
Aleix Conchillo Flaqué
39b4e61837
SimliVideoService: fix connection issue
2025-11-18 19:41:47 -08:00
Aleix Conchillo Flaqué
ceaf53fdb0
LLMContext: async create_image_message/create_audio_message fixes
2025-11-18 19:41:13 -08:00
Aleix Conchillo Flaqué
f93276c64f
Merge pull request #3090 from pipecat-ai/revert_function_calling_pr
...
Reverting: Ensure that the function call results respect the previous LLM context
2025-11-18 19:40:58 -08:00
Mark Backman
62a0f0c0f5
Merge pull request #3070 from ivaaan/hume-timestamps
2025-11-18 19:56:20 -05:00
Filipi Fuchter
793aca6b8b
Revert "Ensure that the function call results respect the previous LLM context."
...
This reverts commit a510b276e6 .
2025-11-18 21:38:49 -03:00
Filipi Fuchter
1fcaf3a4bf
Revert "Searching in both _function_calls_context_messages and context messages when updating the result."
...
This reverts commit fccc91e923 .
2025-11-18 21:38:49 -03:00
Gokul Js
afeef94900
Remove unused audio_format parameter from extra settings in RimeNonJsonTTSService
2025-11-19 04:55:14 +05:30
Gokul Js
860d9c4f29
Refactor _update_settings method in RimeNonJsonTTSService for improved readability and maintainability
2025-11-19 04:53:27 +05:30
Gokul Js
4393191166
Add method to update settings in RimeNonJsonTTSService
2025-11-19 04:53:21 +05:30
Gokul Js
88daad524e
Refactor whitespace in RimeNonJsonTTSService to improve code readability
2025-11-19 03:43:49 +05:30
Gokul Js
66c58f8155
fix
2025-11-19 03:40:59 +05:30
Gokul Js
7bbb5be910
format fix
2025-11-19 03:35:54 +05:30
Gokul Js
0dcb65bd56
add run tts methos for rimeNonJsonTTs
2025-11-19 03:34:58 +05:30
Gokul Js
2784b0f438
Add RimeNonJsonTTSService for non-JSON WebSocket API support
...
This commit introduces the RimeNonJsonTTSService class, enabling Text-to-Speech synthesis over WebSocket endpoints that require plain text messages. The service includes configuration parameters for language, segmentation, and audio settings, and handles WebSocket connections for raw audio byte transmission. Limitations include the lack of support for word-level timestamps and context IDs.
2025-11-19 03:24:57 +05:30
ivaaan
6484855139
fix changelog
2025-11-18 21:47:46 +01:00
ivaaan
771469b834
fix changelog
2025-11-18 21:39:29 +01:00
kompfner
a60618b0ca
Merge pull request #3080 from pipecat-ai/pk/assistant-aggregator-handles-mixed-includes-inter-frame-spaces-text
...
`LLMAssistantAggregator` now properly aggregates text that might be a…
2025-11-18 15:24:27 -05:00
Paul Kompfner
3d21faaac2
LLMAssistantAggregator now properly aggregates text that might be a mix of includes_inter_frame_spaces=True and includes_inter_frame_spaces=False frames
2025-11-18 15:12:25 -05:00
ivaaan
f325eeb95b
rm TranscriptProcessor 2
2025-11-18 20:41:10 +01:00
ivaaan
4c3fd42b1c
fix changelog
2025-11-18 20:36:45 +01:00
ivaaan
c2309efd7e
rm TranscriptProcessor
2025-11-18 20:35:09 +01:00
Ivan A
4ae1819645
Update src/pipecat/services/hume/tts.py
...
Co-authored-by: Mark Backman <m.backman@gmail.com >
2025-11-18 20:30:44 +01:00
Ivan A
a38f208135
Update examples/foundational/07ae-interruptible-hume.py
...
Co-authored-by: Mark Backman <m.backman@gmail.com >
2025-11-18 20:30:28 +01:00
Mark Backman
d1eb837890
Merge pull request #3081 from pipecat-ai/mb/fix-30-tts-text-frame-log
...
Fix foundational 30 example to output TTSTextFrames synced to audio
2025-11-18 14:10:56 -05:00
Mark Backman
153201542b
Fix foundational 30 example to output TTSTextFrames synced to audio
2025-11-18 13:29:06 -05:00
Filipi da Silva Fuchter
9137e50043
Merge pull request #3053 from pipecat-ai/filipi/function_calls
...
Ensure that the function call results respect the previous LLM context.
2025-11-18 14:59:01 -03:00
Ivan A
8dbe119a73
Merge branch 'main' into hume-timestamps
2025-11-18 18:38:24 +01:00
ivaaan
26f96d0be8
upd example
2025-11-18 18:31:38 +01:00
ivaaan
9944e6faf0
upd service based on Mark's suggestions
2025-11-18 18:25:53 +01:00
Aleix Conchillo Flaqué
c1573c1f76
Merge pull request #3078 from pipecat-ai/aleix/llm-context-create-image-audio-async
...
LLMContext: create_image_message/create_audio_message are now async
2025-11-18 09:06:51 -08:00
Aleix Conchillo Flaqué
9f45ad4d2e
LLMContext: create_image_message/create_audio_message are now async
2025-11-18 09:04:40 -08:00
Filipi Fuchter
fccc91e923
Searching in both _function_calls_context_messages and context messages when updating the result.
2025-11-18 11:50:28 -03:00
Filipi Fuchter
a510b276e6
Ensure that the function call results respect the previous LLM context.
2025-11-18 11:37:57 -03:00
Mark Backman
6481094638
Merge pull request #3058 from pipecat-ai/mb/add-camera-screen-support-smallwebrtc
...
Add camera and screen capture support to dev runner for SmallWebRTC
2025-11-18 09:22:36 -05:00
Mark Backman
3132e12265
Add camera and screen capture support to dev runner for SmallWebRTC
2025-11-18 09:19:13 -05:00
Aleix Conchillo Flaqué
12af3f79d0
Merge pull request #3060 from pipecat-ai/aleix/consumer-queue-frames
...
ConsumerProcessor: queue frames internally instead of pushing them
2025-11-18 00:54:18 -08:00
Aleix Conchillo Flaqué
4835617b16
ConsumerProcessor: queue frames internally instead of pushing them
2025-11-17 23:52:09 -08:00
Aleix Conchillo Flaqué
9283108240
Merge pull request #3073 from pipecat-ai/aleix/base-text-filter-only-filter
...
BaseTextFilter: only require subclasses to implement filter()
2025-11-17 23:29:26 -08:00
kompfner
515eaeeb1a
Merge pull request #3074 from pipecat-ai/pk/tweak-moondream-example
...
Update Moondream example so that Moondream service output makes it in…
2025-11-17 16:52:18 -05:00
Paul Kompfner
5095fc6a64
Update Moondream example so that Moondream service output makes it into the context, even if the TTS service is disabled
2025-11-17 15:16:19 -05:00
Aleix Conchillo Flaqué
7eedb33d50
BaseTextFilter: only require subclasses to implement filter()
2025-11-17 11:23:47 -08:00
Filipi da Silva Fuchter
47f78df497
Merge pull request #3071 from pipecat-ai/filipi/small_webrtc_custom_data
...
Passing the custom request_data to the SmallWebRTCRunnerArguments body.
2025-11-17 15:50:11 -03:00
Filipi Fuchter
74154b26a2
Mentioning the SmallWebRTCTransport fix in the readme.
2025-11-17 15:39:07 -03:00
Filipi Fuchter
0c3c26b7b8
Passing the custom request_data to the SmallWebRTCRunnerArguments body.
2025-11-17 15:20:09 -03:00
kompfner
64417ef4ff
Merge pull request #3061 from pipecat-ai/pk/greatly-simplify-inter-frame-spaces-logic
...
D'oh! My TTS "inter-frame-spaces" logic was *way* overcomplicated (an…
2025-11-17 10:47:56 -05:00
Paul Kompfner
f3b254e335
D'oh! My TTS "inter-frame-spaces" logic was *way* overcomplicated (and fundamentally mistaken, though it happened to work)
...
Now:
- For TTS word-by-word output and `TTSSpeakFrames`: `TTSTextFrame`s' have `includes_inter_frame_spaces=False`.
- For all other TTS output: `TTSTextFrame` pass through the received text frames' `includes_inter_frame_spaces` value. So far, this value has always been `True`: LLMs send text chunks already containing all necessary spaces.
- `LLMTextFrame`s set `includes_inter_frame_spaces=False` at init time, per the aforementioned assumption.
2025-11-17 10:14:28 -05:00
Filipi da Silva Fuchter
f27119a712
Merge pull request #3069 from pipecat-ai/filipi/fix_riva
...
Fixing RivaTTSService error handler.
2025-11-17 11:48:15 -03:00
ivaaan
2a51d0f1e5
add changelog
2025-11-17 15:20:06 +01:00
ivaaan
9156e21727
fix formatting
2025-11-17 14:00:03 +01:00
Filipi da Silva Fuchter
a5145be16e
Merge pull request #3038 from pipecat-ai/filipi/flux_improvements
...
Deepgram Flux improvements
2025-11-17 09:57:43 -03:00
Filipi Fuchter
b104a59b10
Mentioning the Deepgram Flux improvements in the changelog.
2025-11-17 09:54:39 -03:00
Filipi Fuchter
04dbbabc03
Introduced a minimum confidence parameter in DeepgramFluxSTTService to avoid generating transcriptions below a defined threshold.
2025-11-17 09:54:30 -03:00
Filipi Fuchter
19cc0177b8
Refactored DeepgramFluxSTTService to automatically reconnect if sending a message fails.
2025-11-17 09:54:20 -03:00
Filipi Fuchter
77cd106795
Extracted the logic for retrying connections, and create a new send_with_retry method inside WebSocketService.
2025-11-17 09:54:08 -03:00
ivaaan
71869a116d
fix errors
2025-11-17 13:51:04 +01:00
ivaaan
2f2bde9856
add timestamps to example
2025-11-17 13:40:03 +01:00
ivaaan
7de8838deb
add word-level timestamp support to Hume service
2025-11-17 13:25:12 +01:00
Filipi Fuchter
9bf88bbf14
Fixing RivaTTSService error handler.
2025-11-17 07:43:30 -03:00
Mark Backman
35ff44b799
Merge pull request #3059 from pipecat-ai/mb/remove-llm-tracing-fallback
2025-11-14 14:07:40 -05:00
Angad Singh
d1116d149e
feat: Add ErrorFrame emission to TTS/STT services for pipeline error detection ( #2881 )
...
* feat: Add ErrorFrame emission to TTS/STT services for pipeline error detection
- Add ErrorFrame emission to all major TTS/STT services during initialization and runtime failures
- Services updated: Cartesia, ElevenLabs, Deepgram, AssemblyAI, Rime, Azure
- ErrorFrame objects emitted with fatal=False for graceful degradation
- Enables on_pipeline_error event handler to detect service failures programmatically
- Add comprehensive pytest test suite to verify ErrorFrame emission
- Fixes issue where services failed gracefully but didn't emit ErrorFrame objects
This allows developers to implement real-time error monitoring and alerting
using the on_pipeline_error event handler introduced in v0.0.90.
* Update STT and TTS services to use consistent error handling pattern
- Improves error handling consistency across all services
* Add changelog entry for STT/TTS error handling improvements
* Linting issues Resolved
* Azure STT ErrorFrames added with consistent patterns
* Cartesia STT and Deepgram STT; additional fixes made
* Removed Fatal Flags across services, removed duplication
* Moving the changelog entry to the correct place.
* Refactoring some classes to use yield instead of push_error directly.
* Fixing ruff format.
---------
Co-authored-by: Filipi Fuchter <filipi87@gmail.com >
2025-11-14 15:03:05 -03:00
Mark Backman
d01876ee60
Remove fallbacks in traced_llm
2025-11-14 12:13:49 -05:00
Mark Backman
74a0e8c88d
Merge pull request #3050 from ai-coustics/aic-vad-analyzer
...
feat(ai-coustics): add ai-coustics integrated VAD
2025-11-14 08:11:15 -05:00
Corvin Jaedicke
fbbad27d37
add changelog info
2025-11-14 13:30:06 +01:00
kompfner
e83ac82bf3
Merge pull request #3042 from pipecat-ai/pk/follow-up-inter-frame-spaces
...
Follow-up to #3041
2025-11-13 11:03:06 -05:00
Mark Backman
d78d38ce44
Merge pull request #3039 from pipecat-ai/mb/update-google-gemini-tts
...
Update GeminiTTSService for streaming, other Google TTS improvements
2025-11-13 10:33:46 -05:00
Mark Backman
edbf96b3c5
Update GeminiTTSService for streaming, other Google TTS improvements
2025-11-13 10:22:34 -05:00
Paul Kompfner
8851d18f92
Tweak the LLM prompt again to try to fix the issue of LLMs sometimes omitting punctuation in their output.
2025-11-13 10:02:33 -05:00
Mark Backman
d823a3edec
Merge pull request #3040 from pipecat-ai/mb/11labs-realtime-stt
...
Add ElevenLabsRealtimeSTTService
2025-11-13 09:53:34 -05:00
Mark Backman
0e37658f8d
Add ElevenLabsRealtimeSTTService
2025-11-13 09:49:05 -05:00
Corvin Jaedicke
2fab3e2286
fix formatting
2025-11-13 14:39:26 +01:00
Corvin Jaedicke
a7b2052b38
add ai-coustics VAD
2025-11-13 14:20:35 +01:00
Mark Backman
6d0e99c3b8
Merge pull request #3044 from rimelabs/rime-hin-lanaguge-support
...
Add support for Hindi language in RIme TTS service
2025-11-12 21:13:01 -05:00
gokuljs
fe25465987
changelog update
2025-11-13 07:16:36 +05:30
Martin Liu
8dfc59be13
Include pts in incoming video and audio frames
2025-11-12 18:36:56 -05:00
gokuljs
498e9ca4f6
Add support for Hindi language in RIme TTS service
2025-11-13 04:33:22 +05:30
Paul Kompfner
1802f949ef
Fix an issue with some examples where punctuation was missing from the LLM output, by tweaking the LLM prompt.
2025-11-12 17:12:03 -05:00
Paul Kompfner
1ad6405ebb
Override includes_inter_frame_spaces in:
...
- `GoogleHttpTTSService`
- `OpenAITTSService`
The reason I skipped this work in an earlier PR was because these services seemed to be emitting long, punctuation-free text frames. It turns out that the issue was with the LLM prompt, though, resulting in the LLM nondeterministically excluding all punctuation. An upcoming commit will address that prompt issue.
2025-11-12 17:07:43 -05:00
kompfner
4c25555396
Merge pull request #3041 from pipecat-ai/pk/apply-includes-inter-frame-spaces-wherever-necessary
...
Apply `includes_inter_frame_spaces = True` in all LLM and TTS service…
2025-11-12 16:49:14 -05:00
Paul Kompfner
5222ff99de
Apply includes_inter_frame_spaces = True in all LLM and TTS services that need it.
...
Note that for `LLMTextFrame`s, the right behavior is pretty much always `includes_inter_frame_spaces = True`. I decided *not* to go ahead and make that the default for `LLMTextFrame`s, though, simply to not introduce a subtle behavior change for creative/unexpected use-cases that were relying on text in hand-crafted `LLMTextFrame`s being handled a certain way. Ditto for `TTSTextFrame`s.
Also, fix an issue in `NeuphonicTTSService` where it wasn't pushing `TTSTextFrame`s.
Also, fix the broken `SarvamHttpTTSService` example.
Also, add a couple of missing examples.
2025-11-12 15:10:11 -05:00
Mark Backman
203a627707
Merge pull request #3028 from sam-s10s/fix/smx-tts-retry
...
SpeechmaticsTTS - Support for retry when 503 error to TTS API.
2025-11-12 09:26:07 -05:00
James Hush
2006a64def
Fix Langfuse tracing for GoogleLLMService with universal LLMContext ( #3025 )
...
* Fix Langfuse tracing for GoogleLLMService with universal LLMContext
- Fixed issue where input appeared as null in Langfuse dashboard for GoogleLLMService
- Added fallback to use adapter's get_messages_for_logging() for universal LLMContext
- Ensures proper message format conversion for Google/Gemini services
- Handles system message conversion to system_instruction format
- Also fixes serialization of empty message lists ([] now serializes correctly)
This fix ensures Langfuse tracing works correctly for Google services using
both OpenAILLMContext/GoogleLLMContext and the universal LLMContext.
* Add unit tests for Langfuse tracing with GoogleLLMService
- Test that tracing correctly captures messages with universal LLMContext
- Test that empty message lists are properly serialized
- Test that adapter's get_messages_for_logging is used instead of context method
- All tests verify that input is correctly added to Langfuse spans
* Fix test mocking to patch opentelemetry.trace.get_tracer correctly
The tests were failing in CI because they were trying to patch
'pipecat.utils.tracing.service_decorators.trace' which doesn't exist as
an attribute. The trace module is imported from opentelemetry, so we need
to patch 'opentelemetry.trace.get_tracer' instead.
* Skip tracing tests when opentelemetry is not installed
The tracing dependencies (opentelemetry) are optional in Pipecat and not
installed in the CI environment. Added a skipif marker to skip these tests
when opentelemetry is not available, preventing CI failures while still
allowing the tests to run when tracing dependencies are installed locally.
* Install tracing dependencies in GitHub Actions CI
Instead of skipping the tracing tests, install the 'tracing' extra
(opentelemetry) in the CI environment so the tests can run properly.
Removed the skipif condition from the tests since opentelemetry will
now be available in CI.
* Use the context type to determine which messages to use, fix tool_count and tools (#3032 )
---------
Co-authored-by: Mark Backman <mark@daily.co >
2025-11-12 14:58:00 +01:00
Corvin Jaedicke
3c76917c1e
use async process function
2025-11-12 13:48:22 +01:00
Filipi da Silva Fuchter
eb36a1bc91
Merge pull request #3033 from pipecat-ai/filipi/deepgram_flux_urlencode_changelog
...
Mentioning DeepgramFluxSTTService URL encode fix in changelog.
2025-11-11 17:29:07 -03:00
Filipi Fuchter
fff8aac18c
Mention DeepgramFluxSTTService URL encode fix in changelog.
2025-11-11 17:25:40 -03:00
Filipi da Silva Fuchter
ec4bd8db10
Merge pull request #3014 from julienvantyghem/fix/deepgramflux-keyterm-encoding
...
fix(deepgram-flux): urlencode keyterm and tag parameters
2025-11-11 17:24:17 -03:00
Filipi da Silva Fuchter
4cc298d616
Merge pull request #3029 from pipecat-ai/filipi/heygen_keep_alive
...
Preventing HeyGenVideoService from disconnecting.
2025-11-11 15:25:43 -03:00
Sam Sykes
8d21b54ef3
Revert to ErrorFrame.
2025-11-11 18:24:08 +00:00
Sam Sykes
217d7e9953
Fix for max attempts.
2025-11-11 18:05:06 +00:00
Sam Sykes
41cf9adef4
Updated for max retries.
2025-11-11 18:00:27 +00:00
Sam Sykes
501744d7da
Update CHANGELOG.
2025-11-11 17:53:31 +00:00
Sam Sykes
60bc77c795
Update debugging messages.
2025-11-11 17:50:06 +00:00
Sam Sykes
0febfc62ec
Updated to use backoff utility function.
2025-11-11 17:45:22 +00:00
Filipi Fuchter
b76b25a6e1
Mentioning the HeyGen fix in the changelog.
2025-11-11 11:58:31 -03:00
Filipi Fuchter
62caadfc7c
Preventing HeyGenVideoService from disconnecting.
2025-11-11 11:37:46 -03:00
Sam Sykes
41ac43cf71
updated docs
2025-11-11 13:56:45 +00:00
Sam Sykes
adf5198423
Support for retry when 503 error to TTS API.
2025-11-11 13:49:14 +00:00
Mark Backman
54e8d29615
Merge pull request #3022 from pipecat-ai/mb/changelog-0.0.94
...
Prep for 0.0.94 hotfix
2025-11-10 16:52:38 -05:00
Mark Backman
ee494918a9
Prep for 0.0.94 hotfix
2025-11-10 16:50:58 -05:00
Mark Backman
aa8a50bc61
Merge pull request #3015 from pipecat-ai/mb/deprecate-krisp
...
Deprecate KrispFilter
2025-11-10 16:38:06 -05:00
Mark Backman
20857ac19a
Merge pull request #3010 from pipecat-ai/mb/gemini-live-ar-xa
...
Add ar-XA language code for Gemini Live
2025-11-10 16:36:33 -05:00
Mark Backman
421a1b5389
Merge pull request #3021 from pipecat-ai/mb/add-sarvam-stt-readme
...
Add Sarvam STT to README list
2025-11-10 16:36:03 -05:00
Mark Backman
8dd45af5b7
Deprecate KrispFilter
2025-11-10 16:35:11 -05:00
kompfner
66c903276a
Merge pull request #3020 from pipecat-ai/pk/make-explicit-adding-spaces-when-concatenating-tts-text
...
Make the mechanism of adding spaces when concatenating TTS (or speech…
2025-11-10 14:34:10 -05:00
Mark Backman
588dcf2ab9
Add Sarvam STT to README list
2025-11-10 14:29:54 -05:00
Paul Kompfner
913194844e
Make the mechanism of adding spaces when concatenating TTS (or speech-to-speech LLM) output text explicit and deterministic, rather than heuristic-based.
...
This fixes a bug where spaces were sometimes missing from assistant messages in context.
2025-11-10 14:22:32 -05:00
Vanessa Pyne
c2ce143e6c
Merge pull request #3017 from pipecat-ai/vp-rm-livekit-serializer
...
remove LivekitFrameSerializer
2025-11-10 11:56:47 -06:00
vipyne
c1c7a561ed
remove LivekitFrameSerializer
2025-11-10 11:06:12 -06:00
kompfner
05311dcfbf
Merge pull request #3016 from pipecat-ai/mb/revert-concat-aggregated-text
...
Revert "Merge pull request #3004 from pipecat-ai/mb/improve-concat-ag…
2025-11-10 10:49:38 -05:00
Mark Backman
2300941bb8
Revert "Merge pull request #3004 from pipecat-ai/mb/improve-concat-aggregated-text"
...
This reverts commit 5e7f59a0b0 , reversing
changes made to 2ad4122b77 .
2025-11-10 09:58:19 -05:00
Julien Vantyghem
c38055dbdd
fix(deepgram-flux): urlencode keyterm and tag parameters
2025-11-09 19:17:19 +01:00
Thu Nguyen
35593b8574
Add cached and reasoning token metrics to OpenTelemetry spans
2025-11-09 00:38:30 +07:00
Mark Backman
0df75b0915
Add ar-XA language code for Gemini Live
2025-11-08 08:24:55 -05:00
Aleix Conchillo Flaqué
16e2d5b998
Merge pull request #3007 from pipecat-ai/aleix/pipecat-0.0.93
...
update CHANGELOG for 0.0.93
2025-11-07 13:25:25 -08:00
Aleix Conchillo Flaqué
4cf9e1409e
update CHANGELOG for 0.0.93
2025-11-07 13:17:44 -08:00
Aleix Conchillo Flaqué
0ed430e7e2
examples(foundational): use DeepgramSTTService in 07
2025-11-07 11:34:11 -08:00
Aleix Conchillo Flaqué
342a8b121b
pyproject: update simli to 0.1.25
2025-11-07 11:30:41 -08:00
Aleix Conchillo Flaqué
5729722dcd
SimliVideoService: check exception initializing simli client
2025-11-07 11:30:41 -08:00
Aleix Conchillo Flaqué
38aac44a1e
scripts(evals): 26c should be a camera eval
2025-11-07 11:30:41 -08:00
Aleix Conchillo Flaqué
4f1468e0fa
scripts(evals): improve eval prompt
2025-11-07 10:05:46 -08:00
Aleix Conchillo Flaqué
9b1192ca9b
Merge pull request #3001 from pipecat-ai/pk/openai-realtime-toolsschema-support
...
Added support for passing in a `ToolsSchema` in lieu of a list of pro…
2025-11-07 09:37:43 -08:00
Mark Backman
5e7f59a0b0
Merge pull request #3004 from pipecat-ai/mb/improve-concat-aggregated-text
...
Improve concatenate_aggregated_text string utility
2025-11-07 12:37:12 -05:00
Aleix Conchillo Flaqué
2ad4122b77
Merge pull request #3006 from pipecat-ai/aleix/vision-image-backwards-compatibility
...
restore vision/image backwards compatibility
2025-11-07 09:19:38 -08:00
Mark Backman
5950f734f5
Merge pull request #3002 from pipecat-ai/mb/clarify-model-openai-realtime
...
Clarify how to set model in OpenAIRealtimeLLMService
2025-11-07 12:05:10 -05:00
Aleix Conchillo Flaqué
8d0364b630
restore vision/image backwards compatibility
2025-11-07 08:53:58 -08:00
kompfner
bfe031604a
Merge pull request #3005 from pipecat-ai/pk/add-missing-comments
...
Add missing explanatory comments to AWS and Anthropic that are presen…
2025-11-07 11:50:41 -05:00
kompfner
9bfde61183
Merge pull request #3003 from pipecat-ai/pk/fix-deprecation-warning-always-printed-on-set-bot-ready
...
Fix a deprecation warning printed every time `RTVIProcessor.set_bot_r…
2025-11-07 11:50:30 -05:00
Paul Kompfner
cb40a39a01
Add missing explanatory comments to AWS and Anthropic that are present in the other LLM services
2025-11-07 11:44:44 -05:00
Mark Backman
03001f8047
Update TranscriptProcessor unit tests
2025-11-07 11:44:04 -05:00
Paul Kompfner
10f1c314b6
Fix a deprecation warning printed every time RTVIProcessor.set_bot_ready() is called
2025-11-07 11:27:58 -05:00
Mark Backman
4d1d6465fc
Support OpenAI Realtime and Gemini Live single word edge cases in concatenate_aggregated_text
2025-11-07 11:26:38 -05:00
Paul Kompfner
359d220162
Document a OpenAIRealtimeLLMService gotcha in an example.
2025-11-07 10:32:27 -05:00
Mark Backman
6feecf05f7
Merge pull request #2994 from Toprak2/patch-1
...
Fix incorrect docstring in FrameProcessorQueue.__init__
2025-11-07 10:21:11 -05:00
Paul Kompfner
c3306bb4f2
Support for passing in a ToolsSchema in lieu of a list of provider-specific dicts when updating OpenAIRealtimeLLMService using LLMUpdateSettingsFrame.
2025-11-07 10:18:29 -05:00
Mark Backman
07a4aae248
Clarify how to set model in OpenAIRealtimeLLMService
2025-11-07 09:58:12 -05:00
Paul Kompfner
925a6cc2ef
Added support for passing in a ToolsSchema in lieu of a list of provider-specific dicts when initializing OpenAIRealtimeLLMService.
...
I chose to go the somewhat hacky route of adding the `ToolsSchema` support into the `events.SessionProperties` model itself—even though we should never serialize that type when creating events—because the alternative seemed to be to create a new type for `OpenAIRealtimeLLMService` initialization parameters and then we'd have to contend with backward compatibility, which seemed like a bigger headache.
2025-11-07 09:50:26 -05:00
Mark Backman
613ad74103
Merge pull request #3000 from pipecat-ai/mb/clarify-openai-realtime-model-docs
2025-11-07 06:36:30 -05:00
Muhammed Ali Toprak
2ab6b71890
Shorten docstring for clarity
2025-11-07 11:24:06 +03:00
Toprak2
c2bd8d22a0
Merge branch 'pipecat-ai:main' into patch-1
2025-11-07 11:19:08 +03:00
Mark Backman
eda12f56e6
Add clarifying documentation about OpenAI Realtime model use
2025-11-06 19:42:35 -05:00
Aleix Conchillo Flaqué
3daa1b7850
Merge pull request #2998 from pipecat-ai/aleix/transport-params-audio-out-end-silence-secs
...
BaseOutputTransport: send silence when EndFrame is received
2025-11-06 12:18:33 -08:00
Aleix Conchillo Flaqué
4c8c44ecc3
BaseOutputTransport: send silence when EndFrame is received
2025-11-06 12:16:05 -08:00
Aleix Conchillo Flaqué
8c34e1efba
Merge pull request #2996 from pipecat-ai/aleix/broadcast-frame
...
FrameProcessor: add new broadcast_frame() method
2025-11-06 12:13:15 -08:00
Aleix Conchillo Flaqué
f6916428b1
FrameProcessor: add new broadcast_frame() method
2025-11-06 12:11:48 -08:00
Marcus
a14d00b806
Improved LocalSmartTurnAnalyzerV3 performance on systems with a low CPU count ( #2982 )
2025-11-06 14:42:05 -05:00
Mark Backman
927cf751c0
Merge pull request #2997 from pipecat-ai/mb/google-stt-409
...
GoogleSTTService: Add more robust handling of 409 errors
2025-11-06 14:39:51 -05:00
Mark Backman
1fb6d6bd23
GoogleSTTService: Add more robust handling of 409 errors
2025-11-06 14:35:53 -05:00
Mark Backman
94a3306679
Merge pull request #2995 from pipecat-ai/mb/fix-stt-mute-filter-stt-muting
...
fix: STTMuteFilter no longer sends STTMuteFrame
2025-11-06 14:35:07 -05:00
Mark Backman
16bd1fe32d
Merge pull request #2984 from pipecat-ai/mb/11labs-pronunciation-dictionary
...
Add ElevenLabs pronunciation dictionary support
2025-11-06 14:23:49 -05:00
Mark Backman
58b552171d
Add pronunciation_dictionary_locators to ElevenLabs TTS Services
2025-11-06 14:13:51 -05:00
Mark Backman
4732a442d4
Merge pull request #2992 from pipecat-ai/mb/metrics-log-observer
...
Add MetricsLogObserver
2025-11-06 14:04:55 -05:00
Mark Backman
accdddce95
Add MetricsLogObserver
2025-11-06 14:01:20 -05:00
Mark Backman
daf9da823c
Merge pull request #2993 from pipecat-ai/mb/fix-gemini-token-counting
...
fix: correct GoogleLLMService token counting
2025-11-06 13:47:51 -05:00
Mark Backman
f6b6aa8766
fix: STTMuteFilter no longer sends STTMuteFrame
2025-11-06 11:53:32 -05:00
Toprak2
935eb58951
Update docstring for FrameProcessorQueue
...
Clarify the docstring for FrameProcessorQueue initialization.
2025-11-06 19:18:15 +03:00
Mark Backman
9f2ddcc5f4
Merge pull request #2927 from pipecat-ai/marcus/2025-10-28_sample_rtvi_fix
...
Add RTVIProcessor to foundational example 38b
2025-11-06 10:19:10 -05:00
Mark Backman
961e28517e
Remove arg from RTVIProcessor
2025-11-06 10:16:31 -05:00
Mark Backman
34d6f3fa00
fix: correct GoogleLLMService token counting
2025-11-06 10:01:37 -05:00
Filipi da Silva Fuchter
616abfd96c
Merge pull request #2987 from pipecat-ai/filipi/fix_start_endpoint
...
Fixing the runner start endpoint when enableDefaultIceServers is enabled.
2025-11-06 09:32:01 -03:00
Mark Backman
d7774ac599
Merge pull request #2991 from pipecat-ai/mb/fix-deepgram-is-connected
2025-11-06 06:35:51 -05:00
Mark Backman
c8c13ecee2
fix: DeepgramSTTService await is_connected()
2025-11-05 21:42:15 -05:00
Vanessa Pyne
314acc104e
Merge pull request #2990 from pipecat-ai/vp-fix-riva-default-voice
...
fix default riva tts voice_id
2025-11-05 18:40:41 -06:00
vipyne
1dfa59257d
fix default riva tts voice_id
2025-11-05 18:30:05 -06:00
Mark Backman
376dcc34f7
Merge pull request #2986 from pipecat-ai/mb/docs-0.0.93
...
Fix docstrings for 0.0.93 release, fix classmethod placement in Reque…
2025-11-05 15:49:09 -05:00
Filipi Fuchter
5ee8c56899
Fixing the runner start endpoint when enableDefaultIceServers is enabled.
2025-11-05 17:36:24 -03:00
kompfner
4397deddc7
Merge pull request #2970 from pipecat-ai/pk/tool-registration-improvements
...
Assorted tool registration improvements
2025-11-05 15:31:15 -05:00
Paul Kompfner
13d6078ea0
Minor tweak to an example for clarity.
2025-11-05 15:30:01 -05:00
Paul Kompfner
61aec08794
CHANGELOG item ordering tweak
2025-11-05 15:29:58 -05:00
Paul Kompfner
0f69d4aea3
Fixed an issue where GeminiLiveLLMService wasn't consistent in what it would do if if it received an LLMContextFrame (triggered by an LLMRunFrame, say) and there were no user messages in the initial context:
...
- If the context contained a system message, that message would be converted to a user message and the LLM would respond
- If the system message was provided as a constructor argument, though, no user messages would be sent to the LLM, and the LLM would therefore not respond
Not adding this fix to the CHANGELOG since `GeminiLiveLLMService`'s ability to properly handle context-provided tools and system instruction hasn't been published yet.
2025-11-05 15:29:04 -05:00
Paul Kompfner
84ba628dfb
Fix a bug in GeminiLiveLLMService where if only *one* of tools or system instruction was provided in the context, the other wouldn't fall back to using the value provided in the constructor.
...
Not adding this fix to the CHANGELOG since `GeminiLiveLLMService`'s ability to properly handle context-provided tools and system instruction hasn't been published yet.
2025-11-05 15:29:04 -05:00
Paul Kompfner
9ce33f23b9
Add an example demonstrating MCP usage with a speech-to-speech service (GeminiLiveLLMService) using the pattern of passing in tools in the constructor
2025-11-05 15:29:04 -05:00
Paul Kompfner
75245e1daa
Fix a bug in GeminiLiveLLMService where in some circumstances it wouldn't respond after a tool call
2025-11-05 15:29:04 -05:00
Paul Kompfner
24365aeefe
CHANGELOG wording fix
2025-11-05 15:29:04 -05:00
Paul Kompfner
29ef0f419f
Add typing formalizing MCPClient support for registering tools on an LLMSwitcher in addition to an LLMService.
2025-11-05 15:29:01 -05:00
Paul Kompfner
a9d78bd956
Make it possible to get a ToolsSchema out of an MCPClient without passing in an LLM service.
...
This allows folks to use `MCPClient` alongside the pattern of passing in tools at LLM init time, a pattern supported by speech-to-speech services such as `GeminiLiveLLMService`.
2025-11-05 15:28:23 -05:00
Paul Kompfner
e6f881bb08
Remove the "needs alternate schema" mechanism in MCPClient, moving the necessary schema massaging into GeminiLLMAdapter instead.
...
This does a couple of things:
- Makes the `MCPClient` LLM agnostic, setting us up for some upcoming improvements (like making it possible to use with `LLMSwitcher`)
- Makes `GeminiLLMAdapter` more robust, as the schema massaging that was previously only done in `MCPClient` is useful for all tools, not just for MCP-provided ones
2025-11-05 15:28:23 -05:00
Paul Kompfner
bee4165ba4
Add LLMSwitcher.register_direct_function()
2025-11-05 15:28:19 -05:00
Mark Backman
e2f6ce1078
Fix docstrings for 0.0.93 release, fix classmethod placement in RequestHandler
2025-11-05 15:27:16 -05:00
Paul Kompfner
0184493711
Update the service switcher example to illustrate registering tools on all LLMs in a switcher
2025-11-05 15:27:00 -05:00
Aleix Conchillo Flaqué
eb3c4c59fc
Merge pull request #2985 from pipecat-ai/revert-2976-aleix/interruption-task-frame-finished-event
...
Revert "fix interruption task frame context ordering"
2025-11-05 12:25:45 -08:00
Aleix Conchillo Flaqué
d844829538
Revert "fix interruption task frame context ordering"
2025-11-05 12:14:03 -08:00
Mark Backman
11b101e8a6
Merge pull request #2974 from pipecat-ai/mb/language-mapping-improvements
...
Improve language checking in STT and TTS services
2025-11-05 14:59:41 -05:00
Mark Backman
3db5ab9f23
Merge pull request #2983 from pipecat-ai/mb/bump-fastapi-0.122.0
...
Bumped the fastapi dependency to <0.122.0
2025-11-05 13:24:23 -05:00
Mark Backman
9a96e4060c
Bumped the fastapi dependency to <0.122.0
2025-11-05 13:13:47 -05:00
Aleix Conchillo Flaqué
d826279946
Merge pull request #2976 from pipecat-ai/aleix/interruption-task-frame-finished-event
...
fix interruption task frame context ordering
2025-11-05 09:53:26 -08:00
Aleix Conchillo Flaqué
e4212fb3c0
tests: add interruption strategies context ordering tests
2025-11-05 09:38:18 -08:00
Aleix Conchillo Flaqué
234aae3091
FrameProcessor: use finished_event for push_interruption_task_frame_and_wait
2025-11-05 09:38:17 -08:00
Aleix Conchillo Flaqué
c33b81bb92
PipelineTask: set finished_event InterruptionFrame is received
2025-11-05 09:37:55 -08:00
Aleix Conchillo Flaqué
a1c07039ee
frames: added finished_event to InterruptionFrame/InterruptionTaskFrame
2025-11-05 09:37:55 -08:00
Mark Backman
33be73692f
Merge pull request #2979 from thsunkid/feature/whisper-stt-probability-metrics
...
Feat: Access prob metrics for Whisper STT services using include_prob_metrics
2025-11-05 12:33:24 -05:00
Mark Backman
f6d7b6ae5f
Fix SpeechmaticsSTTService: use language checking for language and output_locale
2025-11-05 12:26:52 -05:00
Mark Backman
2ee54c985f
Improve language checking in STT and TTS services
2025-11-05 12:26:52 -05:00
Thu Nguyen
76c336644a
Merge branch 'main' into feature/whisper-stt-probability-metrics
2025-11-06 00:24:34 +07:00
Thu Nguyen
dd8711dee1
Added changelog
2025-11-06 00:23:42 +07:00
Thu Nguyen
c26c27fe21
Update util with new docs and extract_deepgram_probability
2025-11-06 00:23:20 +07:00
Mark Backman
159dbd078d
Merge pull request #2980 from pipecat-ai/mb/gemini-vertex-update
...
Refactor GoogleVertexLLMService to use GoogleLLMService as a base class
2025-11-05 11:35:50 -05:00
Mark Backman
c18ff999a5
Update GoogleVertexLLMService default model to gemini-2.5-flash
2025-11-05 11:28:41 -05:00
Mark Backman
80d127aaa4
Refactor GoogleVertexLLMService to use GoogleLLMService as a base class
2025-11-05 09:33:02 -05:00
Mark Backman
bbc7d3e2fb
Merge pull request #2977 from pipecat-ai/mb/request-handler-smallwebrtc
...
Fix: support request data in SmallWebRTC
2025-11-05 08:50:31 -05:00
Thu Nguyen
3486d63ef6
Add docs
2025-11-05 13:30:49 +07:00
Thu Nguyen
842c4a3485
Update base_stt
2025-11-05 13:26:59 +07:00
Thu Nguyen
0b779a880b
Feat: allow accessing prob metrics for Whisper STT services with include_prob_metrics param
2025-11-05 13:24:49 +07:00
Mark Backman
01f3421052
Fix: support request data in SmallWebRTC
2025-11-04 17:14:29 -05:00
Aleix Conchillo Flaqué
c20aa78648
Merge pull request #2969 from pipecat-ai/aleix/pipecat-observer-files
...
PipelineTask: load observers from PIPECAT_OBSERVER_FILES
2025-11-04 12:34:37 -08:00
Aleix Conchillo Flaqué
38f27ad991
PipelineTask: load observers from PIPECAT_OBSERVER_FILES
2025-11-04 12:10:53 -08:00
Mark Backman
0c38585034
Merge pull request #2973 from pipecat-ai/mb/cartesia-sonic-3-languages
...
Add sonic-3 languages to Cartesia TTS services
2025-11-04 14:43:06 -05:00
Mark Backman
8a09bbbf0e
Merge pull request #2972 from akash-dutta-dev/hotfix/addCustomParamForExotel
...
Add customer parameter in Call Data for Exotel
2025-11-04 14:29:58 -05:00
Vanessa Pyne
fb737ff671
Merge pull request #2967 from pipecat-ai/vp-39-bork-83
...
update example 39-mcp-stdio.py to use different mcp server
2025-11-04 09:02:29 -06:00
vipyne
b7a4d7371c
wrap tools = await mcp.register_tools(llm) in try in examples
2025-11-04 09:01:12 -06:00
vipyne
ef88d6a2ea
update example 39-mcp-stdio.py to use different mcp server
...
https://www.loom.com/share/a9f0a270261d4c6cb054ab2b4dcd6084
SO to Rijksmuseum MCP
https://github.com/r-huijts/rijksmuseum-mcp
2025-11-04 09:01:12 -06:00
kompfner
5c1bd8cda2
Merge pull request #2961 from pipecat-ai/pk/gemini-live-fix-session-resumption
...
Fix Gemini Live session resumption. The problem was that we weren't p…
2025-11-04 09:19:17 -05:00
Paul Kompfner
a82158045a
Fix Gemini Live session resumption. The problem was that we weren't properly ignoring send errors during reconnection.
2025-11-04 09:18:40 -05:00
Mark Backman
b1533ddfc4
Add sonic-3 languages to Cartesia TTS services
2025-11-04 07:57:04 -05:00
Mark Backman
0abc699f24
Merge pull request #2964 from pipecat-ai/mb/14j-nim-updates
...
Fix 14j foundational example
2025-11-04 07:24:53 -05:00
Akash Dutta
09018071e8
Add customer parameter in Call Data for Exotel
2025-11-04 16:57:28 +05:30
Mark Backman
1c53a5fd01
Fix 14j foundational example
2025-11-03 14:57:44 -05:00
kompfner
05d4753d3e
Merge pull request #2956 from pipecat-ai/pk/gemini-honor-context-provided-instructions-and-tools
...
`GeminiLiveLLMService` supports context-provided system instruction a…
2025-11-03 10:38:26 -05:00
Paul Kompfner
87131850bc
GeminiLiveLLMService supports context-provided system instruction and tools
2025-11-03 10:30:46 -05:00
Aleix Conchillo Flaqué
af83f45a49
Merge pull request #2959 from pipecat-ai/aleix/cancel-frame-reason
...
CancelFrame: add reason field to indicate why pipeline is being cancelled
2025-11-02 11:06:58 -08:00
Aleix Conchillo Flaqué
62e45f466a
EndFrame: add reason field to indicate why pipeline is being ended
2025-11-02 00:45:27 -07:00
Aleix Conchillo Flaqué
e85e93b9b1
CancelFrame: add reason field to indicate why pipeline is being cancelled
2025-11-02 00:44:47 -07:00
Mark Backman
074d3ff162
Merge pull request #2821 from shreyas-sarvam/sarvam/stt
...
Sarvam STT/STTT WS implementation
2025-10-31 13:47:27 -04:00
shreyas-sarvam
d680ec2e69
Merge branch 'main' into sarvam/stt
2025-10-31 23:09:47 +05:30
shreyas-sarvam
d905b21f72
fix: Pass input_audio_codec as an __init__ parameter
2025-10-31 23:07:48 +05:30
shreyas-sarvam
6c5d84ca4c
fix: Fixes for sample_rate being passed by PipelineParams
2025-10-31 23:03:25 +05:30
Aleix Conchillo Flaqué
334167e3d7
Merge pull request #2953 from pipecat-ai/aleix/pipecat-0.0.92
...
update CHANGELOG for 0.0.92. 🎃 "The Haunted Edition" 👻
2025-10-31 09:47:25 -07:00
Aleix Conchillo Flaqué
e3531a5f25
update CHANGELOG for 0.0.92. 🎃 "The Haunted Edition" 👻
2025-10-31 09:17:03 -07:00
Mark Backman
343e97666a
Merge pull request #2954 from pipecat-ai/mb/runner-meeting-token-properties
...
Add support for token properties in Daily util and development runner
2025-10-31 12:12:14 -04:00
Mark Backman
653e84321b
Add support for token properties in Daily util and development runner
2025-10-31 12:08:53 -04:00
Mark Backman
3585f724c4
Merge pull request #2952 from pipecat-ai/mb/add-daily-room-properties-to-runner
...
Add support for dailyRoomProperties when calling /start using the dev…
2025-10-31 12:04:42 -04:00
Mark Backman
5fe597d355
Add support for dailyRoomProperties when calling /start using the development runner
2025-10-31 12:01:03 -04:00
Aleix Conchillo Flaqué
67ab3773f6
Merge pull request #2949 from pipecat-ai/aleix/idle-timeout-observer
...
PipelineTask: add IdleFrameObserver to detect idle pipelines
2025-10-31 08:51:09 -07:00
Mark Backman
c6e12b9358
Merge pull request #2943 from pipecat-ai/mb/deepgram-http
...
Add DeepgramHttpTTSService
2025-10-31 11:51:06 -04:00
Aleix Conchillo Flaqué
0f5030bafa
tests: add unit test to check for idle timeout on swallowed frames
2025-10-31 08:45:56 -07:00
Aleix Conchillo Flaqué
ed93e29850
PipelineTask: add IdleFrameObserver to detect idle pipelines
2025-10-31 08:45:56 -07:00
Mark Backman
7eb880c5e8
Add DeepgramHttpTTSService
2025-10-31 11:39:32 -04:00
Aleix Conchillo Flaqué
4fa0de6660
Merge pull request #2947 from pipecat-ai/aleix/rename-add-to-context
...
UserImageRawFrame: rename add_to_context to append_to_context
2025-10-31 08:29:49 -07:00
kompfner
396c1bcc13
Merge pull request #2946 from pipecat-ai/pk/deprecate-expect-stripped-words
...
Deprecate `expect_stripped_words` option from `LLMAssistantAggregatorParams`…
2025-10-31 09:57:20 -04:00
shreyas-sarvam
57f6ae9e50
Merge branch 'main' into sarvam/stt
2025-10-31 17:36:52 +05:30
shreyas-sarvam
2d03e51109
fix: Remove unused imports, use sample_rate from base class
2025-10-31 17:31:59 +05:30
Mark Backman
1e7143e5f3
Merge pull request #2942 from pipecat-ai/mb/speechmatics-tts-changelog
...
Add SpeechmaticsTTSService, Soniox changes to changelog
2025-10-31 07:43:58 -04:00
Mark Backman
f820c20fa2
Add SpeechmaticsTTSService and SonioxSTTService changes to changelog
2025-10-31 07:41:17 -04:00
Mark Backman
83f395ff8f
Merge pull request #2940 from thsunkid/feature/google-tts-chirp-speaking-rate
...
Add dynamic speaking_rate control for Google TTS Chirp voices
2025-10-31 07:39:05 -04:00
shreyas-sarvam
09a7e08cbf
Merge branch 'main' into sarvam/stt
2025-10-31 15:21:09 +05:30
shreyas-sarvam
6f172bba8f
feat: Make input parameters accessible to users
2025-10-31 15:17:06 +05:30
shreyas-sarvam
1433df4de2
fix: Fix language param and include suggested way of handling STT response
2025-10-31 13:23:08 +05:30
Thu Nguyen
6ade5617fb
addressed comments
2025-10-31 09:53:47 +07:00
Aleix Conchillo Flaqué
685d440206
UserImageRawFrame: rename add_to_context to append_to_context
2025-10-30 15:18:27 -07:00
Paul Kompfner
ac5734d0ed
Deprecate expect_stripped_words option from LLMAssistantAggregatorParams, when used with the newer LLMAssistantAggregator, which now handles word spacing automatically.
...
This commit does not change how it works in the older `LLMAssistantContextAggregator`.
2025-10-30 17:22:47 -04:00
Aleix Conchillo Flaqué
5e00133e64
Merge pull request #2935 from pipecat-ai/aleix/improve-image-and-vision-support
...
improve image and vision support
2025-10-30 14:09:01 -07:00
Aleix Conchillo Flaqué
42f0490414
examples(foundational): 14-* show how to tell the LLM we are capturing an image
2025-10-30 14:02:17 -07:00
Aleix Conchillo Flaqué
19f046a338
examples(foundational): add 12d-describe-image-moondream
2025-10-30 14:02:17 -07:00
Aleix Conchillo Flaqué
ec95618b94
don't tie UserImageRawFrame with function calls
2025-10-30 14:02:17 -07:00
Aleix Conchillo Flaqué
74fb6e7676
scripts(evals): improve eval prompting
2025-10-30 13:08:15 -07:00
Aleix Conchillo Flaqué
8fa6cbac51
examples(foundational): added 14d docstrings
2025-10-30 13:08:15 -07:00
Aleix Conchillo Flaqué
a997655eac
scripts(evals): simplify eval configuration and allow RunnerArgs body
2025-10-30 13:08:15 -07:00
Aleix Conchillo Flaqué
3b3a215155
examples(foundational): re-add 12-* but load image from file
2025-10-30 13:08:15 -07:00
Aleix Conchillo Flaqué
e458d3edfe
scripts(evals): update 12-* for 14-*-video
2025-10-30 13:08:15 -07:00
Aleix Conchillo Flaqué
d7d409df60
examples(foundational): move 12-* to 14-*-video
2025-10-30 13:08:15 -07:00
Aleix Conchillo Flaqué
5174b18176
LLMAssistantAggregator: don't mark function calls as completed when receiving user image
...
Before, when requesting a user image from a function call we had to wait for a
random time before we could indicate the function call was done. This was to
given time to the aggregator to process the image before marking the function
call as completed.
To avoid this, we now wait for the requested image to be received by the LLM
assistant agrgegator (using an asyncio event). Then, we can successfully mark
the function call as completed.
2025-10-30 13:08:15 -07:00
Aleix Conchillo Flaqué
9c5690d670
LLMContext: added support for image messages with URLs
2025-10-30 13:08:15 -07:00
Aleix Conchillo Flaqué
e0933e20d2
deprecated UserResponseAggregator
2025-10-30 13:08:15 -07:00
Aleix Conchillo Flaqué
ce13155d26
vision(moondream): process VisionImageRawFrame
2025-10-30 13:08:15 -07:00
Aleix Conchillo Flaqué
817a485d94
frames: added VisionImageRawFrame
2025-10-30 13:08:15 -07:00
Aleix Conchillo Flaqué
b094418d1e
LLMContext: add create_image_message and create_audio_message
2025-10-30 13:08:13 -07:00
Filipi da Silva Fuchter
08a1e09020
Merge pull request #2944 from pipecat-ai/filipi/flux_handlers
...
New event handlers for the DeepgramFluxSTTService.
2025-10-30 16:40:41 -03:00
Filipi Fuchter
52b33e5106
New event handlers for the DeepgramFluxSTTService.
2025-10-30 16:09:07 -03:00
Mark Backman
5db0871a20
Merge pull request #2873 from matejmarinko-soniox/main
...
Update model params for Soniox STT
2025-10-30 12:50:30 -04:00
Mark Backman
222c362fa4
Merge pull request #2937 from aaronng91/speechmatics-tts
...
Add Speechmatics TTS
2025-10-30 12:30:27 -04:00
Aaron Ng
9d509bb409
address changes
2025-10-30 16:25:10 +00:00
shreyas-sarvam
8d0e7e5e16
chore: Add changelog entry, update foundational examples
2025-10-30 19:22:14 +05:30
shreyas-sarvam
e7b8da7a83
feat: Refactor code to include language parameter, model_name and use _handle_transcription method
2025-10-30 19:01:04 +05:30
shreyas-sarvam
35c48a45cf
fix: Ruff format
2025-10-30 18:51:18 +05:30
shreyas-sarvam
14a365aa16
fix: Use message handler to handle responses
2025-10-30 17:54:32 +05:30
shreyas-sarvam
779fc0419d
Merge branch 'main' into sarvam/stt
2025-10-30 15:50:53 +05:30
Thu Nguyen
057e0c3973
Lint
2025-10-30 17:12:36 +07:00
Thu Nguyen
8a6abdd44b
feat: Add dynamic speaking_rate control for Google TTS Chirp voices
2025-10-30 17:09:41 +07:00
Mark Backman
7872fa2e88
Merge pull request #2934 from roshie548/add-cartesia-generation-config
...
feat: add generation_config support for Cartesia Sonic-3
2025-10-29 23:10:48 -04:00
Roshan
e86c546a1a
Merge branch 'main' into add-cartesia-generation-config
2025-10-29 18:31:09 -07:00
Roshan
abf34bcccf
address pr comments
2025-10-29 18:29:51 -07:00
Aleix Conchillo Flaqué
56eb633390
Merge pull request #2911 from pipecat-ai/aleix/daily-transport-improve-error-handling
...
DailyTransport: update start_dialout/start_recording return values
2025-10-29 16:28:10 -07:00
Aleix Conchillo Flaqué
6299b9db87
DailyTransport: trigger "on_error" if transcription fails to start/stop
2025-10-29 16:25:13 -07:00
Aleix Conchillo Flaqué
bcffa590a3
DailyTransport: update start_dialout/start_recording return values
2025-10-29 16:25:13 -07:00
kompfner
8b739aa444
Merge pull request #2889 from pipecat-ai/pk/openai-realtime-universal-llmcontext-2
...
Support new `LLMContext` pattern with `OpenAIRealtimeLLMService`
2025-10-29 16:54:37 -04:00
Paul Kompfner
8f15980c67
Get rid of unnecessary new task in example file
2025-10-29 16:23:50 -04:00
Paul Kompfner
89e9acf0e1
CHANGELOG and code comment tweaks
2025-10-29 16:21:04 -04:00
Paul Kompfner
ddac24e6c9
Fix a missing space in a warning message
2025-10-29 16:17:05 -04:00
Paul Kompfner
d0f52feba3
OpenAI Realtime needs the assistant context aggregator to have expect_stripped_words=False
2025-10-29 16:15:16 -04:00
Paul Kompfner
8894db4290
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Add warning about no longer pushing `TTSTextFrame`s.
2025-10-29 15:45:06 -04:00
Paul Kompfner
1f96cdf970
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Make `LLMUserAggregator` push the `LLMSetToolsFrame`s, in case a speech-to-speech service that needs to handle the frame itself—like `OpenAIRealtimeLLMService`—is downstream. As far as I can tell, pushing `LLMSetToolsFrame` should otherwise have no unwanted side effects.
2025-10-29 15:43:51 -04:00
Paul Kompfner
0282033208
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Add `LLMContext.get_messages_for_persistent_storage()` for compatibility with `OpenAILLMContext`, to avoid tripping up users who we're unknowingly migrating to using `LLMContext`.
2025-10-29 15:43:51 -04:00
Paul Kompfner
917ea27352
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Update `AzureRealtimeLLMService` example (19a) to use new `LLMContext` pattern.
2025-10-29 15:43:51 -04:00
Paul Kompfner
8c03df1463
Update some docstring arg descriptions to be a bit more current or accurate
2025-10-29 15:43:51 -04:00
Paul Kompfner
15aa76efba
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Maintain backward compatibility with functions specified in dict format.
2025-10-29 15:43:51 -04:00
Paul Kompfner
8ac421f8fd
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Remove unused imports.
2025-10-29 15:43:51 -04:00
Paul Kompfner
75b3ea9c96
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Fix tracing.
2025-10-29 15:43:51 -04:00
Paul Kompfner
95be1510ac
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Improve `OpenAIRealtimeLLMAdapter.get_messages_for_logging()`.
2025-10-29 15:43:51 -04:00
Paul Kompfner
df19011080
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Improve warning about transcription frame direction change.
2025-10-29 15:43:51 -04:00
Paul Kompfner
e42cf78e79
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Update deprecation versions.
2025-10-29 15:43:51 -04:00
Paul Kompfner
0495de52b6
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Log warning about transcription frame direction change.
2025-10-29 15:43:51 -04:00
Paul Kompfner
9bc02afd0d
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
CHANGELOG tweak.
2025-10-29 15:43:51 -04:00
Paul Kompfner
6140fdb2c9
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
In anticipation of `messages` property being added to `LLMContext` (in another PR), remove warnings about the need to use `get_messages()` instead.
2025-10-29 15:43:51 -04:00
Paul Kompfner
b6a1886dae
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
2025-10-29 15:43:51 -04:00
Paul Kompfner
42d0a097c5
Tweaks to 20b example
2025-10-29 15:43:51 -04:00
Paul Kompfner
3761804146
Make OpenAIRealtimeLLMService's websocket send method more resilient. Previously, it was possible for a websocket send attempt to occur during a disconnect.
2025-10-29 15:43:51 -04:00
Paul Kompfner
46e97c57c2
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Update 20b example to use new `LLMContext` pattern.
2025-10-29 15:43:51 -04:00
Paul Kompfner
19770b76b4
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Add back file that was removed, when it should've just been deprecated.
Also, fix version numbers in deprecation messages to match the next expected release.
2025-10-29 15:43:51 -04:00
Paul Kompfner
b34461bf93
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
2025-10-29 15:43:47 -04:00
Paul Kompfner
bab0aaf585
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Update `create_context_aggregator()` (which we're keeping around for backward compatibility) to create a `LLMContextAggregatorPair` rather than OpenAI-Realtime-specific aggregators.
2025-10-29 15:36:58 -04:00
Paul Kompfner
61944d22ef
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Implement sending tool call results to the OpenAI server based on reading context updates. This lets us use the normal assistant context aggregator and not a special OpenAI Realtime subclass that pushes up a special frame for function call results.
2025-10-29 15:36:58 -04:00
Paul Kompfner
47756319be
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Receiving a new context (via a context frame) no longer serves as a signal to reset the conversation. That’s because we’re now receiving new contexts from the user aggregator every time new messages are added, and from the assistant aggregator when function call results come in. The code pattern we're heading towards, of “diffing” each new context with the previous on, sets us up for doing more sophisticated things in the future, like sending specific messages to OpenAI to edit its internally-tracked context.
Also, remove code that was directly modifying context.
2025-10-29 15:36:58 -04:00
Paul Kompfner
5fa56df014
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Update 19b example with new pattern.
2025-10-29 15:36:58 -04:00
Paul Kompfner
8a151235c3
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Deprecate `send_transcription_frames`—transcription frames are now always sent.
2025-10-29 15:36:57 -04:00
Paul Kompfner
ec42f8c24e
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Push `TranscriptionFrame`s upstream, to be handled by the user context aggregator. This will require at least a couple of other changes:
- Updating examples to put transcript processors upstream from `OpenAIRealtimeLLMService`
- Maybe figuring out a way to preserve backward compatibility with existing pipelines that put transcript processors downstream from `OpenAIRealtimeLLMService`
- Updating `OpenAIRealtimeLLMService` to ignore new received context frames, since the upstream user context aggregator will generate those after each newly-added user message; hopefully nobody was reliant on the old behavior of resetting the conversation upon receiving a new context!
2025-10-29 15:36:57 -04:00
Paul Kompfner
29fd17b9ff
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (cont'd).
...
Avoid pushing `LLMTextFrame` when `OpenAIRealtimeLLMService` is configured to output audio. This avoids duplicate text in assistant messages in context. Conceptually, a speech-to-speech service encapsulates TTS behavior; in a "traditional" pipeline, `LLMTextFrames` are swallowed by the TTS service, so they should similarly not be pushed by a speech-to-speech service. Only. `TTSTextFrame`s should be pushed.
2025-10-29 15:36:57 -04:00
Paul Kompfner
3ea1e357f2
Update OpenAIRealtimeLLMService to work with LLMContext and LLMContextAggregatorPair (initial part of work)
2025-10-29 15:36:57 -04:00
kompfner
351ef617ae
Merge pull request #2932 from pipecat-ai/pk/gemini-live-universal-llmcontext
...
Update `GeminiLLMService` to work with `LLMContext` and `LLMContextAg…
2025-10-29 15:35:13 -04:00
Paul Kompfner
9dafb715c4
Update some deprecation versions
2025-10-29 15:30:43 -04:00
Paul Kompfner
82d494d3d4
Fix a bug in GeminiLiveLLMService related to ending gracefully—i.e. waiting for the bot to stop responding before ending the pipeline—when the service is configured with the TEXT modality
2025-10-29 14:34:02 -04:00
Mark Backman
e893aaa620
Merge pull request #2931 from ivaaan/hume-bugfix
...
Hume: use Octave v1 if description provided
2025-10-29 13:40:21 -04:00
Paul Kompfner
65c17a698e
Whoops - fix a bug in GeminiLiveLLMService where we weren't checking if a tool call result was already handled before reporting it to the LLM
2025-10-29 12:44:00 -04:00
Paul Kompfner
615aae5b95
Fix GeminiLiveLLMService's sending of LLMFullResponseStartFrame and LLMFullResponseEndFrame so that they properly bookend responses.
...
Properly bookended responses now work with:
- AUDIO modality (validated with 26b example)
- TEXT modality (validated with 26d example)
- AUDIO modality with Vertex AI (validated with 26h example)
It doesn't seem that TEXT modality is supported with Vertex AI, hence the missing "quadrant" of validation.
2025-10-29 12:33:37 -04:00
Aaron Ng
b0acbeffb9
add sm-app param
2025-10-29 16:33:18 +00:00
Ivan A
2f1061f300
Merge branch 'main' into hume-bugfix
2025-10-29 17:06:50 +01:00
ivaaan
9307079af2
upd changelog
2025-10-29 17:05:41 +01:00
Mark Backman
efa64642a4
Merge pull request #2930 from pipecat-ai/mb/simli-constructor-update
...
Update Simli to align with Pipecat constructor norms
2025-10-29 11:50:11 -04:00
Mark Backman
ede6c32149
Update Simli to align with Pipecat constructor norms
2025-10-29 11:47:23 -04:00
Aaron Ng
4050e8b7dc
add speechmatics tts
2025-10-29 14:53:20 +00:00
Roshan
b0f5fc02c4
refactor: use Pydantic BaseModel for GenerationConfig and simplify model_dump()
...
- Change GenerationConfig from dataclass to Pydantic BaseModel for consistency
- Simplify _build_msg() to use model_dump(exclude_none=True) instead of manual field extraction
- Simplify HTTP run_tts() to use model_dump(exclude_none=True) instead of manual field extraction
This addresses feedback from code review and reduces code duplication.
2025-10-28 18:41:58 -07:00
Aleix Conchillo Flaqué
493d6bf91e
Merge pull request #2936 from pipecat-ai/aleix/daily-python-0.21.0
...
pyproject: update daily-python to 0.21.0
2025-10-28 18:25:25 -07:00
Aleix Conchillo Flaqué
aaebcae2e8
pyproject: update daily-python to 0.21.0
2025-10-28 17:23:37 -07:00
Roshan
408264a0fd
docs: update CHANGELOG.md for generation_config feature
2025-10-28 15:16:49 -07:00
Roshan
df8aa3e4b0
feat: add generation_config support for Cartesia Sonic-3
...
Add GenerationConfig dataclass with volume, speed, and emotion parameters
for Cartesia Sonic-3 TTS models. This enables fine-grained control over
speech generation including volume (0.5-2.0), speed (0.6-1.5), and
emotion (60+ options).
Changes:
- Add GenerationConfig dataclass with proper Google-style docstrings
- Update CartesiaTTSService.InputParams to include generation_config
- Update CartesiaHttpTTSService.InputParams to include generation_config
- Modify _build_msg() to include generation_config in WebSocket messages
- Modify run_tts() to include generation_config in HTTP requests
- Maintain backward compatibility with existing speed and emotion parameters
The legacy speed (literal strings) and emotion (list) parameters remain
available for non-Sonic-3 models.
2025-10-28 15:10:46 -07:00
Mark Backman
4d82a1260b
Merge pull request #2933 from pipecat-ai/mb/remove-aiohttp-session-sarvam
...
Remove aiohttp_session arg from SarvamTTSService
2025-10-28 16:54:56 -04:00
Paul Kompfner
f974c66e12
Update GeminiLLMService to work with LLMContext and LLMContextAggregatorPair
2025-10-28 15:46:28 -04:00
Mark Backman
533372ed37
Remove aiohttp_session arg from SarvamTTSService
2025-10-28 15:39:14 -04:00
ivaaan
a9118eb2cd
use Octave 1 if description provided
2025-10-28 20:36:34 +01:00
Aleix Conchillo Flaqué
84ed2468e5
Merge pull request #2924 from pipecat-ai/aleix/daily-transport-remove-join-timeout
...
DailyTransport: don't timeout prematurely on join
2025-10-28 10:43:28 -07:00
Aleix Conchillo Flaqué
d82d855c20
DailyTransport: don't timeout prematurely on leave
2025-10-28 10:41:19 -07:00
Mark Backman
412ff2a4a1
Merge pull request #2929 from pipecat-ai/mb/cartesia-sonic-3
...
Update Cartesia's default model to sonic-3
2025-10-28 13:07:28 -04:00
Mark Backman
82ccc160fb
Merge pull request #2923 from pipecat-ai/mb/runner-no-proxy-required
...
Remove development runner requirement for proxy
2025-10-28 11:59:38 -04:00
Mark Backman
9ef60bd468
Update Cartesia's default model to sonic-3
2025-10-28 11:49:54 -04:00
marcus-daily
06e86cc107
Add RTVIProcessor to foundational example 38b
2025-10-28 12:14:23 +00:00
Aleix Conchillo Flaqué
f3c4bf08dd
DailyTransport: don't timeout prematurely on join
2025-10-27 17:52:19 -07:00
Mark Backman
f2cfbee3c3
Remove development runner requirement for proxy
2025-10-27 16:18:31 -04:00
Vanessa Pyne
8b063116ab
Merge pull request #2921 from pipecat-ai/vp-azure-ex-cleanup
...
cleanup logger message
2025-10-27 12:59:08 -05:00
vipyne
8096e62b34
cleanup logger message
2025-10-27 11:27:30 -05:00
kompfner
20f4b0e8ff
Merge pull request #2914 from pipecat-ai/pk/gemini-function-calling-fixes
...
Gemini function calling fixes
2025-10-27 09:45:29 -04:00
Paul Kompfner
6feaf91789
Fix a bug in GeminiLLMAdapter's handling of Gemini-specific context messages
2025-10-27 09:42:24 -04:00
Mark Backman
91d3ae07b3
Merge pull request #2915 from Rickaym/fix--rounding-the-edges-of-observer-function-method-deprecation
...
fix: use correct property names
2025-10-24 19:42:34 -04:00
Pyae Sone Myo
71841f71ef
fix: use correct property names
2025-10-25 00:47:46 +06:30
Paul Kompfner
949b807023
Close genai client more gracefully to avoid printed warnings. We're now following the genai library guidance: https://github.com/googleapis/python-genai?tab=readme-ov-file#close-a-client
2025-10-24 11:36:25 -04:00
Paul Kompfner
4ad15f9a01
Update Gemini service to include function name when sending function responses in context
2025-10-24 11:04:52 -04:00
Paul Kompfner
99d94fc625
Update Gemini service to use "user" role for function responses, as shown in the Gemini docs
2025-10-24 10:05:14 -04:00
Mark Backman
a3d630c0d1
Merge pull request #2908 from pipecat-ai/mb/runner-daily-start-route
...
fix: add support for DAILY_SAMPLE_ROOM_URL when calling /start for Da…
2025-10-23 14:15:42 -04:00
Mark Backman
04b482c445
Merge branch 'main' into mb/runner-daily-start-route
2025-10-23 14:11:38 -04:00
Mark Backman
b2bce4916f
Merge pull request #2900 from pipecat-ai/mb/quickstart-pipecat-cli
...
Quickstart to use Pipecat CLI
2025-10-23 10:55:42 -04:00
Mark Backman
60e9817f16
fix: add support for DAILY_SAMPLE_ROOM_URL when calling /start for DailyTransport
2025-10-22 16:48:30 -04:00
kompfner
c655d0d313
Merge pull request #2907 from pipecat-ai/mb/service-switcher-updates
...
ServiceSwitcher updates
2025-10-22 11:23:48 -04:00
Paul Kompfner
ea6e146f2d
Update TestServiceSwitcher to exercise targeting system frames only to the active service
2025-10-22 11:14:27 -04:00
Mark Backman
ec890a834f
Rename to filter_system_frames
2025-10-22 11:01:33 -04:00
Mark Backman
5b921fc054
fix: FunctionFilter adds block_system_frame arg
2025-10-22 10:53:01 -04:00
Mark Backman
f1040100f4
Update ServiceSwitcher and LLMSwitcher docstrings
2025-10-22 10:51:03 -04:00
Mark Backman
54691ee781
Merge pull request #2904 from pipecat-ai/mb/bump-aws-sdk-bedrock-runtime
...
Upgrade aws_sdk_bedrock_runtime to v0.1.1
2025-10-22 08:58:48 -04:00
Mark Backman
49239a23c6
Upgrade aws_sdk_bedrock_runtime to v0.1.1
2025-10-21 23:27:38 -04:00
Aleix Conchillo Flaqué
e0c43de13f
Merge pull request #2903 from pipecat-ai/aleix/pipecat-0.0.91
...
update CHANGELOG for 0.0.91
2025-10-21 19:09:23 -07:00
Aleix Conchillo Flaqué
cc4c96d099
update CHANGELOG for 0.0.91
2025-10-21 19:00:51 -07:00
Aleix Conchillo Flaqué
788465cb04
Merge pull request #2901 from pipecat-ai/pk/llmcontext-messages
...
Add `messages` property to `LLMContext` for usage parity with `OpenAI…
2025-10-21 18:00:33 -07:00
Aleix Conchillo Flaqué
db934eade0
Merge pull request #2891 from pipecat-ai/aleix/daily-pipecat-runner-args
...
runner: allow starting a bot from Daily's /start endpoint
2025-10-21 17:59:13 -07:00
Mark Backman
0b8c966a11
Merge pull request #2892 from pipecat-ai/mb/aws-llm-claude-fix
...
fix: AWSBedrockLLMService compatibility for newer Claude models
2025-10-21 20:50:20 -04:00
Mark Backman
5849485bc6
fix: AWSBedrockLLMService compatibility for newer Claude models
2025-10-21 19:47:27 -04:00
Aleix Conchillo Flaqué
459af58540
runner: allow starting a bot from Daily's /start endpoint
2025-10-21 16:28:11 -07:00
Aleix Conchillo Flaqué
576bd67e85
runner: add body field to RunnerArguments
2025-10-21 16:27:48 -07:00
Aleix Conchillo Flaqué
1e8629bf96
runner: allow passing an api_key to configure
2025-10-21 16:27:48 -07:00
Paul Kompfner
776a3526f9
Add messages property to LLMContext for usage parity with OpenAILLMContext.
...
This wasn't really an issue before, when folks were *knowingly* migrating from `OpenAILLMContext` to `LLMContext`. But in the latest AWS Nova Sonic change, we're swapping it out from under folks, so this kind of compatibility is more important.
For context, the reason we *didn't* offer the `messages` property earlier was to aid in the development of `LLMContext`—we wanted to draw attention to all the places where messages were being read from context, so we could find the places where we might need to pass an argument to the read.
2025-10-21 17:38:39 -04:00
kompfner
2ced044418
Merge pull request #2896 from pipecat-ai/pk/add-back-types-that-were-meant-to-be-deprecated-not-removed
...
Add back types that were removed, when they should only have been dep…
2025-10-21 17:33:17 -04:00
Mark Backman
151f187837
Merge pull request #2895 from pipecat-ai/mb/update-env-example
...
Organize the env.example file
2025-10-21 17:15:22 -04:00
Mark Backman
67afa718d0
Merge pull request #2898 from pipecat-ai/mb/ellipses-changelog
...
Changelog entry for PR #2877
2025-10-21 17:02:08 -04:00
Mark Backman
52ab0eccc0
Quickstart to use Pipecat CLI
2025-10-21 15:57:45 -04:00
Vanessa Pyne
d1f1b68b71
Merge pull request #2863 from pipecat-ai/vp-custom-frame-processor-ex
...
add 08-custom-frame-processor.py to foundational examples
2025-10-21 14:15:38 -05:00
Mark Backman
a479c32665
Merge pull request #2894 from pipecat-ai/mb/cli-readme
...
Add Pipecat CLI to README's ecosystem section
2025-10-21 13:20:12 -04:00
Mark Backman
9f66b0ba41
Add Pipecat CLI to README's ecosystem section
2025-10-21 13:17:37 -04:00
vipyne
23385ca3d2
replace foundational example 08-bots-arguing.py with 08-custom-frame-processor.py
2025-10-21 11:56:35 -05:00
vipyne
8b24bae9c5
pr notes
2025-10-21 11:42:06 -05:00
Mark Backman
0502ec6c44
Changelog entry for PR #2877
2025-10-21 11:58:27 -04:00
Mark Backman
81645910e0
Merge pull request #2877 from nimobeeren/patch-1
...
Add ellipsis character to sentence ending punctuation list
2025-10-21 11:53:17 -04:00
Filipi da Silva Fuchter
d6ab4c41b0
Merge pull request #2897 from pipecat-ai/filipi/fix_proxy_route
...
Fixed an issue in the runner's proxy_request
2025-10-21 12:28:04 -03:00
Filipi Fuchter
2f92cb8781
Fixed an issue in the runner's proxy_request where a session that exists but has empty data was being treated as invalid.
2025-10-21 11:41:52 -03:00
Paul Kompfner
fbf274374c
Add back types that were removed, when they should only have been deprecated
2025-10-21 09:56:31 -04:00
Mark Backman
427efecf5b
Organize the env.example file
2025-10-21 09:43:46 -04:00
Filipi da Silva Fuchter
b3e54546ac
Merge pull request #2888 from pipecat-ai/filipi/rtvi_duplicated_frames
...
Fixed an issue where the RTVIProcessor was sending duplicate UserStartedSpeakingFrame and UserStoppedSpeakingFrame messages.
2025-10-21 08:57:32 -03:00
Filipi Fuchter
de46631bac
Fixed an issue where the RTVIProcessor was sending duplicate UserStartedSpeakingFrame and UserStoppedSpeakingFrame messages.
2025-10-20 18:39:00 -03:00
vipyne
abf0150261
add 47-custom-frame-processor.py to foundational examples
2025-10-20 12:11:40 -05:00
Aleix Conchillo Flaqué
a0c93ab6de
update CHANGELOG cosmetics
2025-10-20 09:07:50 -07:00
Aleix Conchillo Flaqué
4bec566bbf
Merge pull request #2885 from pipecat-ai/aleix/daily-python-0.20.0
...
pyproject: update daily-python to 0.20.0
2025-10-20 08:04:52 -07:00
Aleix Conchillo Flaqué
ec3cd24182
pyproject: update daily-python to 0.20.0
2025-10-20 08:04:34 -07:00
kompfner
e36e64c2e8
Merge pull request #2750 from pipecat-ai/pk/aws-nova-sonic-universal-llmcontext-1
...
Support new `LLMContext` pattern with `AWSNovaSonicLLMService`
2025-10-20 10:12:53 -04:00
Paul Kompfner
02a88022dd
Add a bit more detail to CHANGELOG related to AWSNovaSonicLLMService's support for LLMContext
2025-10-20 10:06:09 -04:00
Paul Kompfner
6cae61f2cc
Add a bit more detail to CHANGELOG entry about AWSNovaSonicLLMService's support for LLMContext
2025-10-20 09:50:23 -04:00
Paul Kompfner
3b40079120
Add a detailed warning when trying to import things from pipecat.services.aws_nova_sonic.context or pipecat.services.aws.nova_sonic.context
2025-10-20 09:49:05 -04:00
Paul Kompfner
ff0b38859b
Remove AWS Nova Sonic's context.py, which was always concerned with types for internal use only. Now those types are either gone or moved elsewhere.
2025-10-20 09:49:05 -04:00
Paul Kompfner
4d499324d1
Re-apply a change to AWSNovaSonicLLMService that was lost in a rebase
2025-10-20 09:49:05 -04:00
Paul Kompfner
f13e006db2
Bump version in deprecation message in docstring
2025-10-20 09:49:05 -04:00
Paul Kompfner
87d9e8c9cd
Re-apply a couple of recent changes to AWSNovaSonicLLMService that were lost in a rebase
2025-10-20 09:49:05 -04:00
Paul Kompfner
4820f1c059
Address some AWSNovaSonicLLMService context-recording edge cases
2025-10-20 09:49:05 -04:00
Paul Kompfner
860c39d1b1
Get rid of LLMContext.get_messages_for_persistent_storage().
...
The reason for its `system_instruction` argument was to support usage with LLMs where you might pass the system instruction as a parameter to the `LLMService` rather than specifying it in the context.
But as I thought about it more I became unconvinced that the `system_instruction` argument was really beneficial:
- If you specified your system instruction in your context in the first place, it'll still be there when you read messages for persistent storage
- If you didn't specify your system instruction in the context and instead passed it in as an `LLMService` parameter, you most likely *don't* want it to be in the context when you read messages for persistent storage
- ...and if you really really do need to inject it at the start of the context, it's quite easy to do anyway
And if we remove the `system_instruction` argument from `get_messages_for_persistent_storage()`, then it's essentially just `get_messages()`.
2025-10-20 09:49:05 -04:00
Paul Kompfner
ae5c5ed7f6
Update AWSNovaSonicLLMService to work with LLMContext and LLMContextAggregatorPair
2025-10-20 09:49:00 -04:00
shreyas-sarvam
5052da8ce6
Merge branch 'main' into sarvam/stt
2025-10-20 13:45:24 +05:30
Aleix Conchillo Flaqué
7aa01c1ca8
Merge pull request #2882 from pipecat-ai/aleix/base-transport-output-cleanup
...
base output transport cleanup
2025-10-18 07:38:13 -07:00
Mark Backman
4d6356748f
Merge pull request #2819 from shreyas-sarvam/sarvam/tts-v3
...
feat: Add support for bulbul:v3
2025-10-18 09:36:57 -04:00
Mark Backman
5b1a182421
Merge branch 'main' into sarvam/tts-v3
2025-10-18 09:34:10 -04:00
Mark Backman
6ac0c34413
Merge pull request #2879 from sam-s10s/fix/smx-vocab
...
Fix for SpeechmaticsSTTService AdditionVocabEntry entries
2025-10-18 09:27:23 -04:00
Mark Backman
c115422dbf
Merge pull request #2857 from dan-ince-aai/main
...
feat: add keyterms_prompt to AssemblyAI service
2025-10-18 09:20:43 -04:00
Mark Backman
a2a973be27
Merge pull request #2842 from nbyers-altira/fix-riva-segmented
...
Fix NVIDIA Riva Segmented STT by adding missing is_final parameter to _handle_transcription
2025-10-18 09:11:11 -04:00
Aleix Conchillo Flaqué
0407744950
BaseOutputTransport: simplify process_frame
2025-10-17 21:55:20 -07:00
Aleix Conchillo Flaqué
7ce370ccc6
BaseOutputTransport: simplify bot speaking logic
2025-10-17 15:13:20 -07:00
nbyers-altira
a4867f61aa
be a tad more precise in changelog
2025-10-17 13:51:49 -04:00
nbyers-altira
a67a765783
add changelog, run linter
2025-10-17 13:49:52 -04:00
nbyers-altira
81221668b1
Merge remote-tracking branch 'upstream/main' into fix-riva-segmented
2025-10-17 13:45:59 -04:00
Daniel Ince
cc9c264940
Merge branch 'main' into main
2025-10-17 15:15:36 +01:00
Sam Sykes
f2c61ac9fd
Fix for AdditionVocabEntry without sounds_like items.
2025-10-17 14:34:37 +01:00
Filipi da Silva Fuchter
88f8c10f63
Merge pull request #2875 from pipecat-ai/filipi/rtvi_routes
...
Creating the WebRTC routes that mimic the ones provided by Pipecat Cloud.
2025-10-17 10:13:45 -03:00
Filipi Fuchter
855f4842dd
Creating the WebRTC routes that mimic the ones provided by Pipecat Cloud.
2025-10-17 10:10:19 -03:00
Filipi da Silva Fuchter
2bf44fe2af
Merge pull request #2853 from pipecat-ai/filipi/trickle_ice
...
Adding support for trickle ice.
2025-10-17 09:00:32 -03:00
Filipi Fuchter
3e8a7cc254
Adding support for trickle ICE to the SmallWebRTCTransport.
2025-10-17 08:57:45 -03:00
Daniel Ince
a600c05570
Merge branch 'main' into main
2025-10-17 11:43:38 +01:00
dan-ince-aai
3ba6b55659
feat: multilingual + changelog updates
2025-10-17 11:38:03 +01:00
dan-ince-aai
d5f2dcfac0
lint
2025-10-17 11:32:06 +01:00
Nimo Beeren
d1d74c571c
add ellipsis character to sentence ending punctuation list
2025-10-17 10:38:06 +02:00
shreyas-sarvam
d12134038b
chore: Update CHANGELOG
2025-10-17 10:07:58 +05:30
shreyas-sarvam
a22af3a7e0
Merge branch 'main' into sarvam/stt
2025-10-17 10:00:49 +05:30
Aleix Conchillo Flaqué
76e07c6c48
Merge pull request #2870 from pipecat-ai/aleix/openaitts-update-settings
...
OpenAITTSService: allow updating instructions and speed
2025-10-16 13:21:12 -07:00
Aleix Conchillo Flaqué
8d8503bca7
OpenAITTSService: allow updating instructions and speed
2025-10-16 13:20:49 -07:00
Aleix Conchillo Flaqué
a444097060
Merge pull request #2872 from pipecat-ai/aleix/pipeline-task-cancellation-fixes
...
PipelineTask: fix task cancellation issues
2025-10-16 13:18:13 -07:00
Aleix Conchillo Flaqué
1b9e96c016
PipelineTask: fix task cancellation issues
2025-10-16 13:16:19 -07:00
Vanessa Pyne
7967bc53c3
Merge pull request #2868 from pipecat-ai/vp-whatsapp-dep-mv
...
only import whatsapp deps if using whatsapp runner
2025-10-16 14:16:28 -05:00
vipyne
6381335346
Add --whatsapp flag to runner
2025-10-16 14:15:26 -05:00
vipyne
0fd5d26104
add WHATSAPP_APP_SECRET to required whatsapp env vars
2025-10-16 10:37:56 -05:00
vipyne
41f817bf04
only import whatsapp deps if using whatsapp runner
2025-10-16 10:37:56 -05:00
Matej Marinko
9acc36c58e
Update model params for Soniox STT
...
- remove deprecated parameters and add new ones
- add support for v3 context
2025-10-16 08:51:40 +02:00
shreyas-sarvam
27115e6565
Merge branch 'main' into sarvam/tts-v3
2025-10-16 12:09:50 +05:30
shreyas-sarvam
1ecf6e05fe
Merge branch 'main' into sarvam/stt
2025-10-16 12:08:32 +05:30
Mark Backman
3c4807d7d4
Merge pull request #2859 from pipecat-ai/mb/openai-package-upgrade
...
Bump openai, openpipe versions, add 14x foundational example
2025-10-15 15:41:32 -04:00
Mark Backman
8902f1dc94
Bump openai, openpipe versions, add 14x foundational example
2025-10-15 15:17:22 -04:00
Mark Backman
a25333ee51
Merge pull request #2856 from pipecat-ai/mb/pr-2840-cleanup
...
Fix an issue in ElevenLabsHttpTTSService where the last word is not e…
2025-10-15 15:16:43 -04:00
Mark Backman
82c7d7ad83
Merge pull request #2867 from pipecat-ai/mb/update-moondream-readme
...
Update moondream chatbot README link
2025-10-15 15:16:19 -04:00
Mark Backman
ba2ab51ef7
Merge pull request #2866 from pipecat-ai/mb/add-sentry-foundational
...
Add foundation 47-sentry-metrics.py
2025-10-15 15:15:52 -04:00
Mark Backman
22557fa668
Fix an issue in ElevenLabsHttpTTSService where the last word is not emitted
2025-10-15 15:13:54 -04:00
Vanessa Pyne
3fbf59e7c6
Merge pull request #2864 from pipecat-ai/vp-trace-log
...
WhatsApp transport debug log -> trace log
2025-10-15 13:03:58 -05:00
vipyne
129ab5ea0e
WhatsApp transport debug log -> trace log
2025-10-15 13:02:57 -05:00
Aleix Conchillo Flaqué
dc917523d0
Merge pull request #2855 from pipecat-ai/aleix/stt-tts-connected-disconnected-events
...
services: added on_connected/on_disconnected events
2025-10-15 10:41:38 -07:00
Aleix Conchillo Flaqué
5ea7cc9d32
services: added on_connected/on_disconnected events
2025-10-15 10:39:31 -07:00
Mark Backman
e11ede475b
Update moondream chatbot README link
2025-10-15 13:22:56 -04:00
Mark Backman
90d29e04af
Merge pull request #2861 from pipecat-ai/mb/11labs-http-apply-text-normalization-fix
...
fix: set apply_text_normalization as request parameter in ElevenLabsH…
2025-10-15 12:59:36 -04:00
Mark Backman
4c67136a8d
Merge pull request #2858 from pipecat-ai/mb/daily-runner-room-properties
...
Add room_properties to the Daily runner configure() method
2025-10-15 12:58:18 -04:00
Mark Backman
9d78402a33
fix: set apply_text_normalization as request parameter in ElevenLabsHttpTTSService
2025-10-15 12:56:42 -04:00
Mark Backman
73877218e9
Add room_properties to the Daily runner configure() method
2025-10-15 12:55:19 -04:00
Mark Backman
6a1be90cbb
Merge pull request #2862 from pipecat-ai/mb/11labs-http-aggregate-sentences
...
Add aggregate_sentences arg to ElevenLabsHttpTTSService
2025-10-15 12:54:23 -04:00
Aleix Conchillo Flaqué
fbac959ecb
Merge pull request #2865 from pipecat-ai/aleix/stop-audio-filter-also-on-cancel
...
BaseInputTransport: stop audio filter on cancel
2025-10-15 09:53:24 -07:00
Aleix Conchillo Flaqué
18dd85431c
Merge pull request #2854 from pipecat-ai/aleix/cartesia-stt-service-websocket
...
CartesiaSTTService to inherit from WebsocketSTTService
2025-10-15 09:51:42 -07:00
Aleix Conchillo Flaqué
abc569b3d2
examples(foundational/07): use CartesiaSTTService
2025-10-15 09:46:57 -07:00
Mark Backman
fa5d4ecf86
Add foundation 47-sentry-metrics.py
2025-10-15 12:45:07 -04:00
Aleix Conchillo Flaqué
83b0dc39f7
BaseInputTransport: stop audio filter on cancel
2025-10-15 09:22:48 -07:00
Mark Backman
0c31b5ef19
Add aggregate_sentences arg to ElevenLabsHttpTTSService
2025-10-15 11:49:26 -04:00
dan-ince-aai
d16c36c56d
feat: add keyterms_prompt to AssemblyAI service
2025-10-15 14:27:52 +01:00
Mark Backman
8fe3bcd484
Merge pull request #2840 from Rickaym/fix--excess-space-in-elevelabs-word-timestamp-joins
...
fix: handle ElevenLabs partial word concatenation across alignment chunks gracefully
2025-10-15 09:01:05 -04:00
Aleix Conchillo Flaqué
be2858bfbb
CartesiaSTTService: inherit from WebsocketSTTService
2025-10-14 14:14:57 -07:00
Pyae Sone Myo
b6b0997553
fix: add support for partial words
2025-10-14 23:06:13 +06:30
Pyae Sone Myo
3b751322d3
fix: add interruption reset for partial word states
2025-10-14 23:04:09 +06:30
Aleix Conchillo Flaqué
fce6f55ddb
Merge pull request #2844 from pipecat-ai/aleix/runner-files-path
...
runner: allow subdirectories in --folder
2025-10-14 08:38:38 -07:00
Aleix Conchillo Flaqué
d9580f72a9
runner: allow subdirectories in --folder
2025-10-13 18:29:19 -07:00
nbyers-altira
cc66ac14f1
add is_final to segmented func. sig. instead so tracing is consistent
2025-10-13 10:48:41 -04:00
nbyers-altira
9ddec0f8b4
is_final is not part of the segmented _handle_transcription function signature
2025-10-13 10:44:25 -04:00
shreyas-sarvam
5cc1d8a024
refactor: Update dependencies and improve logging
2025-10-13 10:18:15 +05:30
shreyas-sarvam
9babfe9fd9
refactor: Improve code reability and replace deprecated interruption frames
2025-10-13 08:54:29 +05:30
Pyae Sone Myo
21d8d148b8
fix: handle partial words across alignment chunks gracefully
2025-10-12 22:10:11 +06:30
Aleix Conchillo Flaqué
0588c82bbf
Merge pull request #2838 from makosst/manta_graph_readme
...
Added Manta Graph to README
2025-10-11 09:31:21 -07:00
makosst
16e9093d5a
Added Manta Graph to README
2025-10-11 09:20:17 -07:00
Aleix Conchillo Flaqué
91a5d580fd
Merge pull request #2835 from pipecat-ai/aleix/tts-http-aligned-audio-frames
...
tts: fix RimeHttpTTSService/PiperTTSService 16-bit audio frames alignment
2025-10-10 14:20:44 -07:00
Aleix Conchillo Flaqué
0473556992
tts: fix RimeHttpTTSService/PiperTTSService 16-bit audio frames alignment
2025-10-10 14:19:22 -07:00
Aleix Conchillo Flaqué
fdaa4e476e
Merge pull request #2830 from pipecat-ai/aleix/pipecat-0.0.90
...
update CHANGELOG for 0.0.90
2025-10-10 10:22:26 -07:00
Aleix Conchillo Flaqué
502e7e42a7
update CHANGELOG for 0.0.90
2025-10-10 10:20:19 -07:00
kompfner
2ab3d4fb42
Merge pull request #2834 from pipecat-ai/pk/update-vertex-disclaimer
...
Update a Google Vertex disclaimer for accuracy
2025-10-10 13:19:51 -04:00
Paul Kompfner
55014bdd77
Update a Google Vertex disclaimer for accuracy
2025-10-10 13:18:03 -04:00
kompfner
334796bd65
Merge pull request #2833 from pipecat-ai/pk/vertex-non-optional-location
...
`location` should not be optional when using Google Vertex.
2025-10-10 13:02:40 -04:00
Paul Kompfner
1c25b6fb72
location should not be optional when using Google Vertex.
...
Also, update `GoogleVertexLLMService` initialization pattern in the example file.
2025-10-10 12:58:45 -04:00
Mark Backman
91b29de7ca
Merge pull request #2832 from pipecat-ai/mb/docs-fixes-0.0.90
...
Docs fixes for 0.0.90 release
2025-10-10 12:46:40 -04:00
Mark Backman
21d610cd30
Docs fixes for 0.0.90 release
2025-10-10 12:43:31 -04:00
Mark Backman
f7fe673ad1
Merge pull request #2831 from pipecat-ai/mb/update-evals
...
Update release evals for OpenAI Realtime, Gemini Live Vertex; shorten…
2025-10-10 12:34:27 -04:00
Mark Backman
4b415721e2
Update release evals for OpenAI Realtime, Gemini Live Vertex; shorten 26 foundational names
2025-10-10 12:26:23 -04:00
kompfner
8d2a98e0e7
Merge pull request #2829 from pipecat-ai/pk/fix-gemini-live-deprecation-messages
...
Fix deprecation messages pointing users to the new import paths for G…
2025-10-10 10:42:15 -04:00
Paul Kompfner
523e890c8c
Fix deprecation messages pointing users to the new import paths for Gemini Live
2025-10-10 10:30:38 -04:00
kompfner
3c748fe772
Merge pull request #2823 from pipecat-ai/pk/vertex-init-args-fixup
...
Move `location` and `project_id` out of `InputParams` in `GoogleVerte…
2025-10-10 10:18:51 -04:00
kompfner
d293cee372
Merge pull request #2822 from pipecat-ai/pk/make-pause-processing-frames-more-robust
...
Make `pause_processing_frames()` and `pause_processing_system_frames(…
2025-10-10 10:16:27 -04:00
Paul Kompfner
8b62a96878
Improve how we're deprecating location and project_id in GoogleVertexLLMService, allowing user code to (correctly) continue referring to GoogleVertexLLMService.InputParams.
...
Also fix the slightly wrong (but so far harmless) pattern of initializing `OpenAILLMService.InputParams()` in the `GoogleVertexLLMService` if `params` wasn't provided—we should be letting the superclass decide what to do if the argument isn't specified.
2025-10-10 10:12:00 -04:00
Mark Backman
0c102ce70b
Merge pull request #2826 from pipecat-ai/mb/deprecate-livekit-frame-serializer
...
Deprecate LivekitFrameSerializer
2025-10-10 10:01:45 -04:00
Mark Backman
3894d2a4b9
Deprecate LivekitFrameSerializer
2025-10-10 09:51:57 -04:00
Aleix Conchillo Flaqué
1f6b61c0db
Merge pull request #2828 from pipecat-ai/aleix/gemini-live-gemini-to-llm
...
google: rename google.gemini_live.gemini to google.gemini_live.llm
2025-10-10 06:42:51 -07:00
Aleix Conchillo Flaqué
8ee28b37cd
google: rename google.gemini_live.vertext to google.gemini_live.llm_vertex
2025-10-10 06:41:19 -07:00
Filipi da Silva Fuchter
e85e7e4d84
Merge pull request #2773 from pipecat-ai/filipi/krisp_viva
...
Added audio filter `KrispVivaFilter` using the Krisp VIVA SDK.
2025-10-10 09:51:15 -03:00
Filipi Fuchter
1b3afb5511
Added audio filter KrispVivaFilter using the Krisp VIVA SDK
2025-10-10 09:44:47 -03:00
Aleix Conchillo Flaqué
7cec013666
google: rename google.gemini_live.gemini to google.gemini_live.llm
2025-10-09 22:20:09 -07:00
Aleix Conchillo Flaqué
86127167fb
Merge pull request #2827 from pipecat-ai/aleix/openai-realtime-move
...
move openai_realtime to openai.realtime
2025-10-09 22:18:04 -07:00
Aleix Conchillo Flaqué
9935a68018
examples(19b): fix deprecations
2025-10-09 22:14:52 -07:00
Aleix Conchillo Flaqué
5679dde70f
ai_service: use openai.realtime.events instead of openai_realtime_beta.events
2025-10-09 22:14:46 -07:00
Aleix Conchillo Flaqué
d81b0f6368
update CHANGELOG with openai_realtime deprecation
2025-10-09 22:14:46 -07:00
Aleix Conchillo Flaqué
9698b008da
deprecate openai_realtime
2025-10-09 22:14:46 -07:00
Aleix Conchillo Flaqué
7b05c9283b
move openai.realtime.azure to azure.realtime.llm
2025-10-09 22:14:46 -07:00
Aleix Conchillo Flaqué
303dd2ec35
move openai.realtime.openai to openai.realtime.llm
2025-10-09 22:14:46 -07:00
Aleix Conchillo Flaqué
aa6e81648a
move openai_realtime to openai.realtime
2025-10-09 22:14:46 -07:00
Aleix Conchillo Flaqué
1a87870ef3
Merge pull request #2825 from pipecat-ai/aleix/aws-nova-sonic-move
...
move aws_nova_sonic to aws.nova_sonic
2025-10-09 18:37:46 -07:00
Aleix Conchillo Flaqué
aac4ce2d12
update CHANGELOG with aws_nova_sonic deprecation
2025-10-09 18:32:26 -07:00
Aleix Conchillo Flaqué
2a79b2c853
aws: deprecate aws_nova_sonic
2025-10-09 17:44:29 -07:00
Aleix Conchillo Flaqué
15bf5b1533
aws: move aws_nova_sonic to aws.nova_sonic
2025-10-09 17:35:47 -07:00
Aleix Conchillo Flaqué
cdc86db8ce
update CHANGELOG with GoogleVertexLLMService token fix
2025-10-09 16:58:22 -07:00
Aleix Conchillo Flaqué
9d2ad750b5
Merge pull request #2779 from LucasStringPay/patch-1
...
Ignore None value for 'completion_tokens' or similar for Gemini
2025-10-09 16:55:33 -07:00
Aleix Conchillo Flaqué
19ceb1a48f
Merge pull request #2817 from pipecat-ai/aleix/runner-download-folder
...
runner: add --folder argument to allow file downloads
2025-10-09 16:55:17 -07:00
Aleix Conchillo Flaqué
59217eae38
runner: add --folder argument to allow file downloads
2025-10-09 16:49:51 -07:00
Aleix Conchillo Flaqué
bea0aee835
Merge pull request #2824 from pipecat-ai/aleix/gemini-under-google
...
google: move gemini_live inside google service
2025-10-09 16:40:15 -07:00
Aleix Conchillo Flaqué
aeace9b9be
google: move gemini_live inside google service
2025-10-09 16:06:42 -07:00
Paul Kompfner
2994640f47
Move location and project_id out of InputParams in GoogleVertexLLMService, making them top-level init args instead. We do this for two reasons:
...
- Conceptually, these args comprise project-level setup, akin to credentials, whereas everything in `InputParams` is concerned with model configuration
- Providing a `project_id` when initializing `GoogleVertexLLMService` should not be optional, but prior to the change in this commit it was (erroneously) treated as optional by dint of `InputParams` being optional
This improvement was discussed [in this comment](https://github.com/pipecat-ai/pipecat/pull/2795#discussion_r2408279142 ).
2025-10-09 16:53:21 -04:00
Paul Kompfner
10069719e4
Make pause_processing_frames() and pause_processing_system_frames() more robust in FrameProcessor.
...
To understand this fix, let's look exclusively at `pause_processing_frames()` (`pause_processing_system_frames()` works the same way).
`pause_processing_frames()` works by setting a `__should_block_frames` flag, which is then read each time through the loop in the long-running `__process_frame_task_handler`. if `__should_block_frames` is `True`, it pauses processing frames until it's resumed.
Prior to this fix, the check for `__should_block_frames` was before `await self.__process_queue.get()`. The problem is that a lot of the time spent in the loop is waiting for a frame from the process queue. So if `pause_processing_frames()` is set at any time other than within `process_frame()` itself, it actually won't have an effect by the next frame, only on the frame *after* the next, which is later than intended.
Because thus far in the Pipecat codebase we've only ever called `pause_processing_frames()` and `pause_processing_system_frames()` from within `process_frame()`, this change should have no behavioral effect. But it will be helpful if we ever need to call it from anywhere else. I noticed this issue while developing a feature that did exactly that (though I later abandoned that code).
2025-10-09 15:57:31 -04:00
shreyas-sarvam
1e31fc7f9b
fix: Format errors
2025-10-09 22:09:25 +05:30
kompfner
046b76df60
Merge pull request #2820 from pipecat-ai/pk/gemini-live-vertex-support
...
Support Gemini Live + Vertex AI
2025-10-09 11:53:41 -04:00
Paul Kompfner
f2d9063984
Renames: remove "multimodal" from Gemini Live types
2025-10-09 10:58:36 -04:00
shreyas-sarvam
7c1e2793c5
feat: Add support for bulbul:v3 and bulbul:v3-beta
2025-10-09 18:26:22 +05:30
Paul Kompfner
99f008e927
Make a note in our examples that there's an issue with Gemini Live + Vertex around specifying a modality other than AUDIO
2025-10-08 21:03:07 -04:00
Paul Kompfner
2699f0c2a6
Fix tool calls when using Gemini Live + Vertex AI
2025-10-08 21:03:07 -04:00
Paul Kompfner
0b6dd98000
Make a note in our examples that there's an issue with Gemini Live + Vertex around using "google_search" alongside other tools
2025-10-08 21:03:07 -04:00
Paul Kompfner
a14fb20d15
Fix Gemini Live w/Vertex AI not being able to handle an empty list provided for "function_declarations"
2025-10-08 21:03:07 -04:00
Paul Kompfner
728361a6a7
Add GeminiVertexMultimodalLiveLLMService
2025-10-08 21:03:01 -04:00
kompfner
106db69e8e
Merge pull request #2816 from pipecat-ai/pk/gemini-live-await-ongoing-response-after-endframe
...
Implement ending `GeminiMultimodalLiveLLMService` gracefully (i.e. af…
2025-10-08 17:20:14 -04:00
Paul Kompfner
cf90071926
Format fix
2025-10-08 17:19:46 -04:00
Paul Kompfner
deaeb75a1f
Fix changelog after rebase (and add a missing item)
2025-10-08 17:16:31 -04:00
Paul Kompfner
a666327d70
Implement ending GeminiMultimodalLiveLLMService gracefully (i.e. after the bot is finished)
2025-10-08 17:13:04 -04:00
kompfner
13a0522546
Merge pull request #2804 from pipecat-ai/pk/gemini-live-session-resumption
...
Add (relatively spartan) reconnection logic to `GeminiMultimodalLiveLLMService`
2025-10-08 17:10:45 -04:00
Paul Kompfner
7da37a0d1f
Pull _connection_established_threshold and _max_consecutive_failures into file-level constants
2025-10-08 17:04:05 -04:00
Paul Kompfner
7efb22a323
Add (relatively spartan) reconnection logic to GeminiMultimodalLiveLLMService, leveraging the Gemini Live session resumption mechanism
2025-10-08 16:53:21 -04:00
kompfner
8084e2f909
Merge pull request #2776 from pipecat-ai/pk/gemini-live-gen-ai-library
...
Gemini Live service uses the `genai` library rather than WebSockets directly
2025-10-08 16:50:16 -04:00
Paul Kompfner
86127c6a6e
Add to the changelog the GeminiMultimodalLiveLLMService update to use google-genai
2025-10-08 16:46:41 -04:00
Paul Kompfner
402e019ae2
Make a bit of code clearer
2025-10-08 16:45:55 -04:00
Paul Kompfner
f09e4e238b
Fix some mishandling of enum values
2025-10-08 16:45:55 -04:00
Paul Kompfner
2921162b3b
Add deprecation warning around importing StartSensitivity and EndSensitivity from pipecat.services.gemini_multimodal_live.events
2025-10-08 16:45:55 -04:00
Paul Kompfner
ac1582c906
Let users directly use google-genai types rather than aliased re-exported types
2025-10-08 16:45:55 -04:00
Paul Kompfner
e4b01a5844
Bumping deprecation version of GeminiMultimodalLiveLLMService's base_url arg
2025-10-08 16:45:55 -04:00
Paul Kompfner
fa663abbbc
Add CHANGELOG entry for new GeminiMultimodalLiveLLMService configuration options
2025-10-08 16:45:55 -04:00
Paul Kompfner
d19e6111c3
Bumping deprecation version of GeminiMultimodalLiveLLMService's base_url arg
2025-10-08 16:45:55 -04:00
Paul Kompfner
8a6d504a7e
Add enable_affective_dialog and proactivity settings to GeminiMultimodalLiveLLMService
2025-10-08 16:45:55 -04:00
Paul Kompfner
43915937f2
Update how we import and re-export some types in GeminiMultimodalLiveLLMService
2025-10-08 16:45:55 -04:00
Paul Kompfner
48e92a22fe
Add thinking settings to GeminiMultimodalLiveLLMService
2025-10-08 16:45:55 -04:00
Paul Kompfner
566af6b0b8
Minor comment improvement
2025-10-08 16:45:55 -04:00
Paul Kompfner
12e7613d5f
Deprecate the base_url argument to GeminiMultimodalLiveLLMService.
...
It expected a WebSocket URL, but we're no longer (directly) using WebSockets to talk to Gemini. Instead of trying to (potentially erroneously) map a given custom WebSocket URL to an `HttpOptions` object (the new preferred way of customizing requests made by the Gemini API client), we're simply deprecating `base_url` and pointing users to the `http_options` argument instead.
2025-10-08 16:45:55 -04:00
Paul Kompfner
04a68f2c57
Fix tracing in GeminiMultimodalLiveLLMService
2025-10-08 16:45:55 -04:00
Paul Kompfner
9b4ca12f49
Revert to only supporting providing a single modality - looks like specifying a list of modalities results in an API error.
...
Also, fix some missing `await`s in error handling.
2025-10-08 16:45:55 -04:00
Paul Kompfner
453ce715a6
Add some error handling to GeminiMultimodalLiveLLMService
2025-10-08 16:45:55 -04:00
Paul Kompfner
d87b6189ba
Update GeminiMultimodalLiveLLMService to use the google-genai library, which is the new recommended approach for interfacing with Gemini Live.
2025-10-08 16:45:55 -04:00
Mark Backman
8293347b77
Merge pull request #2814 from pipecat-ai/mb/openai-service-tier
...
Add service_tier to BaseOpenAILLMService
2025-10-08 16:44:27 -04:00
Mark Backman
c85a3f0b94
Add service_tier to BaseOpenAILLMService
2025-10-08 16:33:36 -04:00
Aleix Conchillo Flaqué
233fb25e6c
Merge pull request #2810 from pipecat-ai/aleix/on-pipeline-error
...
PipelineTask: add on_pipeline_error event
2025-10-08 11:26:46 -07:00
Aleix Conchillo Flaqué
080978daa6
Merge pull request #2808 from pipecat-ai/aleix/readme-pipecat-tv
...
README: add Pipecat TV reference
2025-10-08 11:26:17 -07:00
Aleix Conchillo Flaqué
62b7c3d3b2
PipelineTask: add on_pipeline_error event
2025-10-07 18:36:38 -07:00
Mark Backman
4b2379cba8
Merge pull request #2798 from ivaaan/hume-rtvi
...
Hume add RTVI
2025-10-07 21:20:50 -04:00
Aleix Conchillo Flaqué
92087bdfa8
update CHANGELOG
2025-10-07 18:08:18 -07:00
Aleix Conchillo Flaqué
617919ac09
Merge pull request #2809 from pipecat-ai/aleix/revert-interruption-strategies-ordering
...
revert interruption strategies ordering
2025-10-07 18:07:07 -07:00
Aleix Conchillo Flaqué
0669daec3d
update CHANGELOG for 0.0.89
2025-10-07 17:44:10 -07:00
Aleix Conchillo Flaqué
7c15a8c800
Revert "fix context order when using interruption strategies"
...
This reverts commit de8ee96927 .
2025-10-07 17:42:35 -07:00
Aleix Conchillo Flaqué
066b77fba0
README: add Pipecat TV reference
2025-10-07 15:01:28 -07:00
Aleix Conchillo Flaqué
d9aef5f916
some last release CHANGELOG updates
2025-10-07 14:29:27 -07:00
Aleix Conchillo Flaqué
91ae3f8a9b
Merge pull request #2807 from pipecat-ai/aleix/pipecat-0.0.88
...
update CHANGELOG for 0.0.88
2025-10-07 14:16:05 -07:00
Aleix Conchillo Flaqué
36da623352
update CHANGELOG for 0.0.88
2025-10-07 14:12:12 -07:00
Filipi da Silva Fuchter
31b9087ea6
Merge pull request #2805 from pipecat-ai/filipi/allowing_update_smallwebrtc_properties
...
Allowing to update smallwebrtc and whatsapp properties.
2025-10-07 17:57:26 -03:00
Mark Backman
1851fed22e
Merge pull request #2806 from pipecat-ai/mb/deprecate-play-ht
...
Deprecate PlayHT TTS services
2025-10-07 16:44:53 -04:00
Mark Backman
eddce460da
Deprecate PlayHT TTS services
2025-10-07 16:40:01 -04:00
Filipi Fuchter
da4f30cb6d
Allowing to update smallwebrtc and whatsapp properties.
2025-10-07 17:28:14 -03:00
Mark Backman
250cf2d8f1
Merge pull request #2803 from pipecat-ai/mb/fix-11labs-stt-deprecation
...
Remove deprecation warning for ElevenLabsSTTService
2025-10-07 13:04:12 -04:00
Mark Backman
7bbdb4f991
Remove deprecation warning for ElevenLabsSTTService
2025-10-07 12:32:32 -04:00
Mark Backman
051c4782fb
Merge pull request #2802 from pipecat-ai/mb/fix-aws-nova-sonic
...
Fix AWS Nova Sonic authentication
2025-10-07 10:46:03 -04:00
Mark Backman
b1ccec74b2
Fix AWS Nova Sonic authentication
2025-10-07 09:48:18 -04:00
Filipi da Silva Fuchter
92bf0d9eda
Merge pull request #2794 from pipecat-ai/filipi/verifying_whatsapp_signature
...
Verifying WhatsApp signature to ensure the webhook request is from WhatsApp.
2025-10-07 08:57:47 -03:00
Aleix Conchillo Flaqué
f985550441
Merge pull request #2796 from pipecat-ai/aleix/fix-interruption-strategies-context-order
...
fix context order when using interruption strategies
2025-10-06 22:46:31 -07:00
Aleix Conchillo Flaqué
de8ee96927
fix context order when using interruption strategies
2025-10-06 22:43:01 -07:00
Aleix Conchillo Flaqué
2576d0f340
Merge pull request #2792 from pipecat-ai/aleix/google-nano-banana
...
GoogleLLMService: added support for image generation
2025-10-06 22:42:14 -07:00
ivaaan
f38f4711ac
wip
2025-10-06 20:24:27 -07:00
ivaaan
c2f3ddd329
add RTVI to Hume
2025-10-06 19:41:31 -07:00
ivaaan
73ffe96228
add RTVI to Hume
2025-10-06 19:37:05 -07:00
Aleix Conchillo Flaqué
bd13a80da7
pyproject: update google dependencies
2025-10-06 17:38:08 -07:00
Aleix Conchillo Flaqué
312959f97e
GoogleLLMService: update default model to gemini-2.5-flash
2025-10-06 17:38:08 -07:00
Aleix Conchillo Flaqué
fe168e3c68
GoogleLLMService: added support for image generation
2025-10-06 17:38:08 -07:00
Filipi Fuchter
28929a47f7
Verifying WhatsApp signature to ensure the webhook request is from WhatsApp.
2025-10-06 16:16:59 -03:00
Mark Backman
03f5defbc3
Merge pull request #2793 from pipecat-ai/mb/fix-flux-deprecation
...
Fix: Resolve Flux deprecation warning
2025-10-06 12:07:27 -04:00
Mark Backman
b216648315
Fix: Resolve Flux deprecation warning
2025-10-06 09:55:02 -04:00
Mark Backman
084b133a01
Merge pull request #2790 from pipecat-ai/add-security-md
...
Add SECURITY.md
2025-10-06 09:45:02 -04:00
Mark Backman
e589876176
Merge pull request #2786 from pipecat-ai/mb/nltk-download-error
...
Catch PermissionError when NLTK data can't be downloaded
2025-10-06 09:27:22 -04:00
Vanessa Pyne
a826313bf9
Add SECURITY.md
2025-10-05 13:24:47 -05:00
Mark Backman
49f44aa7c8
Catch PermissionError when NLTK data can't be downloaded
2025-10-04 08:41:32 -04:00
Mark Backman
64ceef9cf0
Merge pull request #2783 from pipecat-ai/mb/community-integrations-submission
...
Update to Community Integrations submission process
2025-10-03 12:41:13 -04:00
Mark Backman
cd6567c1f1
Update to Community Integrations submission process
2025-10-03 12:15:48 -04:00
Mark Backman
ac67ca1555
Merge pull request #2778 from pipecat-ai/mb/hume-cleanup
...
Tidying up the Hume example and service
2025-10-03 11:09:18 -04:00
mattie ruth backman
8d38994756
Transports now send InputTransportMessageFrames (not Urgent Frames)
2025-10-03 09:47:44 -04:00
LucasStringPay
607e3040d4
Ignore None 'completion_tokens' or similar
...
Similar as 144ea36c81 , reported in https://github.com/pipecat-ai/pipecat/issues/2207
2025-10-02 15:16:11 -07:00
Mark Backman
60604a9449
Tidying up the Hume example and service
2025-10-02 17:34:40 -04:00
Aleix Conchillo Flaqué
4abe4a6253
Merge pull request #2777 from pipecat-ai/aleix/readme-mention-tail
...
README: add tail terminal dashboard
2025-10-02 14:31:26 -07:00
Aleix Conchillo Flaqué
4c054af17b
README: remove setup editor instructions
2025-10-02 14:30:31 -07:00
Aleix Conchillo Flaqué
dcba940d42
README: add tail terminal dashboard
2025-10-02 14:27:55 -07:00
Mark Backman
ad2adb0c58
Merge pull request #2518 from zgreathouse/hume-tts-service
...
Hume tts service
2025-10-02 17:26:39 -04:00
ivaaan
76923010b5
upd Hume version to 2
2025-10-02 13:57:07 -07:00
ivaaan
1b511557b2
upd evals
2025-10-02 13:48:30 -07:00
ivaaan
fdadb12933
upd Changelog
2025-10-02 13:46:22 -07:00
ivaaan
f1bbb7ba22
Regenerate uv.lock after resolving merge conflicts
2025-10-02 13:44:07 -07:00
ivaaan
c1492c5275
fixes based on markbackman review
2025-10-02 13:38:36 -07:00
ivaaan
4ffdabcfde
add Hume example, small fixes
2025-10-02 13:38:36 -07:00
zach
b489de2fc3
adds hume tts service
2025-10-02 13:38:05 -07:00
zach
d9656cbb1a
add hume sdk for hume tts service
2025-10-02 13:38:05 -07:00
zach
05fb223985
Add hume to .env.example
2025-10-02 13:34:37 -07:00
Mark Backman
62a5f07ad2
Merge pull request #2701 from pipecat-ai/mb/third-party-integrations
...
Add a third-party integrations guide
2025-10-02 15:59:38 -04:00
Mark Backman
b669e3a481
Update name to Community Integrations and streamline guide
2025-10-02 15:54:04 -04:00
Mark Backman
99f1041a47
More review fixes
2025-10-02 14:48:12 -04:00
Mark Backman
37b1345bfa
Changes from review feedback
2025-10-02 14:48:12 -04:00
Mark Backman
8994ac17eb
Add a third-party integrations guide
2025-10-02 14:48:12 -04:00
Mark Backman
63bc825008
Merge pull request #2771 from pipecat-ai/mb/update-publish-workflows
...
Updates to publish workflows
2025-10-02 12:35:43 -04:00
Mark Backman
e7ffde1c4c
Merge pull request #2774 from pipecat-ai/mb/docs-fixes-0.0.87
...
Fix: Resolve docstring build issues before 0.0.87 release
2025-10-02 12:34:27 -04:00
Mark Backman
1c88565725
Merge pull request #2772 from pipecat-ai/mb/fix-openai-realtime-import
...
Fix: Change import for OpenAIRealtimeLLMContext in OpenAIRealtimeLLMS…
2025-10-02 12:34:16 -04:00
Aleix Conchillo Flaqué
07a6c2fb0e
Merge pull request #2775 from pipecat-ai/aleix/pipecat-0.0.87
...
update CHANGELOG for 0.0.87
2025-10-02 09:12:41 -07:00
Aleix Conchillo Flaqué
e99f3bf75a
update CHANGELOG for 0.0.87
2025-10-02 09:11:30 -07:00
Mark Backman
f09d780413
Fix: Resolve docstring build issues before 0.0.87 release
2025-10-02 10:09:25 -04:00
Mark Backman
e370d23374
Fix: Change import for OpenAIRealtimeLLMContext in OpenAIRealtimeLLMService
2025-10-02 09:39:44 -04:00
Mark Backman
b68ec14146
Updates to publish workflows
2025-10-02 08:25:35 -04:00
Filipi da Silva Fuchter
c567fd71b1
Merge pull request #2747 from pipecat-ai/filipi/whatsapp_runner
...
Creating the whatsapp routes inside the runner.
2025-10-01 21:21:34 -03:00
Filipi da Silva Fuchter
2ca1b2d6f8
Merge pull request #2612 from pipecat-ai/filipi/deepgram_flux
...
Integrating the new Deepgram model (Flux) with Pipecat
2025-10-01 21:20:47 -03:00
Mark Backman
04041a9a9a
Merge pull request #2757 from pipecat-ai/hush/retryTimeout
...
Fix AWS Bedrock timeout exception handling
2025-10-01 19:08:09 -04:00
Aleix Conchillo Flaqué
6c498dc70f
Merge pull request #2745 from pipecat-ai/aleix/transport-message-frames-deprecations
...
transport message frames deprecations
2025-10-01 16:05:55 -07:00
James Hush
32b07c1720
Fix AWS Bedrock timeout exception handling
...
- Use ReadTimeoutError and asyncio.TimeoutError which are the actual exceptions thrown by boto3
2025-10-01 19:04:35 -04:00
Aleix Conchillo Flaqué
ad507ce23d
FrameLogger: it's fine to print transport messages
2025-10-01 16:00:42 -07:00
Aleix Conchillo Flaqué
be562cedfc
DailyTransport: deprecate DailyTransportMessage(Urgent)Frame
2025-10-01 16:00:42 -07:00
Aleix Conchillo Flaqué
089e703e1f
LiveKitTransport: deprecate LiveKitTransportMessage(Urgent)Frame
2025-10-01 16:00:42 -07:00
Aleix Conchillo Flaqué
4dc1e15a99
frames: use OutputTransportMessage(Urgent)Frame instead of TransportMessage(Urgent)Frame
2025-10-01 16:00:42 -07:00
Aleix Conchillo Flaqué
c7dc2e886f
frames: use InputTransportMessageFrame instead of InputTransportMessageUrgentFrame
...
By default, input frames are already urgent.
2025-10-01 15:30:45 -07:00
Filipi Fuchter
11bc4ea854
Adding deepgram flux to release evals.
2025-10-01 19:24:58 -03:00
Mark Backman
029d76033d
Merge pull request #2765 from pipecat-ai/mb/remove-daily-logging-04a
...
Remove DailyLogLevel from 04a example
2025-10-01 17:52:33 -04:00
Aleix Conchillo Flaqué
924d7dea9a
Merge pull request #2766 from pipecat-ai/aleix/rtvi-properly-deprecate-errors-enabled
...
RTVIParams: properly deprecate errors_enabled
2025-10-01 14:49:12 -07:00
Aleix Conchillo Flaqué
244e94f3ce
RTVIParams: properly deprecate errors_enabled
2025-10-01 14:30:41 -07:00
Mark Backman
af1f51d49e
Remove DailyLogLevel from 04a example
2025-10-01 17:06:35 -04:00
Filipi da Silva Fuchter
9ba3c168b8
Merge pull request #2756 from pipecat-ai/filipi/esp32
...
SDP munging fixes.
2025-10-01 16:05:47 -03:00
Filipi Fuchter
e6ee8f7a16
New example using DeepgramFluxSTTService.
2025-10-01 15:43:25 -03:00
Filipi Fuchter
2ea2bd99e0
Deepgram Flux speech-to-text service implementation.
2025-10-01 15:43:09 -03:00
Filipi Fuchter
0c2ced7c52
Created WebsocketSTTService base class.
2025-10-01 15:42:56 -03:00
Filipi Fuchter
fb160646b8
Fixing the SDP munging to keep it working on Chrome.
2025-10-01 14:18:39 -03:00
Filipi da Silva Fuchter
89fed57af2
Merge pull request #2748 from pipecat-ai/filipi/remove_smallwebrtc_queue
...
Removing the message queue inside the SmallWebRTCConnection.
2025-10-01 08:07:47 -03:00
Aleix Conchillo Flaqué
feae3b6d2d
Merge pull request #2742 from pipecat-ai/aleix/deprecate-daily-update-remote-participants-frame
...
DailyTransport: deprecated DailyUpdateRemoteParticipantsFrame
2025-09-30 16:27:34 -07:00
Aleix Conchillo Flaqué
92d3be8975
DailyTransport: deprecated DailyUpdateRemoteParticipantsFrame
2025-09-30 16:26:48 -07:00
Aleix Conchillo Flaqué
0f53e1db2c
Merge pull request #2759 from pipecat-ai/aleix/dont-cancel-if-finished
...
PipelineTask: avoid cancellation if application is finished
2025-09-30 16:21:16 -07:00
Aleix Conchillo Flaqué
d398e8cc10
Merge pull request #2761 from pipecat-ai/aleix/rtvi-tail-updates
...
RTVI updates: audio levels and system logs
2025-09-30 13:55:17 -07:00
Aleix Conchillo Flaqué
e5f263d380
update CHANGELOG
2025-09-30 13:51:35 -07:00
Aleix Conchillo Flaqué
3a4c303c54
RTVIParams: add errors_enabled deprecation warnings
2025-09-30 13:49:51 -07:00
Mark Backman
54a1ef47d0
Merge pull request #2758 from pipecat-ai/mb/claude-sonnet-4.5
...
Update AnthropicLLMService to use claude-sonnet-4-5-20250929
2025-09-30 16:42:47 -04:00
Aleix Conchillo Flaqué
149ffa4f3c
RTVIObserver: add support system logs
2025-09-30 13:42:40 -07:00
Aleix Conchillo Flaqué
e5465034d9
RTVIObserver: add support for user/bot audio levels
2025-09-30 13:41:26 -07:00
Aleix Conchillo Flaqué
568c7c782d
rtvi: allow None RTVIProcessor and rename to send_rtvi_message()
2025-09-30 13:35:27 -07:00
Aleix Conchillo Flaqué
9851334221
rtvi: deprecate errors_enabled and always send errors
2025-09-30 13:31:30 -07:00
Aleix Conchillo Flaqué
e79c4fc99d
PipelineTask: avoid cancellation if application is finished
2025-09-30 13:18:25 -07:00
Aleix Conchillo Flaqué
55c321f4ff
Merge pull request #2751 from pipecat-ai/aleix/nova-sonic-disconnect-fix
...
AWSNovaSonicLLMService: add missing await
2025-09-30 13:12:22 -07:00
kompfner
a14a53a005
Merge pull request #2735 from pipecat-ai/pk/remove-openaillmcontext-usage
...
Remove remaining usage of `OpenAILLMContext` throughout the codebase …
2025-09-30 10:09:25 -04:00
Mark Backman
a71f937e8f
Update AnthropicLLMService to use claude-sonnet-4-5-20250929
2025-09-30 08:49:30 -04:00
Filipi Fuchter
032032df65
Only remove ESP32 ICE candidates if host is defined.
2025-09-29 15:42:23 -03:00
Mark Backman
d0178edad0
Merge pull request #2753 from pipecat-ai/mb/quickstart-0.0.86
...
Quickstart: Update to 0.0.86, removing pytorch requirements
2025-09-29 09:43:33 -04:00
Mark Backman
795c5e55d9
Quickstart: Update to 0.0.86, removing pytorch requirements
2025-09-27 08:30:37 -04:00
Aleix Conchillo Flaqué
8f8d8ae0d8
AWSNovaSonicLLMService: add missing await
2025-09-26 15:58:05 -07:00
Vanessa Pyne
741f192d04
Merge pull request #2096 from pipecat-ai/vp-mcp-ex-nit
...
mcp examples: check for env vars needed for examples
2025-09-26 10:21:22 -05:00
Filipi Fuchter
a5595b82ea
removing the message queue inside the SmallWebRTCConnection.
2025-09-26 11:02:17 -03:00
Filipi Fuchter
4d1915eb41
Fixing ruff format.
2025-09-26 10:49:52 -03:00
Filipi Fuchter
b3a84fc772
Refactoring how we are handling the lifespan inside the runner.
2025-09-26 10:47:04 -03:00
Filipi Fuchter
403d22e62c
Creating the whatsapp routes inside the runner.
2025-09-26 10:28:19 -03:00
Aleix Conchillo Flaqué
ee00ee5c57
Merge pull request #2744 from pipecat-ai/aleix/vad-analyzer-thread-executor
...
BaseInputTransport: create VAD thread in VADAnalyzer
2025-09-25 13:43:34 -07:00
Aleix Conchillo Flaqué
f53fd880dc
BaseInputTransport: create VAD thread in VADAnalyzer
...
We move the thread creation to the VADAnalyzer instead of the input
transport. This can potentially be useful if we need to analyze multiple audio
streams.
2025-09-25 13:41:20 -07:00
Aleix Conchillo Flaqué
de3461e4cc
Merge pull request #2743 from pipecat-ai/aleix/turn-analyzer-fixes
...
turn analyzer fixes
2025-09-25 13:40:43 -07:00
Aleix Conchillo Flaqué
7bafc3a1bb
BaseSmartTurn: process speech in a separate thread
2025-09-25 13:37:28 -07:00
Aleix Conchillo Flaqué
22ef61fe8d
BaseTurnAnalyzer: add BaseTurnParams base class for parameters
2025-09-25 13:37:09 -07:00
Aleix Conchillo Flaqué
7078fb53bd
Merge pull request #2738 from pipecat-ai/aleix/openai-cached-tokens-metrics
...
BaseOpenAILLMService: include cached tokens to metrics frame
2025-09-25 13:36:03 -07:00
Aleix Conchillo Flaqué
33447ad6f2
BaseOpenAILLMService: include cached tokens to metrics frame
2025-09-24 19:32:16 -07:00
Paul Kompfner
6faa50ae5b
Remove remaining usage of OpenAILLMContext throughout the codebase in favor of LLMContext, except for:
...
- Usage in classes that are already deprecated
- Usage related to realtime LLMs, which don't yet support `LLMContext`
- Usage in (soon-to-be-deprecated) code paths related to `OpenAILLMContext` itself and associated machinery
2025-09-24 16:35:03 -04:00
Aleix Conchillo Flaqué
3797f41c8c
Merge pull request #2734 from pipecat-ai/aleix/pipecat-0.0.86
...
update CHANGELOG for 0.0.86
2025-09-24 12:19:16 -07:00
Aleix Conchillo Flaqué
ff919b8c15
update CHANGELOG for 0.0.86
2025-09-24 11:28:14 -07:00
Aleix Conchillo Flaqué
cb048d6c7e
Merge pull request #2733 from pipecat-ai/aleix/tavus-missing-daily-callback
...
TavusTransport: add missing on_before_leave callback
2025-09-24 11:10:32 -07:00
Aleix Conchillo Flaqué
6c2c43ade0
Merge pull request #2724 from pipecat-ai/pk/update-natural-conversation-examples-with-universal-context
...
Update natural conversation examples with universal context
2025-09-24 11:07:50 -07:00
Aleix Conchillo Flaqué
f899c15b03
Merge pull request #2731 from pipecat-ai/pk/update-example-25-to-use-universal-context
...
Update example 25 to use universal `LLMContext`
2025-09-24 11:05:36 -07:00
Aleix Conchillo Flaqué
d10ef08775
Merge pull request #2727 from pipecat-ai/pk/strands-agents-needs-to-support-openaillmcontextframe-for-now
...
`StrandsAgentsProcessor` should still support `OpenAILLMContextFrame`…
2025-09-24 11:05:07 -07:00
Aleix Conchillo Flaqué
27a5af6fa1
Merge pull request #2728 from pipecat-ai/pk/fix-playht-in-env-example
...
Fix PlayHT env variable names in env.example
2025-09-24 11:04:55 -07:00
Aleix Conchillo Flaqué
4bff0a7c49
Merge pull request #2732 from pipecat-ai/pk/update-voicemail-detector-to-use-llm-context
...
Update `VoicemailDetector` to use universal `LLMContext`
2025-09-24 11:04:42 -07:00
Aleix Conchillo Flaqué
508f7d203d
Merge pull request #2729 from pipecat-ai/aleix/frame-processor-cancel-default-timeout
...
FrameProcessor: timeout when cancelling tasks
2025-09-24 10:55:52 -07:00
Filipi da Silva Fuchter
0f87d5342c
Merge pull request #2266 from pipecat-ai/filipi/hey_gen_transport
...
HeyGen implementation for Pipecat - HeyGenTransport
2025-09-24 14:35:50 -03:00
Filipi Fuchter
f6164e3bde
HeyGen implementation for Pipecat - HeyGenTransport.
2025-09-24 14:33:56 -03:00
Aleix Conchillo Flaqué
1a0fb55d0f
TavusTransport: add missing on_before_leave callback
2025-09-24 10:18:56 -07:00
Paul Kompfner
6d0beef944
Update VoicemailDetector to use universal LLMContext
2025-09-24 12:58:42 -04:00
Paul Kompfner
b9fd6b873b
Update comment in example 07b to reference LLMContext rather than OpenAILLMContext
2025-09-24 12:49:34 -04:00
Paul Kompfner
dea0f1791f
Update OpenAILLMAdapter.get_messages_for_logging() to truncate "input_audio" message data
2025-09-24 12:41:41 -04:00
Paul Kompfner
da66c38795
Update example 25 to use universal LLMContext
2025-09-24 12:37:29 -04:00
Paul Kompfner
912f8b96f0
Fix PlayHT env variable names in env.example
2025-09-24 11:24:35 -04:00
Aleix Conchillo Flaqué
f9eb447d82
FrameProcessor: timeout when cancelling tasks
2025-09-24 08:24:28 -07:00
Paul Kompfner
65f5fe8588
StrandsAgentsProcessor should still support OpenAILLMContextFrame until that frame has been deprecated
2025-09-24 11:05:27 -04:00
Paul Kompfner
817c77f3fe
Update SmallWebRTCTransport to pass a sender ID in the "on_app_message" event
2025-09-24 10:24:59 -04:00
Paul Kompfner
8896179b00
Update another "natural conversation" example to use universal LLMContext. Note that this one had to also be fixed in various ways, as it wasn't working.
2025-09-24 09:55:11 -04:00
Filipi da Silva Fuchter
463752360b
Merge pull request #2726 from pipecat-ai/mb/twilio-serializer-cleanup
...
Fixup for TwilioFrameSerializer
2025-09-24 10:45:38 -03:00
Paul Kompfner
66b7977a62
Make SmallWebRTCTransport adhere to the expected "on_app_message" event signature
2025-09-24 09:34:28 -04:00
Mark Backman
468de68aec
Fixup for TwilioFrameSerializer
2025-09-24 09:32:46 -04:00
Mark Backman
c4762c1a92
Merge pull request #2627 from jessieweiyi/main
...
Support TwilioFrameSerializer region/edge settings. Close #2625 .
2025-09-24 09:13:10 -04:00
Aleix Conchillo Flaqué
7f4d3a2f02
pyproject: updated sentry to 2.38.0
2025-09-23 19:12:03 -07:00
Jessie Wei
88614b312f
Merge branch 'pipecat-ai:main' into main
2025-09-24 10:23:52 +10:00
Jessie Wei
5b4655f45a
chore: Update per review comments
2025-09-24 00:22:56 +00:00
Aleix Conchillo Flaqué
d7c8f8df53
update CHANGELOG with AudioBufferProcessor fixes
2025-09-23 15:42:01 -07:00
Aleix Conchillo Flaqué
2571cb2e69
tests: fix formatting
2025-09-23 15:28:07 -07:00
Aleix Conchillo Flaqué
15782be27c
Merge pull request #2676 from golbin/main
...
Fix audio buffer flush and silence handling
2025-09-23 15:27:31 -07:00
Aleix Conchillo Flaqué
997e4b66c6
Merge pull request #2722 from pipecat-ai/aleix/strands-agents-update-and-evals
...
examples: update Strands Agents with universal context and add evals
2025-09-23 15:21:41 -07:00
Paul Kompfner
6ccbfd9b57
Update "natural conversation" examples to use universal LLMContext
2025-09-23 16:20:16 -04:00
Paul Kompfner
677f69971c
Add filters in 22b and 22c examples to prevent function call results triggering the "statement judge" LLM from running unnecessarily, and with the wrong system prompt, which would result in garbled output statements comprised of both LLMs outputs combined
2025-09-23 16:14:58 -04:00
Paul Kompfner
678dd22b8e
Add missing sender argument to a few "on_app_message" handlers in examples
2025-09-23 15:29:20 -04:00
kompfner
0bba02028d
Merge pull request #2721 from pipecat-ai/pk/update-persistent-storage-examples-to-use-universal-llmcontext
...
Update persistent conversation storage examples to use universal `LLM…
2025-09-23 15:18:21 -04:00
Aleix Conchillo Flaqué
620b1f785c
examples: update Strands Agents with universal context and add evals
2025-09-23 11:37:57 -07:00
Paul Kompfner
780e91eb91
Update persistent conversation storage examples to use universal LLMContext.
...
Note that `LLMContext` doesn't have a `get_messages_for_persistent_storage()`; the messages are already in the "standard" format so they can be used directly for storage.
2025-09-23 14:16:35 -04:00
Aleix Conchillo Flaqué
667569ef47
Merge pull request #2708 from pipecat-ai/aleix/base-output-transport-only-push-if-send-successful
...
BaseOutputTransport: only push downstream if transport write successful
2025-09-23 11:10:29 -07:00
Aleix Conchillo Flaqué
17ea0afa6f
StrandsAgentsProcessor: more formatting fixes
2025-09-23 11:05:14 -07:00
Aleix Conchillo Flaqué
3fc5214c15
BaseOutputTransport: only push downstream if transport write successful
...
Fixes #2589
2025-09-23 11:04:37 -07:00
kompfner
1636c48ab9
Merge pull request #2720 from pipecat-ai/pk/update-changelog-with-additional-llmcontext-support
...
Update CHANGELOG with additional `LLMContext` support
2025-09-23 13:46:20 -04:00
Paul Kompfner
c3a2fa100c
Update CHANGELOG with additional LLMContext support
2025-09-23 13:45:49 -04:00
kompfner
8649368337
Merge pull request #2719 from pipecat-ai/pk/update-more-examples-to-use-universal-llmcontext
...
Update more examples to use universal `LLMContext`. Specifically, upd…
2025-09-23 13:44:20 -04:00
Aleix Conchillo Flaqué
781366627c
updated CHANGELOG with Strands Agents
2025-09-23 10:41:35 -07:00
Aleix Conchillo Flaqué
f6b4db42ef
pyproject: add strands-agents
2025-09-23 10:39:06 -07:00
Aleix Conchillo Flaqué
ed64716219
StrandsAgentsProcessor: fix formatting
2025-09-23 10:38:31 -07:00
Aleix Conchillo Flaqué
5c22b2e1de
Merge pull request #2610 from adithyaxx/add-strands-processor
...
Add native Strands Agents support to Pipecat
2025-09-23 10:33:22 -07:00
Paul Kompfner
d4b1e1ab41
Update more examples to use universal LLMContext. Specifically, update examples we didn't update before because they weren't using ToolsSchema for their tool definitions, which is a requirement for using LLMContext.
...
NOTE: oops! Turns out some of these files had *already* been updated to use universal `LLMContext` even though they weren't yet using `ToolsSchema`. This commit should fix those examples.
2025-09-23 12:41:35 -04:00
Mark Backman
fafe0cc4a3
Merge pull request #2718 from lshaun/fix-openai-deprecation-warning
...
update imports to avoid deprecated module
2025-09-23 12:29:16 -04:00
Mark Backman
40c82a8530
Merge pull request #2716 from pipecat-ai/mb/add-11labs-stt
...
Add ElevenLabsSTTService
2025-09-23 12:21:08 -04:00
lshaun
98d3686861
update imports to avoid deprecated module
2025-09-23 15:58:09 +00:00
kompfner
88337fc21f
Merge pull request #2717 from pipecat-ai/pk/mem0-support-univeral-context
...
Add support for universal `LLMContext` to `Mem0MemoryService`
2025-09-23 11:54:55 -04:00
kompfner
928c0ef1b4
Merge pull request #2715 from pipecat-ai/pk/langchain-processor-support-univeral-context
...
Add support for universal `LLMContext` to `LangchainProcessor`
2025-09-23 11:54:44 -04:00
kompfner
1f005e7075
Merge pull request #2714 from pipecat-ai/pk/gated-openai-llm-context-aggregator-support-univeral-context
...
Add support for universal `LLMContext` to `GatedOpenAILLMContextAggre…
2025-09-23 11:54:26 -04:00
kompfner
2cee6229ae
Merge pull request #2713 from pipecat-ai/pk/log-observer-support-univeral-context
...
Add support for universal `LLMContext` to `LLMLogObserver`
2025-09-23 11:54:11 -04:00
Aleix Conchillo Flaqué
10e9371f49
Merge pull request #2712 from pipecat-ai/aleix/pipeline-runner-signals-windows
...
PipelineRunner: use signal.signal() on Windows
2025-09-23 08:28:26 -07:00
Paul Kompfner
e21ab89509
Add support for universal LLMContext to Mem0MemoryService
2025-09-23 10:35:54 -04:00
Mark Backman
cbce2075eb
Add ElevenLabsSTTService
2025-09-23 10:27:31 -04:00
Paul Kompfner
97868175e6
Add support for universal LLMContext to LangchainProcessor
2025-09-23 10:00:48 -04:00
Paul Kompfner
99731ca40a
Add support for universal LLMContext to GatedOpenAILLMContextAggregator, renaming it to GatedLLMContextAggregator in the process
2025-09-23 09:52:13 -04:00
Paul Kompfner
f96cbcce22
Add support for universal LLMContext to LLMLogObserver
2025-09-23 09:30:14 -04:00
kompfner
a19b9f70c0
Merge pull request #2706 from pipecat-ai/pk/update-examples-to-use-universal-llm-context
...
Update examples, wherever possible, to use `LLMContext` and associate…
2025-09-23 09:20:39 -04:00
Filipi da Silva Fuchter
9b4f1bdf39
Merge pull request #2705 from tzookb/tzookb/latency-logging
...
update UserBotLatencyLogObserver to have logging in functions that can be overidden
2025-09-23 09:46:20 -03:00
Filipi Fuchter
6b2bf8de64
Fixing the ruff format and making the methods sync.
2025-09-23 09:41:50 -03:00
Filipi da Silva Fuchter
33481c6614
Merge pull request #2672 from pipecat-ai/filipi/pcc_small_webrtc_2
...
Monitoring the peer connection while it is in the *connecting* state.
2025-09-23 08:32:16 -03:00
Filipi Fuchter
a5776b20ad
Monitoring the peer connection while it is in the *connecting* state.
2025-09-23 08:30:17 -03:00
Filipi da Silva Fuchter
e286e015cf
Merge pull request #2687 from pipecat-ai/memory_leak
...
Improving memory cleanup
2025-09-23 08:13:05 -03:00
Filipi Fuchter
a7bfac8d68
Mentioning the memory cleanups in the changelog.
2025-09-23 08:09:31 -03:00
Filipi Fuchter
1647b5b665
Created a new example using the video processor to make it easier to investigate memory leaks.
2025-09-23 08:05:28 -03:00
Filipi Fuchter
eaecefe675
Refactoring how we are reading the image bytes inside the base llm.
2025-09-23 08:05:15 -03:00
Filipi Fuchter
7c569b3863
Calling task_done when reading the audio from the queue.
2025-09-23 08:04:06 -03:00
Filipi Fuchter
8bf6a4c66f
Improving memory cleanup inside the SmallWebRTCTransport.
2025-09-23 08:03:55 -03:00
Filipi Fuchter
1df3660186
Not storing anymore the last frames received to display them in the idle processor.
2025-09-23 08:03:35 -03:00
Aleix Conchillo Flaqué
75c0b089e0
PipelineRunner: use signal.signal() on Windows
2025-09-22 22:38:12 -07:00
Aleix Conchillo Flaqué
d8f3d4dd32
Merge pull request #1874 from nischalj10/patch-1
...
added deepwiki badge for weekly repo refresh
2025-09-22 17:44:08 -07:00
Aleix Conchillo Flaqué
c5e53bb84f
Merge pull request #2707 from pipecat-ai/aleix/daily-transport-deprecated-mistake
...
DailyTransport: remove deprecated note and double registration
2025-09-22 17:01:09 -07:00
Aleix Conchillo Flaqué
b04e494373
DailyTransport: remove deprecated note and double registration
2025-09-22 16:45:58 -07:00
Jessie Wei
392293d55f
Merge branch 'pipecat-ai:main' into main
2025-09-23 07:48:45 +10:00
Paul Kompfner
272532a3ea
Update examples, wherever possible, to use LLMContext and associated machinery instead of OpenAILLMContext and associated machinery.
...
With all these examples updated, we no longer need dedicated examples illustrating `LLMContext`, so they're removed.
Here’s where we *don’t* yet use `LLMContext` and associated machinery:
- Realtime services: OpenAI Realtime, Gemini Live, and AWS Nova Sonic (support coming soon)
- `GoogleLLMOpenAIBetaService` (it’s deprecated, so we didn’t bother adding support)
- `LLMLogObserver` (support coming soon)
- `GatedOpenAILLMContextAggregator` (support coming soon)
- `LangchainProcessor` (support coming soon)
- `Mem0MemoryService` (support coming soon)
- Examples that use LLM-specific tools definitions as opposed to `ToolsSchema` (these will be updated soon)
- Examples that rely `GoogleLLMContext.upgrade_to_google` (TBD what to do with these)
Examples that use `LLMLogObserver`:
- 30-
Examples that use `GatedOpenAILLMContextAggregator`:
- 22-
Examples that use `LangchainProcessor`:
- 07b-
Examples that use `Mem0MemoryService`:
- 37-
Examples that need updating to use `ToolsSchema`:
- 15-
- 15a-
- 20a-
- 20c-
- 20d-
- 22b-
- 22c-
- 33-
- 36-
Examples that use `GoogleLLMContext.upgrade_to_google`:
- 22d-
- 25-
2025-09-22 16:21:35 -04:00
Tzook Bar Noy
3d04f565ec
update latency observer logging to be in unique funcs, so others could extend and overwrite
2025-09-22 15:38:29 -04:00
Filipi da Silva Fuchter
d0477edb6a
Merge pull request #2696 from pipecat-ai/filipi/inworld_default_temperature
...
Changing InworldTTSService default temperature to 1.1
2025-09-22 09:33:52 -03:00
Filipi Fuchter
326bfe4239
Removing the temperature from InworldTTSService example.
2025-09-22 09:30:53 -03:00
Aleix Conchillo Flaqué
3cb78d839d
examples(foundational): update comment in 45-before-and-afet-events.py
2025-09-20 10:33:52 -07:00
Aleix Conchillo Flaqué
9129e44c05
Merge pull request #2697 from pipecat-ai/aleix/frame-processor-before-after-events
...
FrameProcessor: add before/after events for processed/pushed frames
2025-09-20 10:26:37 -07:00
Aleix Conchillo Flaqué
ec664e2d33
examples(foundational): added 45-before-and-afet-events.py
2025-09-20 10:23:49 -07:00
Aleix Conchillo Flaqué
3d88b42e0b
FrameProcessor: add before/after events for processed/pushed frames
2025-09-19 20:47:21 -07:00
Aleix Conchillo Flaqué
2289409b4c
Merge pull request #2699 from pipecat-ai/aleix/daily-on-before-leave
...
DailyTransport: rename on_before_leave to on_before_disconnect
2025-09-19 20:38:46 -07:00
Aleix Conchillo Flaqué
b1551b0d6b
DailyTransport: rename on_before_leave to on_before_disconnect
2025-09-19 19:21:31 -07:00
Mark Backman
7cb5c951f4
Merge pull request #2689 from pipecat-ai/mb/foundational-smart-turn
...
Update quickstart and foundational examples to use smart-turn v3
2025-09-19 15:39:14 -07:00
mattie ruth backman
a2cb5ab8e1
Add Changelong entry
2025-09-19 17:46:29 -04:00
mattie ruth backman
cad3104d56
Fix _handle_send_text to use default options if not provided
2025-09-19 17:46:29 -04:00
mattie ruth backman
d8a2a917a2
Deprecate append-to-text handling in favor of new send-text with support for toggling skip-tts while handling the text
2025-09-19 17:46:29 -04:00
chadbailey59
3984cb58a2
cleared input and process events when pausing ( #2698 )
2025-09-19 16:44:43 -05:00
chadbailey59
9027a96a07
Add remote participant updates to DailyTransport ( #2694 )
...
* add remote participant updates to DailyTransport
* cleanup
* cleanup
* ruff cleanup again
2025-09-19 16:03:34 -05:00
Aleix Conchillo Flaqué
6abac3e3e5
Merge pull request #2673 from pipecat-ai/aleix/sync-event-handlers
...
introduce synchronous event handlers
2025-09-19 13:40:43 -07:00
Aleix Conchillo Flaqué
077b949bb2
BaseObject: run each handler for the same event in a separate task
2025-09-19 13:32:39 -07:00
Aleix Conchillo Flaqué
3a6c9786e8
LiveKitTransport: added synchronous before_disconnect event
2025-09-19 13:32:39 -07:00
Aleix Conchillo Flaqué
492da16cc9
DailyTransport: added synchronous on_before_disconnect event
2025-09-19 13:32:39 -07:00
Aleix Conchillo Flaqué
a698c4064b
BaseObject: allow synchronous event handlers
2025-09-19 13:32:39 -07:00
Filipi Fuchter
9e098b5f79
Changing InworldTTSService default temperature to 1.1
2025-09-19 17:03:53 -03:00
Mark Backman
7df7395dd1
Merge pull request #2692 from pipecat-ai/mb/lazy-load-smallwebrtc-request
...
Lazy load SmallWebRTCRequest, SmallWebRTCRequestHandler in runner
2025-09-19 10:43:43 -07:00
Mark Backman
0885bc9cdf
Lazy load SmallWebRTCRequest, SmallWebRTCRequestHandler in runner
2025-09-19 13:28:01 -04:00
vipyne
889dc19a27
mcp examples: check for env vars needed for examples
2025-09-19 12:09:50 -05:00
Mark Backman
4bc41466b7
Bump quickstart pipecat-ai version to require smart-turn v3, add local smart-turn dep, update quickstart
2025-09-19 08:03:06 -04:00
Mark Backman
9ab8ddee79
Update quickstart and foundational examples to use smart-turn v3
2025-09-18 23:54:18 -04:00
Aleix Conchillo Flaqué
0204f6a95d
Merge pull request #2686 from pipecat-ai/aleix/silero-vad-v6
...
audio(vad): update Silero VAD model to v6
2025-09-18 20:31:10 -07:00
Mark Backman
b0bf653f04
Merge pull request #2679 from pipecat-ai/mb/gladia-remove-confidence
...
GladiaSTTService: deprecate confidence arg
2025-09-18 17:41:33 -07:00
Mark Backman
e8a676eb36
GladiaSTTService: deprecate confidence arg
2025-09-18 20:38:53 -04:00
Mark Backman
ca96eef1f3
Merge pull request #2680 from pipecat-ai/mb/dial-in-session-id
...
DailyTransport sip_call_transfer now automatically receives session_id
2025-09-18 17:36:51 -07:00
Mark Backman
8e1637d6c7
DailyTransport sip_call_transfer now automatically receives session_id
2025-09-18 20:34:14 -04:00
Filipi da Silva Fuchter
367200c0ad
Merge pull request #2682 from pipecat-ai/filipi/smallwebrtc_leak
...
Smallwebrtc memory leak
2025-09-18 18:56:08 -03:00
Filipi Fuchter
766e1948a6
Mentioning the fix in the changelog.
2025-09-18 18:43:33 -03:00
Aleix Conchillo Flaqué
f369683b8b
audio(vad): update Silero VAD model to v6
2025-09-18 14:06:37 -07:00
Aleix Conchillo Flaqué
461025d1cc
Merge pull request #2684 from pipecat-ai/aleix/readme-whisker
...
README: add whisker debugger
2025-09-18 13:27:35 -07:00
Aleix Conchillo Flaqué
ac88706f38
README: add whisker debugger
2025-09-18 13:22:54 -07:00
Filipi Fuchter
93a89449b8
Adding warnings in case queue grows.
2025-09-18 16:43:57 -03:00
Filipi Fuchter
199bf72945
Preventing memory growth if we are not consuming the track.
2025-09-18 16:16:10 -03:00
Filipi Fuchter
d20e4125f6
Updating aiortc to the latest version.
2025-09-18 15:22:46 -03:00
Filipi Fuchter
c1baed642e
Script to monitor memory usage.
2025-09-18 14:43:42 -03:00
Mark Backman
33ef68573f
Merge pull request #2662 from pelguetat/fix-vertex-ai-global-location-support
...
feat: add support for global location in Vertex AI base URL
2025-09-18 10:25:10 -07:00
Pablo Elgueta
3c1b41df13
docs: add changelog entry for global location support
...
- Document the new global location support in GoogleVertexLLMService
- Explain the difference between regional and global API hosts
- Follow Keep a Changelog format
2025-09-18 17:39:03 +01:00
Jin Kim
58f70e7e0d
Add tests for audio buffer processor flush alignment
2025-09-18 22:19:32 +09:00
kompfner
fca4ecc73c
Merge pull request #2675 from pipecat-ai/pk/service-switcher-logic-simplification
...
Simplify a bit of logic in `ServiceSwitcher`
2025-09-18 09:17:22 -04:00
Jin Kim
d0b573e44f
Fix audio buffer flush and silence handling
2025-09-18 19:40:45 +09:00
Paul Kompfner
cfa333508b
Simplify a bit of logic in ServiceSwitcher
2025-09-17 21:03:38 -04:00
Mark Backman
9e7260393a
Merge pull request #2671 from pipecat-ai/mb/fix-asyncai-ttstextframe
...
fix: AsyncAITTSService wasn't pushing TTSTextFrames
2025-09-17 14:06:41 -07:00
Mark Backman
073b585c52
fix: AsyncAITTSService wasn't pushing TTSTextFrames
2025-09-17 16:54:18 -04:00
Aleix Conchillo Flaqué
81c2e51bec
Merge pull request #2669 from pipecat-ai/aleix/interruption-task-frame-wait-fixes
...
interruption task frame wait fixes
2025-09-17 13:47:57 -07:00
Aleix Conchillo Flaqué
42344125b1
tests: add unit tests for push_interruption_task_frame_and_wait()
2025-09-17 13:38:22 -07:00
Aleix Conchillo Flaqué
db5bcfaa51
FrameProcessor: fix push_interruption_task_frame_and_wait()
2025-09-17 13:38:21 -07:00
kompfner
615239b7d2
Merge pull request #2646 from pipecat-ai/pk/service-switcher-unit-tests
...
`ServiceSwitcher` unit tests (ended up being much more than that)
2025-09-17 16:30:18 -04:00
Paul Kompfner
27f1e9dd69
Update CHANGELOG with a description of the recently-fixed ServiceSwitcher bugs
2025-09-17 16:27:12 -04:00
Paul Kompfner
bd760deff2
Update comment with more detail for posterity
2025-09-17 16:19:31 -04:00
Paul Kompfner
8bc3c89140
Fix a bug preventing usage of multiple ServiceSwitchers in a pipeline
2025-09-17 16:09:18 -04:00
Paul Kompfner
2cd2567a37
Add a unit tests validating that multiple ServiceSwitchers can be used in the same pipeline (currently failing)
2025-09-17 16:04:30 -04:00
Paul Kompfner
5b55988846
Denote a couple of variables are private with a leading underscore
2025-09-17 15:38:28 -04:00
Paul Kompfner
a12392182c
Simplify, undoing the change allowing controlling ServiceSwitcher with immediate frames (SystemFrames). Service switcher frames are ControlFrames, which are easier to reason about. We can always build the immediate option later if needed (i.e. if there's sufficient user pull for it)
2025-09-17 15:35:02 -04:00
Paul Kompfner
b814b70e1e
Allow controlling ServiceSwitcher with either immediate frames (SystemFrames) or in-order frames (ControlFrames).
...
Immediate is the "default", i.e. has the more obvious name (e.g. `ManuallySwitchServiceFrame` v `ManuallySwitchServiceControlFrame`), since that's *probably* what users will want to reach for. Also, the immediate frames are more likely to behave like what we had before the last few commits, where the service switch would always "jump the queue" by having an immediate effect once it hit the `ServiceSwitcher` in the pipeline, jumping ahead of frames in front of it destined for the service.
2025-09-17 15:35:02 -04:00
Paul Kompfner
a1f84e1b50
Remove extraneous unit tests
2025-09-17 15:35:02 -04:00
Paul Kompfner
0839b48da8
Fix an issue where the upstream ServiceSwitcherFilter wouldn't get updated with the current active service
2025-09-17 15:35:02 -04:00
Paul Kompfner
de51637b77
Update ServiceSwitcher so that ServiceSwitcherFrames (which might update the currently active service) are processed and have an effect at the expected time. We should be able to, for example, queue:
...
- A text frame
- A `ManuallySwitchServiceFrame` (which is a `ServiceSwitcherFrame`)
- Another text frame
And expect that the first text frame be handled by the initially active service and the second text frame be handled by the newly active one.
Previously, the `ManuallySwitchServiceFrame` would have an effect too early, causing both text frames to be handled by the newly active service. Why? Because the frame filtering condition was being updated *directly* by the `ServiceSwitcher`, which is upstream from the services it's switching between. It could therefore update the filters *before* the services received the prior frames.
2025-09-17 15:35:02 -04:00
Paul Kompfner
e1b1dc16ec
Add unit tests for ServiceSwitcher
2025-09-17 15:35:02 -04:00
Mark Backman
1fe27eb0a2
Merge pull request #2660 from pipecat-ai/mb/fix-user-idle-processor-cancel-task
...
fix: clean up how UserIdleProcessor handles return False
2025-09-16 14:48:59 -07:00
Mark Backman
d7e1389497
fix: clean up how UserIdleProcessor handles return False
2025-09-16 17:44:06 -04:00
Aleix Conchillo Flaqué
8c7230aa8f
Merge pull request #2668 from pipecat-ai/aleix/livekit-update
...
livekit package update
2025-09-16 14:43:18 -07:00
Aleix Conchillo Flaqué
2cf71239b0
examples(01b): use TTSSpeakFrame instead of TextFrame
2025-09-16 17:18:45 -04:00
Aleix Conchillo Flaqué
ec2c62e32b
pyproject: update to livekit 1.0.13
...
Fixes #2643
2025-09-16 17:18:44 -04:00
Mark Backman
38ce85e9a0
Merge pull request #2667 from zytegalaxy/mcp-serverparameters-typefix
...
fix: replace `Tuple` type with `TypeAlias` for server params in MCP client
2025-09-16 14:14:59 -07:00
Mark Backman
2279e5a899
Merge pull request #2663 from pipecat-ai/mb/websockets-15
...
Add support for websockets 15.0
2025-09-16 14:08:36 -07:00
Mark Backman
cce6eb5d87
Merge pull request #2666 from pipecat-ai/mb/update-38b-local-turn-model
...
38b: Update bundled ONNX smart-turn model
2025-09-16 14:05:12 -07:00
mehrdad
c2b98ae557
fix(lint): fix space format issue
2025-09-16 13:44:15 -07:00
Filipi da Silva Fuchter
727eb12b16
Merge pull request #2648 from pipecat-ai/filipi/pcc_small_webrtc
...
Creating SmallWebRTCRequestHandler for managing peer connections.
2025-09-16 16:37:04 -03:00
mehrdad
ba96bd05d3
fix: replace Tuple type with TypeAlias for server params in MCP client
2025-09-16 11:44:25 -07:00
Mark Backman
8ead309f8d
38b: Update bundled ONNX smart-turn model
2025-09-16 13:17:14 -04:00
Mark Backman
fad0e55c64
Add websockets-base optional dependency and use for DRY pyproject.toml
2025-09-16 11:24:38 -04:00
Mark Backman
74b1af56a0
Update uv.lock
2025-09-16 11:21:49 -04:00
Mark Backman
6924850ec4
Add support for websockets 15.0
2025-09-16 11:21:49 -04:00
marcus-daily
dfe7815dc5
Smart Turn v3: removing torch and torchaudio deps
2025-09-16 16:02:41 +01:00
Pablo Elgueta
69f0a75882
feat: add support for global location in Vertex AI base URL
...
- Update _get_base_url method to handle 'global' location case
- Use 'aiplatform.googleapis.com' for global locations
- Use '{location}-aiplatform.googleapis.com' for regional locations
- Maintains backward compatibility with existing regional endpoints
2025-09-16 10:28:22 -03:00
Mark Backman
cca90791c4
Merge pull request #2652 from pipecat-ai/mb/fix-audio-buffer-processor-has-audio
...
fix: AudioBufferProcessor has_audio returns based on user or bot audi…
2025-09-15 18:43:59 -07:00
Mark Backman
f2a5d408de
fix: AudioBufferProcessor has_audio returns based on user or bot audio existing
2025-09-15 21:35:35 -04:00
Aleix Conchillo Flaqué
044c6eba46
Merge pull request #2655 from pipecat-ai/aleix/add-on-pipeline-finalized
...
PipelineTask: add on_pipeline_finished event
2025-09-15 15:32:04 -07:00
Aleix Conchillo Flaqué
db71089f5e
PipelineTask: add on_pipeline_finished event
...
This deprecates `on_pipeline_stopped`, `on_pipeline_ended` and
`on_pipeline_cancelled`.
2025-09-15 15:28:33 -07:00
Aleix Conchillo Flaqué
f861f5066f
Merge pull request #2654 from pipecat-ai/aleix/unify-on-client-disconnected
...
transports: on_client_disconnected only if remote client disconnects
2025-09-15 15:18:57 -07:00
kompfner
81cede2c60
Merge pull request #2653 from pipecat-ai/pk/llm-context-adapting-tests
...
`LLMContext`-adapting unit tests
2025-09-15 16:38:46 -04:00
kompfner
7603203230
Merge pull request #2644 from pipecat-ai/pk/run-inference-unit-tests
...
`run_inference` unit tests
2025-09-15 16:26:10 -04:00
Aleix Conchillo Flaqué
8569b61598
transports: on_client_disconnected only if remote client disconnects
2025-09-15 11:35:40 -07:00
Paul Kompfner
fe42187dc1
Implement LLMService.create_llm_specific_message() so that users don't need to just know what value of llm to provide to the LLMSpecificMessage constructor
2025-09-15 14:15:22 -04:00
Paul Kompfner
999e88c942
Add unit tests for AWSBedrockLLMAdapter.get_llm_invocation_params(), focusing on messages specifically
2025-09-15 12:08:21 -04:00
Paul Kompfner
c04df2f28b
Add unit tests for AnthropicLLMAdapter.get_llm_invocation_params(), focusing on messages specifically
2025-09-15 11:55:48 -04:00
Paul Kompfner
100ef0ab5c
Add unit tests for GeminiLLMAdapter.get_llm_invocation_params(), focusing on messages specifically
2025-09-15 11:38:23 -04:00
Paul Kompfner
42886d7105
Add unit tests for OpenAILLMAdapter.get_llm_invocation_params(), focusing on messages specifically. Also, fix a bug in OpenAILLMAdapter (found thanks to the unit tests) where it wasn't "unwrapping" LLMSpecificMessages.
2025-09-15 11:17:11 -04:00
Mark Backman
22cbba002a
Merge pull request #2651 from pipecat-ai/mb/heygen-bot-speaking-frame
...
fix: push BotStartedSpeakingFrame in HeyGenVideoService
2025-09-15 08:02:25 -07:00
Filipi Fuchter
0a043154f2
Removing not used import.
2025-09-15 10:46:43 -03:00
Filipi Fuchter
5e322eba9e
Supporting both single and multiple connection modes.
2025-09-15 10:43:46 -03:00
Filipi Fuchter
11d0c3d46d
Refactoring SmallWebRTCRequestHandler.
2025-09-15 09:58:44 -03:00
Mark Backman
c873798ce5
fix: push BotStartedSpeakingFrame in HeyGenVideoService
2025-09-14 08:12:44 -04:00
Filipi Fuchter
95f72f6dce
Creating SmallWebRTCRequestHandler for managing peer connections.
2025-09-12 18:15:24 -03:00
Aleix Conchillo Flaqué
d8cd28bb8b
Merge pull request #2640 from pipecat-ai/aleix/pipecat-0.0.85
...
update CHANGELOG for 0.0.85
2025-09-12 11:06:41 -07:00
Aleix Conchillo Flaqué
c2df6c8aee
update CHANGELOG for 0.0.85
2025-09-12 11:03:32 -07:00
Aleix Conchillo Flaqué
82478be861
scripts(evals): add 19b-openai-realtime-text
2025-09-12 11:03:32 -07:00
Aleix Conchillo Flaqué
0f2b7bc01b
examples(foundational): fix 19b-openai-realtime-beta-text
2025-09-12 11:03:32 -07:00
Aleix Conchillo Flaqué
1b2a5df017
Merge pull request #2622 from pipecat-ai/mb/call-data-runner
...
Add to, from phone info and custom data to the development runner
2025-09-12 10:28:17 -07:00
Mark Backman
2f496ac74f
Add optional body parameter to WebsocketRunnerArguments
2025-09-12 11:28:12 -04:00
Mark Backman
22633a63b0
Update changelog
2025-09-12 11:15:03 -04:00
Mark Backman
e5ed0424e4
Remove to/from data from Plivo, as it will rely on body information
2025-09-12 11:10:03 -04:00
Paul Kompfner
786387722a
Fix an issue in AWSBedrockLLMService.run_inference—exceptions should propagate, just like with other LLM services
2025-09-12 11:09:32 -04:00
Paul Kompfner
9f82c6b4a4
Add unit tests for run_inference
2025-09-12 11:07:11 -04:00
Mark Backman
99cfcb1d4e
Parsed custom data from Plivo extraHeaders
2025-09-12 08:11:30 -04:00
Mark Backman
d595676436
Add custom data handling for Twilio
2025-09-12 08:11:30 -04:00
Aleix Conchillo Flaqué
0190812ee8
Merge pull request #2639 from pipecat-ai/aleix/min-words-interruption-unit-test
...
MinWordsInterruptionStrategy unit test
2025-09-11 18:52:39 -07:00
Aleix Conchillo Flaqué
2a24061bbb
examples(07ad): remove deprecated user_continuous_stream
2025-09-11 18:50:00 -07:00
Aleix Conchillo Flaqué
89f7e7d199
update CHANGELOG with BaseOutputTransport fix
2025-09-11 16:58:44 -07:00
Aleix Conchillo Flaqué
384814e640
Merge pull request #2456 from a6kme/patch-1
...
Only set last_frame_time when handling OutputAudioRawFrame
2025-09-11 16:56:25 -07:00
Aleix Conchillo Flaqué
ab4364b833
update CHANGELOG and fix formatting
2025-09-11 15:34:47 -07:00
Aleix Conchillo Flaqué
fafdadad3c
Merge pull request #2473 from TheNotary/adds-interim-transcription-frame-support
...
adds support to Azure STT for creating InterimTranscriptFrames
2025-09-11 15:33:38 -07:00
Aleix Conchillo Flaqué
05dc2fa916
updated CHANGELOG.md with GoogleTTSService updates
2025-09-11 14:36:21 -07:00
Aleix Conchillo Flaqué
0c30cc6ea6
Merge pull request #2547 from manishkjs/feat/google-tts-voice-cloning
...
feat: add voice cloning and speaking rate to GoogleTTSService
2025-09-11 14:32:21 -07:00
Aleix Conchillo Flaqué
c26d336e34
Merge pull request #2545 from pipecat-ai/aleix/aws-nova-sonic-pre-load-cue
...
AWSNovaSonicLLMService: pre-load audio cue in the constructor
2025-09-11 14:31:26 -07:00
Mark Backman
37b6198787
Merge pull request #2635 from pipecat-ai/mb/openai-tts-speed
2025-09-11 14:22:51 -07:00
kompfner
3c271da94c
Merge pull request #2633 from pipecat-ai/pk/uv-readme-updates
...
Updating the README to reflect that:
2025-09-11 17:07:41 -04:00
kompfner
be28d3f93b
Merge pull request #2637 from pipecat-ai/pk/llm-context-evals-and-bug-fix
...
`LLMContext` evals and bug fix
2025-09-11 17:00:07 -04:00
marcus-daily
d2f210e960
Bundle Smart Turn v3 with Pipecat
2025-09-11 21:37:16 +01:00
Aleix Conchillo Flaqué
57add41971
tests: add unit test for MinWordsInterruptionStrategy
2025-09-11 13:07:30 -07:00
Aleix Conchillo Flaqué
74b38b59d6
tests(utils): allow passing PipelineParams to run_test()
2025-09-11 13:02:21 -07:00
kompfner
dac58deffc
Merge pull request #2636 from pipecat-ai/pk/uv-lock-update-for-smart-turn-v3
...
uv.lock update for Smart Turn v3
2025-09-11 14:35:36 -04:00
Paul Kompfner
aff11f5121
Fix missing import in llm_response_universal.py
2025-09-11 14:33:17 -04:00
Paul Kompfner
a4023d3915
Update evals to include examples that exercise the universal LLMContext
2025-09-11 14:32:56 -04:00
Paul Kompfner
d6543d244d
uv.lock update for Smart Turn v3
2025-09-11 14:07:17 -04:00
Mark Backman
fafcd79870
OpenAITTSService: add speed arg
2025-09-11 13:53:52 -04:00
Paul Kompfner
6a717fbbd1
Updating the README to reflect that:
...
- various dependencies that previously didn't work with Python 3.13 now seem to
- ultravox isn't fully supported on macOS
2025-09-11 12:27:43 -04:00
Aleix Conchillo Flaqué
9b3f6927c2
Merge pull request #2621 from pipecat-ai/aleix/interruption-task-frame
...
interruption task frame
2025-09-11 09:22:35 -07:00
Aleix Conchillo Flaqué
0b21f8a6bd
FrameProcessor: add push_interruption_task_frame_and_wait()
2025-09-11 09:19:44 -07:00
Aleix Conchillo Flaqué
8249b014f0
frames: BotInterruptionFrame is deprecated, use InterruptionTaskFrame
2025-09-11 09:01:54 -07:00
Aleix Conchillo Flaqué
9d9f10ae0e
frames: StartInterruptionFrame is deprecated, use InterruptionFrame
2025-09-11 09:01:54 -07:00
Aleix Conchillo Flaqué
e27b23694d
frames: add new TaskFrame
...
TaskFrame is a base class for other frames that are meant to be sent to the
pipeline task.
2025-09-11 09:01:52 -07:00
marcus-daily
66ce5fe6bd
Ruff fixes
2025-09-11 16:04:56 +01:00
marcus-daily
a9b53dc800
Update inference session options
2025-09-11 16:04:56 +01:00
marcus-daily
818352a300
Formatting
2025-09-11 16:04:56 +01:00
marcus-daily
3e9fc7be19
Update onnxruntime version
2025-09-11 16:04:56 +01:00
marcus-daily
a2e76bcad8
Smart Turn V3 support
2025-09-11 16:04:56 +01:00
Mark Backman
8e8e42717b
Add to and from phone information to the development runner
2025-09-11 10:44:21 -04:00
kompfner
b31322e38e
Merge pull request #2619 from pipecat-ai/pk/aws-universal-context
...
Expand universal `LLMContext` support to AWS Bedrock
2025-09-11 09:33:08 -04:00
Jessie Wei
305108be9a
[TwilioFrameSerializer]: Add parameter validation
2025-09-10 23:00:15 +00:00
Aleix Conchillo Flaqué
908325484d
Merge pull request #2614 from pipecat-ai/aleix/readme-client-sdks-table
...
README: update clients' table
2025-09-10 10:21:18 -07:00
Mark Backman
dd6ff789c7
Merge pull request #2628 from pipecat-ai/mb/fix-13-push-frame
...
fix: 13 foundational examples now push frames from TranscriptionLogger
2025-09-10 09:13:04 -07:00
Mark Backman
f4938e0fad
fix: 13 foundational examples now push frames from TranscriptionLogger
2025-09-10 10:40:10 -04:00
Jessie Wei
2e1f397d17
Support TwilioFrameSerializer region/edge settings to that the call is terminated successfully for regions other than default us1 region
2025-09-10 14:30:10 +00:00
James Hush
e8f60c7c6f
Handle missing rawResponse in transcription messages ( #2623 )
...
* Handle missing rawResponse in transcription messages
- Use message.get('rawResponse', {}) to safely access rawResponse field
- Default is_final to False when rawResponse is missing
- Add proper type annotations for better code clarity
- Minor import formatting cleanup
This prevents KeyError crashes when transcription messages from Daily's API
don't include the rawResponse field in edge cases.
* docs: add changelog line
2025-09-10 15:03:23 +08:00
Paul Kompfner
fedb8a201f
Update 12d example to use LLMContext, now that AWS Bedrock supports it
2025-09-09 16:24:13 -04:00
Paul Kompfner
8ccd220a60
Add universal LLMContext support to AWSBedrockLLMService.run_inference()
2025-09-09 16:00:32 -04:00
Paul Kompfner
fe79de8f27
When converting universal LLMContext messages to AWS Bedrock expected format, automatically update non-initial "system"-role messages to "user"-role messages, as we do in other non-OpenAI LLM services
2025-09-09 15:50:03 -04:00
Paul Kompfner
176573c342
Add to CHANGELOG AWS Bedrock's support for universal LLMContext
2025-09-09 15:31:56 -04:00
Paul Kompfner
75f9914f49
Add support for universal LLMContext to AWS Bedrock LLM service
2025-09-09 15:25:04 -04:00
Paul Kompfner
f4d6715e32
Add foundational example using AWS Bedrock with universal LLMContext
2025-09-09 10:49:51 -04:00
kompfner
38f6e33f97
Merge pull request #2598 from pipecat-ai/pk/deprecate-vision-image-raw-frame
...
Remove `VisionImageRawFrame`, which was previously being handled dire…
2025-09-08 17:13:28 -04:00
Paul Kompfner
1c3e4e34e5
Minor fix to AWS Bedrock console logging to handle image messages in the context
2025-09-08 17:10:11 -04:00
Paul Kompfner
623c660027
Remove debugging comment
2025-09-08 17:01:51 -04:00
Paul Kompfner
a3e65ab3b5
The VisionImageRawFrame removal and corresponding VisionImageFrameAggregator deprecation will now happen in version 0.0.85
2025-09-08 17:01:47 -04:00
Paul Kompfner
f3a4b416df
Remove VisionImageRawFrame, which was previously being handled directly by the LLM services, and deprecate the associated VisionImageFrameAggregator.
...
Removing `VisionImageRawFrame` lets us simplify LLM services' logic, getting us closer to the idealized architecture where all they care about is handling context frames.
This change is in service of getting us closer to ready to deprecate usage of `OpenAILLMContext` and subclasses in favor of the universal `LLMContext`, at least for the traditional text-to-text LLMs.
Why remove `VisionImageRawFrame` rather than deprecate? It's "internal"—only created by `VisionImageFrameAggregator`—and never intended to be used directly by users (it would be difficult to use directly anyway).
Move the logic that was once in `VisionImageFrameAggregator` directly into the examples. Reasoning:
- If `UserImageRequester` is defined in the examples, it makes sense for `UserImageProcessor` to be too, as it’s the flip side of the same coin, so to speak
- The logic is now pretty trivial
- This kind of one-shot, history-less image-describing pipeline shouldn't be common at all; it's ok for it to live in examples rather than as a dedicated class
- In the short term, this enables us to create `LLMContext`s for services that support it and `OpenAILLMContext`s for services that don't yet (AWS)
This commit also adds missing translation from OpenAI-format image context messages to AWS format. Note that this isn't a wasted effort in the face of the upcoming migration to universal `LLMContext`—this work will be reused as it has to be implemented there too.
2025-09-08 17:00:08 -04:00
Aleix Conchillo Flaqué
aa471a4ef5
update CHANGELOG with LiveKitTransport updates
2025-09-08 13:53:21 -07:00
Aleix Conchillo Flaqué
d55133a44f
Merge pull request #2604 from alexyzhou/feature/livekit_video_and_bug_fix
...
Feature: Add support for livekit video stream and minor bug fixes
2025-09-08 13:51:14 -07:00
Aleix Conchillo Flaqué
0f1cf81691
README: update clients' table
2025-09-08 12:08:32 -07:00
kompfner
ac4d335799
Merge pull request #2613 from pipecat-ai/pk/mistral-message-fixups
...
Apply additional fixups to context messages to meet Mistral-specific …
2025-09-08 13:59:54 -04:00
Paul Kompfner
e65385c151
Tweak the Mistral-specific context messages fixup logic to handle the (mostly academic) possibility of a "tool" message appearing at the end
2025-09-08 13:55:09 -04:00
Paul Kompfner
0bb7df7a6b
Remove stray debugging message
2025-09-08 13:38:26 -04:00
Paul Kompfner
daee1ddf3b
Apply additional fixups to context messages to meet Mistral-specific requirements
2025-09-08 11:26:58 -04:00
Adithya Suresh
d1f72c1c0b
Added usage metrics
2025-09-08 14:44:25 +10:00
Aleix Conchillo Flaqué
1cccb97ccf
Merge pull request #2608 from pipecat-ai/aleix/deprecate-noisereducefilter
...
audio(filters): deprecate NoisereduceFilter
2025-09-07 20:54:09 -07:00
Aleix Conchillo Flaqué
d7794abf21
audio(filters): deprecate NoisereduceFilter
2025-09-07 20:52:17 -07:00
Aleix Conchillo Flaqué
6a6a63a532
Merge pull request #2607 from pipecat-ai/aleix/scripts-evals-improve-eval-prompt
...
scripts(evals): allow user to talk and only eval when needed
2025-09-07 20:49:43 -07:00
Mark Backman
6edb6fed41
Merge pull request #2606 from pipecat-ai/mb/quickstart-lockfile
...
Remove uv.lock from quickstart
2025-09-07 06:10:14 -07:00
Mark Backman
a537382816
Add OpenAIRealtimeLLMService, AzureRealtimeLLMService ( #2596 )
...
* Add OpenAI Realtime module
* Add foundational examples for OpenAI Realtime
* Add deprecation warning to OpenAIRealtimeBetaLLMService
* Add deprecation warning to AzureRealtimeBetaLLMService
* Update Changelog
2025-09-07 09:09:57 -04:00
Aleix Conchillo Flaqué
46deaada70
scripts(evals): allow user to talk and only eval when needed
2025-09-06 19:19:08 -07:00
TheNotary
7366b1aee0
adds missing InterimTranscriptionFrame import
2025-09-06 14:40:19 -05:00
Mark Backman
dbc52bc6b0
Remove uv.lock from quickstart
2025-09-06 11:13:50 -04:00
Alex Zhou
d6432589f6
fix: fix format and lint by ruff
2025-09-06 10:50:47 +08:00
Alex Zhou
13b73d4406
feat: Add support for pipecat video stream; fix the bug of duplicate participants when connecting; fix the bug of RTVI messages sent via livekit messages;
2025-09-06 10:41:33 +08:00
Aleix Conchillo Flaqué
85d8282f7e
Merge pull request #2602 from pipecat-ai/aleix/pipecat-0.0.84
...
update CHANGELOG for 0.0.84
2025-09-05 19:35:26 -07:00
Aleix Conchillo Flaqué
070690ec64
update CHANGELOG for 0.0.84
2025-09-05 18:22:50 -07:00
Aleix Conchillo Flaqué
b9c96fd623
Merge pull request #2601 from pipecat-ai/aleix/daily-python-0.19.9
...
pyproject: update daily-python to 0.19.9
2025-09-05 18:21:49 -07:00
Aleix Conchillo Flaqué
f8b2ab6331
pyproject: update daily-python to 0.19.9
2025-09-05 18:14:57 -07:00
Mark Backman
ea3f7e3c34
Merge pull request #2600 from pipecat-ai/mb/livekit-dtmf
...
LiveKitTransport: Add support to send DTMF
2025-09-05 15:25:32 -07:00
Mark Backman
2f44f88b08
LiveKitTransport: Add support to send DTMF
2025-09-05 18:23:04 -04:00
Mark Backman
25747a001b
Merge pull request #2599 from pipecat-ai/mb/fix-daily-dtmf
...
DTMF: Add support for native DTMF implementation where available
2025-09-05 15:20:05 -07:00
Mark Backman
fbe4338440
DTMF: Add support for native DTMF implementation where available
2025-09-05 18:16:56 -04:00
Filipi da Silva Fuchter
64b4c65728
Merge pull request #2595 from pipecat-ai/filipi/heygen_quality
...
Improving HeyGen example video quality.
2025-09-05 17:19:25 -03:00
kompfner
29442969a9
Merge pull request #2597 from pipecat-ai/pk/fix-anthropic-tool-less-usage
...
Fix Anthropic tool-less usage
2025-09-05 15:30:29 -04:00
Paul Kompfner
dc2e1d4ad3
Fix Anthropic tool-less usage
2025-09-05 11:47:31 -04:00
Filipi Fuchter
5477dfcbea
Improving HeyGen example video quality.
2025-09-05 11:30:01 -03:00
kompfner
516f0e08ab
Merge pull request #2590 from pipecat-ai/pk/gemini-multimodal-live-doesnt-support-llm-context
...
Raise an error when attempting to use Gemini Multimodal Live with uni…
2025-09-05 09:22:33 -04:00
Paul Kompfner
246f9f3325
Raise an error when attempting to use Gemini Multimodal Live with universal LLMContext. This is exactly the same error we already have for the other s2s models, AWS Nova Sonic and OpenAI Realtime, it was just missing from this service.
2025-09-04 16:47:08 -04:00
Manish Kumar
4699ee8d86
docs: add docstring for voice_cloning_key and update CHANGELOG
2025-09-04 22:45:51 +05:30
kompfner
3d850e8cc5
Merge pull request #2574 from pipecat-ai/pk/expand-universal-llm-context-support-to-anthropic
...
Expand universal `LLMContext` support to Anthropic
2025-09-04 13:09:44 -04:00
Paul Kompfner
6e734a37f9
Fix a bug in AWSBedrockLLMService.run_inference(); it was expecting the wrong format for the system instruction
2025-09-04 13:04:15 -04:00
Paul Kompfner
f72ca2fd7d
Remove unnecessary system_instruction argument from run_inference() methods
2025-09-04 13:04:15 -04:00
Paul Kompfner
0826d72f74
Add deprecation warning for using enable_prompt_caching_beta param
2025-09-04 13:04:15 -04:00
Paul Kompfner
ba5ebfa0ec
Fixed subtle CHANGELOG conflict after release of 0.0.83: universal LLMContext support for Anthropic didn't make that release. Also, some automatic Prettier fixes.
2025-09-04 13:04:11 -04:00
Paul Kompfner
dc3412b2df
Bump a deprecation to 0.0.84, as 0.0.83 just shipped
2025-09-04 13:03:06 -04:00
Paul Kompfner
b2e9fd9341
Rename Anthropic enable_prompt_caching_beta parameter to just enable_prompt_caching
2025-09-04 13:03:06 -04:00
Paul Kompfner
c11b207c97
Add Anthropic to CHANGELOG list of services newly supporting runtime LLM switching
2025-09-04 13:03:06 -04:00
Paul Kompfner
d6205027cf
Trivial cleanup
2025-09-04 13:03:06 -04:00
Paul Kompfner
986160c077
Fix a bug where the Anthropic adapter's merge-consecutive-messages-with-the-same-role logic was unintentionally affecting the source LLMContext's messages, resulting in more and more duplication of text with each inference
2025-09-04 13:03:06 -04:00
Paul Kompfner
b56ff86fee
Minor refactor of AnthropicLLMAdapter cache-control-marker-adding logic (without really changing its behavior)
2025-09-04 13:03:06 -04:00
Paul Kompfner
5c574eaad9
Add support for universal LLMContext to Anthropic LLM service
2025-09-04 13:03:06 -04:00
Paul Kompfner
2df231143a
Add foundational example using Anthropic with universal LLMContext
2025-09-04 13:03:06 -04:00
Aleix Conchillo Flaqué
e3597801d4
AWSNovaSonicLLMService: pre-load audio cue in the constructor
2025-09-04 09:31:39 -07:00
Aleix Conchillo Flaqué
65298ab792
update CHANGELOG with AWSBedrockLLMService fix
2025-09-04 09:24:55 -07:00
Aleix Conchillo Flaqué
b609b02614
Merge pull request #2568 from ezisezis/fix-bedrock-timeouts
...
fix timeout handling in AWSBedrockLLMService
2025-09-04 09:23:28 -07:00
Aleix Conchillo Flaqué
f2b50c14d2
Merge pull request #2573 from pipecat-ai/vp-minor-fixes-07s
...
example 07s: minor typo updates
2025-09-04 09:21:32 -07:00
Aleix Conchillo Flaqué
ee3b023986
update CHANGELOG with OpenAIImageGenService fix
2025-09-04 09:20:02 -07:00
Aleix Conchillo Flaqué
0d9e1190d7
Merge pull request #2583 from sassanh/main
...
fix: openai image generator now initiates URLImageRawFrame with correct order of arguments
2025-09-04 09:17:51 -07:00
Mark Backman
595a7c7fbe
Merge pull request #2587 from pipecat-ai/mb/update-quickstart-0.0.83
...
Update quickstart pyproject to use 0.0.83
2025-09-04 07:42:56 -07:00
Mark Backman
586586f743
Update quickstart pyproject to use 0.0.83
2025-09-04 10:36:58 -04:00
Mark Backman
a1c6ad539d
Merge pull request #2585 from ashotbagh/feat/asyncai-multilingual-support
...
feat(asyncai): add multilingual TTS support
2025-09-04 05:03:45 -07:00
Ashot
daf7fed8b3
feat(asyncai): add multilingual TTS support
2025-09-04 13:58:50 +04:00
Adithya Suresh
446d99d194
Bug fixes
2025-09-04 17:08:16 +10:00
Adithya Suresh
cbdbdee4c0
Initial StrandsAgentsProcessor implementation
2025-09-04 16:58:58 +10:00
Sassan Haradji
a26647c433
fix: openai image generator now initiates URLImageRawFrame with correct order of arguments
2025-09-04 06:09:57 +03:30
Aleix Conchillo Flaqué
0fab56fc13
Merge pull request #2577 from pipecat-ai/aleix/pipecat-0.0.83
...
update CHANGELOG for 0.0.83
2025-09-03 16:49:24 -07:00
Aleix Conchillo Flaqué
f0baff94b2
update CHANGELOG for 0.0.83
2025-09-03 16:47:43 -07:00
Aleix Conchillo Flaqué
d146170fd6
Merge pull request #2580 from pipecat-ai/mb/add-cerebras-evals
...
Add 14k (CerebrasLLMService) to release evals
2025-09-03 15:08:28 -07:00
Filipi da Silva Fuchter
001a2d36e5
Merge pull request #2579 from pipecat-ai/filipi/input_message
...
Creating InputTransportMessageUrgentFrame
2025-09-03 19:01:07 -03:00
Filipi Fuchter
99e237b1e2
Fixed an issue where messages received from the transport were always being resent.
2025-09-03 18:58:34 -03:00
Aleix Conchillo Flaqué
978f644f19
Merge pull request #2578 from pipecat-ai/aleix/user-speaking-frame
...
add UserSpeakingFrame and UserStartedSpeakingFrame/UserStopeedSpeakingFrame updates
2025-09-03 14:55:45 -07:00
Aleix Conchillo Flaqué
5a4c6b9618
BaseInputTransport: push UserStartedSpeakingFrame/UserStoppedSpeakingFrame upstream
2025-09-03 14:32:32 -07:00
Mark Backman
977a57c8fb
Add 14k (CerebrasLLMService) to release evals
2025-09-03 17:11:38 -04:00
Mark Backman
c64bc5a636
Merge pull request #2576 from joyceerhl/joyce/cerebras-default
...
fix: update default Cerebras model to GPT-OSS-120B
2025-09-03 14:10:28 -07:00
Joyce Er
eba006d39c
Fix nits
2025-09-03 14:07:49 -07:00
Joyce Er
a001f6f193
Switch to GPT-OSS-120B
2025-09-03 14:00:27 -07:00
Aleix Conchillo Flaqué
09d6ec1098
introduce and push UserSpeakingFrame upstream/downstream
2025-09-03 13:56:01 -07:00
Aleix Conchillo Flaqué
f56be9315a
Merge pull request #2572 from pipecat-ai/aleix/deepgram-disconnect-task
...
ParallePipeline: wait for CancelFrame in all branches
2025-09-03 13:10:55 -07:00
Mark Backman
8e5880b2e7
Merge pull request #2575 from pipecat-ai/mb/fix-foundational-frame-direction
...
fix: Specify frame direction in 06a push_frame
2025-09-03 12:46:10 -07:00
Joyce Er
d8ac6f2c1a
fix: update default Cerebras model to Qwen 3 32B
2025-09-03 12:23:36 -07:00
Mark Backman
052ffe8712
fix: Specify frame direction in 06a push_frame
2025-09-03 15:07:05 -04:00
Aleix Conchillo Flaqué
b52296450c
DeepgramSTTService: remove raising CancelledError
2025-09-03 11:24:02 -07:00
Aleix Conchillo Flaqué
c71cec04d3
ParallelPipeline: wait for CancelFrame in all branches
2025-09-03 11:23:37 -07:00
vipyne
83f64ecd3b
example 07s: minor typo updates
2025-09-03 12:11:07 -05:00
Aleix Conchillo Flaqué
d19170d8b1
Merge pull request #2565 from pipecat-ai/aleix/reorganize-transports
...
transports: reorganize module
2025-09-03 08:52:49 -07:00
Mark Backman
8b95d74193
Merge pull request #2571 from pipecat-ai/mb/fix-docs-0.0.83
...
Fix docs generation before 0.0.83 release
2025-09-03 08:52:20 -07:00
Mark Backman
3c4694a8f1
Fix docs generation before 0.0.83 release
2025-09-03 11:31:14 -04:00
kompfner
b9748b1228
Merge pull request #2563 from pipecat-ai/pk/expand-universal-llm-context-support-to-more-llms
...
Expand universal `LLMContext` support to more LLMs
2025-09-03 11:20:26 -04:00
Paul Kompfner
def1cf1548
Update CHANGELOG with entry about expanded support among LLM services for new universal LLMContext
2025-09-03 09:07:57 -04:00
Paul Kompfner
9b216116f1
Remove supports_universal_context gate from OpenAI-library-based LLM services. It's no longer needed, as they all now support universal LLMContext.
2025-09-03 09:07:18 -04:00
Paul Kompfner
7cb372ebb9
Add support for universal LLMContext to Together.ai LLM service
2025-09-03 09:07:18 -04:00
Paul Kompfner
6838bc1e51
Add a few missing LLMContext type hints
2025-09-03 09:07:18 -04:00
Paul Kompfner
e04f42167e
Add support for universal LLMContext to SambaNova LLM service
2025-09-03 09:07:18 -04:00
Paul Kompfner
91a3f63e28
Add support for universal LLMContext to Qwen LLM service
2025-09-03 09:07:18 -04:00
Paul Kompfner
b24eb76559
Add QWEN_API_KEY to env.example
2025-09-03 09:07:18 -04:00
Paul Kompfner
d9ea02595b
Add support for universal LLMContext to Ollama LLM service
2025-09-03 09:07:18 -04:00
Paul Kompfner
5bc0e49baa
Add support for universal LLMContext to Perplexity LLM service
2025-09-03 09:07:18 -04:00
Paul Kompfner
ec138b97d9
Add support for universal LLMContext to OpenRouter LLM service
2025-09-03 09:07:18 -04:00
Paul Kompfner
0c32cc29a7
Add support for universal LLMContext to OpenPipe LLM service
2025-09-03 09:07:18 -04:00
Paul Kompfner
d740bab99e
Add support for universal LLMContext to NVIDIA NIM LLM service
2025-09-03 09:07:18 -04:00
Paul Kompfner
ac62183eb6
Add NVIDIA_API_KEY to env.example
2025-09-03 09:07:18 -04:00
Paul Kompfner
34f823bcac
Add support for universal LLMContext to Groq LLM service
2025-09-03 09:07:18 -04:00
Paul Kompfner
b4e1051066
Add support for universal LLMContext to Grok LLM service
2025-09-03 09:07:18 -04:00
Paul Kompfner
d8882bc381
Add support for universal LLMContext to Google Vertex AI LLM service
2025-09-03 09:07:18 -04:00
Paul Kompfner
da18d0a562
Add support for universal LLMContext to Fireworks AI LLM service
2025-09-03 09:07:18 -04:00
Paul Kompfner
f8e13a82cf
Fix Fireworks AI function calling example
2025-09-03 09:07:18 -04:00
Paul Kompfner
2b00d37e94
Add support for universal LLMContext to DeepSeek LLM service
2025-09-03 09:07:18 -04:00
Paul Kompfner
2dbd17da4d
Fix Cerebras function calling example
2025-09-03 09:07:18 -04:00
Paul Kompfner
d45fbd5455
Add support for universal LLMContext to Cerebras LLM service
2025-09-03 09:07:18 -04:00
Paul Kompfner
b22bdff6d0
Add support for universal LLMContext to Azure LLM service
2025-09-03 09:07:18 -04:00
Paul Kompfner
2b286365e0
Add MISTRAL_API_KEY to env.example
2025-09-03 09:07:18 -04:00
Eduards Klavins
0a3e98857e
fix timeout handling in AWSBedrockLLMService
2025-09-03 11:52:30 +03:00
Aleix Conchillo Flaqué
aeb9f1ffca
transports: reorganize module
2025-09-02 17:31:39 -07:00
Filipi da Silva Fuchter
7f1100bd4c
Merge pull request #2513 from pipecat-ai/filipi/whatsapp
...
Support for the new WhatsApp Cloud API
2025-09-02 18:06:59 -03:00
Filipi Fuchter
8fbd9b5af7
Added support for WhatsApp User-initiated Calls.
2025-09-02 18:05:00 -03:00
Filipi Fuchter
49c1f0bd08
Fixed SmallWebRTCTransport to not use mid to decide if the transceiver should be sendrecv or not.
2025-09-02 18:04:51 -03:00
Aleix Conchillo Flaqué
ce7a0512f9
Merge pull request #2562 from pipecat-ai/aleix/ai-coustics-speech-enhancement
...
add ai-coustics speech enhancement filter
2025-09-02 13:13:28 -07:00
Aleix Conchillo Flaqué
fdcd14dd21
updated CHANGELOG with AICFilter and fix deprecations
2025-09-02 13:10:10 -07:00
Mark Backman
0386599163
Added Daily SIP room creation utility ( #2560 )
...
* Added Daily SIP room creation utility to configure() function
* Add sip_codecs to the DailyRoomSipParams
2025-09-02 14:12:04 -04:00
Corvin Jaedicke
c1ce3d7d2b
bumped aic-sdk version to v1.0.1 with minor changes
2025-09-02 11:11:29 -07:00
Corvin Jaedicke
8ecece2d9c
Add AIC SDK audio filter
2025-09-02 11:11:29 -07:00
Filipi da Silva Fuchter
0d8ab7abca
Merge pull request #2552 from pipecat-ai/filipi/freeze_issues
...
Fixed an issue where the pipeline could freeze.
2025-09-02 14:43:08 -03:00
Filipi Fuchter
dea7c22020
Fixed an issue where the pipeline could freeze.
2025-09-02 13:58:41 -03:00
Mark Backman
cfe11267f4
Merge pull request #2546 from pipecat-ai/mb/update-changelog-mem0
...
Add mem0 changelog entry
2025-09-02 07:22:52 -07:00
Mark Backman
d0c97d3602
Add mem0 changelog entry
2025-09-02 10:03:17 -04:00
Mark Backman
37e1551abc
Merge pull request #2555 from pipecat-ai/mb/update-uv-lock-quickstart
2025-09-02 04:19:15 -07:00
Mark Backman
e1477e79f0
Merge pull request #2538 from rimelabs/rime-flush-audio-update
...
Use Rime’s official {"operation": "flush"} command in flush_audio() for proper text buffer flushing
2025-09-01 18:01:20 -07:00
Mark Backman
547b126d98
Update required pipecat-ai version for quickstart
2025-09-01 20:52:44 -04:00
Mark Backman
447e3b28eb
Update uv.lock for quickstart
2025-09-01 20:52:12 -04:00
gokuljs
472efa2971
ruff format fix
2025-09-02 04:25:28 +05:30
Mark Backman
64486ef50b
Merge pull request #2536 from gladiaio/PLA-38-missing-config-parameters
...
Gladia - add missing config parameters
2025-09-01 12:42:10 -07:00
gokuljs
5f801743d0
Add changelog entry for RimeTTSService flush_audio API update
2025-09-01 22:16:02 +05:30
Fabrice Lamant
802c5d04f4
update changelog
2025-09-01 10:21:11 +02:00
Aleix Conchillo Flaqué
83b90da53a
Merge pull request #2537 from pipecat-ai/aleix/pipeline-task-cleanup-observers
...
PipelineTask: cleanup observers
2025-08-31 13:44:38 -07:00
Aleix Conchillo Flaqué
1f49de5cdf
Merge pull request #2542 from pipecat-ai/aleix/remove-stop-interruption-frame
...
frames: remove StopInterruptionFrame
2025-08-31 13:44:22 -07:00
Manish Kumar
2ee481d541
feat: add voice cloning and speaking rate to GoogleTTSService
2025-08-30 23:04:59 +05:30
Mark Backman
7cf099eae7
Merge pull request #2541 from parshvadaftari/user/parshva/update_mem0
...
Update mem0 integration
2025-08-30 05:11:31 -07:00
Mark Backman
93a8ea3cb2
Merge pull request #2543 from pipecat-ai/mb/docs-extensions
...
Add Extensions to ref docs generation
2025-08-30 04:20:03 -07:00
Aleix Conchillo Flaqué
776aafddfb
Merge pull request #2534 from pipecat-ai/aleix/pyright-1.1.404
...
pyproject: update pyright and ruff
2025-08-29 19:55:54 -07:00
Mark Backman
d56762262a
Fix docs build errors
2025-08-29 20:24:35 -04:00
Mark Backman
bbcf35d657
Add Extensions to reference docs generation
2025-08-29 20:17:34 -04:00
Mark Backman
972546b24f
Add IVR navigation ( #2529 )
2025-08-29 20:08:17 -04:00
Aleix Conchillo Flaqué
8b351f5bec
pyproject: update pyright and ruff
2025-08-29 17:02:13 -07:00
Aleix Conchillo Flaqué
bd7d9346b7
frames: remove StopInterruptionFrame
2025-08-29 16:40:01 -07:00
Aleix Conchillo Flaqué
81325be4f3
Merge pull request #2540 from pipecat-ai/aleix/dtmf-tones-slower
...
audio(dtmf): use longer tones and longer gaps
2025-08-29 15:15:01 -07:00
Aleix Conchillo Flaqué
399f8de6ef
audio(dtmf): use longer tones and longer gaps
2025-08-29 15:10:20 -07:00
parshvadaftari
60c070e077
update mem0 integration for reduced latency and better performance
2025-08-30 02:27:36 +05:30
gokuljs
e3f2faabf7
Merge branch 'main' of github.com:rimelabs/pipecat into rime-flush-audio-update
2025-08-30 01:18:50 +05:30
Aleix Conchillo Flaqué
b5a644dd6f
PipelineTask: cleanup observers
2025-08-29 10:54:36 -07:00
gokuljs
e06bd6049e
update flush operation in flush audio function under rime tts
2025-08-29 21:27:14 +05:30
Fabrice Lamant
25b595e125
add suggestions
2025-08-29 14:51:20 +02:00
Fabrice Lamant
edc8cc1e69
remove sample_rate from GladiaInputParams
2025-08-29 14:00:00 +02:00
Fabrice Lamant
633dd69dee
feat: add logging for pipecat version and session url
2025-08-29 13:47:16 +02:00
Fabrice Lamant
1a1d5a1081
feat: add missing config params
2025-08-29 13:46:44 +02:00
Aleix Conchillo Flaqué
c1b8d2acab
Merge pull request #2532 from pipecat-ai/aleix/universal-dtmf-support
...
Universal DTMF support
2025-08-28 21:04:13 -07:00
Aleix Conchillo Flaqué
ea368e4c5f
scripts(dtmf): added generate_dtmf.sh to generate DTMF wav files
2025-08-28 21:01:41 -07:00
Aleix Conchillo Flaqué
f03deb6ecc
DailyTransport: remove send_dtmf() and write_dtmf()
2025-08-28 21:01:41 -07:00
Aleix Conchillo Flaqué
0e01ac8ef6
BaseOutputTransport: implement generic write_dtmf()
2025-08-28 21:01:41 -07:00
Aleix Conchillo Flaqué
5787743ab3
audio(dtmf): added DTMF audio files and load_dtmf_audio()
2025-08-28 21:01:41 -07:00
Aleix Conchillo Flaqué
79be0695dd
make sure warnings are always displayed
2025-08-28 17:43:29 -07:00
Aleix Conchillo Flaqué
a5c5e069ba
move pipecat.frames.frames.KeypadEntry to pipecat.audio.dtmf.types.KeypadEntry
2025-08-28 17:43:29 -07:00
Aleix Conchillo Flaqué
77c34076f7
Merge pull request #2531 from pipecat-ai/aleix/pipecat-0.0.82
...
update CHANGELOG for 0.0.82
2025-08-28 13:04:41 -07:00
Aleix Conchillo Flaqué
d67cece356
update CHANGELOG for 0.0.82
2025-08-28 13:02:47 -07:00
Aleix Conchillo Flaqué
275c8b59c5
MistralLLMService: fix build_chat_completion_params()
2025-08-28 12:04:14 -07:00
Aleix Conchillo Flaqué
5ebcea2a3b
scripts(eval): change "result" function call parameter
2025-08-28 11:38:59 -07:00
Aleix Conchillo Flaqué
64f2135ddc
examples(14f): use default models
2025-08-28 11:38:59 -07:00
kompfner
a74231f036
Merge pull request #2515 from pipecat-ai/pk/llm-run-frame
...
Add `LLMRunFrame` to trigger an LLM response, replacing `context_aggr…
2025-08-28 10:01:00 -04:00
Paul Kompfner
189749b579
Add LLMRunFrame to trigger an LLM response, replacing context_aggregator.user().get_context_frame()
2025-08-28 09:53:33 -04:00
Aleix Conchillo Flaqué
e384ca949e
Merge pull request #2512 from pipecat-ai/aleix/textframe-skip-tts
...
TextFrame: add skip_tts field
2025-08-27 16:26:03 -07:00
Aleix Conchillo Flaqué
eb248fedc1
add skip_tts to LLMFullResponseStartFrame/LLMFullResponseEndFrame
2025-08-27 16:23:27 -07:00
Aleix Conchillo Flaqué
16f57be72c
LLMConfigureOutputFrame: allow configuring LLM output
2025-08-27 16:23:27 -07:00
Aleix Conchillo Flaqué
5803936838
TextFrame: add skip_tts field
...
This lets a text frame bypass TTS while still being included in the LLM
context. Useful for cases like structured text that isn’t meant to be spoken but
should still contribute to context.
2025-08-27 16:23:27 -07:00
Aleix Conchillo Flaqué
d9837dd1e5
Merge pull request #2527 from pipecat-ai/aleix/daily-python-0.19.8
...
pyproject: update daily-python to 0.19.8
2025-08-27 16:22:49 -07:00
Aleix Conchillo Flaqué
e48c9fc3e2
pyproject: update daily-python to 0.19.8
2025-08-27 16:00:36 -07:00
Aleix Conchillo Flaqué
3c4454a33e
Merge pull request #2526 from pipecat-ai/aleix/pipeline-task-wait-for-startframe
...
PipelineTask: wait for StartFrame to reach end of pipeline
2025-08-27 15:57:10 -07:00
Aleix Conchillo Flaqué
2a0780e6ef
PipelineTask: wait for StartFrame to reach end of pipeline
...
Fixes #2498
2025-08-27 14:23:09 -07:00
Aleix Conchillo Flaqué
5e121346fb
Merge pull request #2516 from pipecat-ai/aleix/rtvi-client-version-check
...
RTVIProcessor: make check sure client version is set
2025-08-27 14:02:14 -07:00
Aleix Conchillo Flaqué
2bdca8d22c
RTVIProcessor: make check sure client version is set
2025-08-27 13:36:11 -07:00
Aleix Conchillo Flaqué
1f5888bcf7
Merge pull request #2517 from pipecat-ai/aleix/unify-get-messages-for-logging
...
unify get_messages_for_logging()
2025-08-27 12:49:36 -07:00
Mark Backman
3d09f9a2af
Merge pull request #2524 from pipecat-ai/mb/cartesia-speed
...
Cartesia: update speed InputParam
2025-08-27 12:47:29 -07:00
Aleix Conchillo Flaqué
cd3563bb16
unify get_messages_for_logging()
...
Some implementations were returing a list and some were returning a JSON
string. They should all return a list and the user would decide if it wants to
transform that into JSON.
2025-08-27 12:45:24 -07:00
Aleix Conchillo Flaqué
3e79ef4118
Merge pull request #2525 from pipecat-ai/aleix/daily-fix-send-dtmf
...
DailyTransport: fix sending DTMF tones
2025-08-27 12:44:27 -07:00
Aleix Conchillo Flaqué
2613da1a1f
PipelineTask: increase CANCEL_TIMEOUT_SECS to 20
2025-08-27 11:50:48 -07:00
Aleix Conchillo Flaqué
41d40f9a11
DailyTransport: make sure we have a client before joining/leaving
2025-08-27 11:50:48 -07:00
Aleix Conchillo Flaqué
74af2b6aa4
DailyTransport: fix sending DTMF tones
2025-08-27 11:50:48 -07:00
Mark Backman
f7d9f32b0f
Cartesia: update speed InputParam
2025-08-27 13:34:28 -04:00
Mark Backman
6074af60ef
Merge pull request #2521 from pipecat-ai/mb/update-quickstart-pcc-docker
...
Update quickstart to use pcc docker command
2025-08-27 08:13:31 -07:00
Mark Backman
7ef6893c0d
Merge pull request #2523 from sam-s10s/fix/connection-none
...
Speechmatics TTS connection issue
2025-08-27 08:09:46 -07:00
Sam Sykes
cc5557e051
changelog
2025-08-27 16:07:31 +01:00
Sam Sykes
06f7a92c99
fix to finally statement
2025-08-27 14:43:07 +01:00
Mark Backman
61a333ccae
Update quickstart to use pcc docker command
2025-08-26 21:29:13 -04:00
Mark Backman
fc3d84dff7
Merge pull request #2501 from pipecat-ai/mb/aws-tts-more-flexible-auth
...
Support additional authentication mechanisms for AWS services
2025-08-26 18:05:37 -07:00
Mark Backman
86a37d8cea
Add changelog entry for SentryMetrics missing import fix
2025-08-26 21:00:16 -04:00
Mark Backman
3f66acf9f1
Merge pull request #2520 from geluso/bugfix-missing-asyncio-import
...
add missing import asyncio
2025-08-26 17:59:25 -07:00
Mark Backman
facfaa2dd4
AWSBedrockLLMService: Allow setting auth credentials via env vars
2025-08-26 20:59:12 -04:00
Mark Backman
8250c381d1
AWSPollyTTSService: allow setting auth credentials through provider chain
2025-08-26 20:58:02 -04:00
Steve Geluso
32f9e48865
add missing import asyncio
2025-08-26 17:40:11 -07:00
Filipi Fuchter
76eef837b6
Removing watchdog from SarvamTTSService.
2025-08-26 18:44:58 -03:00
Filipi Fuchter
c9aaa463b7
Mentioning the recent SarvamTTSService changes in the changelog.
2025-08-26 18:44:58 -03:00
pratham-sarvam
6d582e41b7
Added Sarvam TTS Websocket Implementation ( #2356 )
...
* Added Sarvam TTS Websocket Implementation
* Addressed some of the comments on PR
* added change voice logic
* added changes from main
* pushing text frames and added flush audio
* updated docs string for better docs
* Addressed comments and added some improvements
* pushed optional args down
* removed new line
* made aiohttp session mandatory in http service
* added push frame and removed unused function
* removed pong message
* added disconnecting logic
---------
Co-authored-by: vinayak-sarvam <vinayak@sarvam.ai >
2025-08-26 18:10:26 -03:00
kompfner
ca29f62bff
Merge pull request #2510 from pipecat-ai/pk/fix-set-tools-types
...
Update types for tools in `LLMSetToolsFrame` and `LLMContextAggregato…
2025-08-26 14:12:21 -04:00
Aleix Conchillo Flaqué
0dced68c3c
Merge pull request #2511 from pipecat-ai/aleix/end-of-pipline-warning
...
PipelineTask: warn if CancelFrame doesn't reach the end
2025-08-26 11:02:26 -07:00
Aleix Conchillo Flaqué
8ab81d289a
PipelineTask: warn if CancelFrame doesn't reach the end
2025-08-26 10:36:33 -07:00
Paul Kompfner
f457d00760
Update types for tools in LLMSetToolsFrame and LLMContextAggregator.set_tools(), for two reason:
...
1. `ToolsSchema` has been supported in `LLMSetToolsFrame` for a while but wasn't properly reflected in these type hints
2. The new universal `LLMContext` expects tools to be either a `ToolsSchema` or `NOT_GIVEN`.
2025-08-26 11:32:21 -04:00
kompfner
f5118c4412
Merge pull request #2440 from pipecat-ai/pk/prototype-llm-failover-attempt-4
...
Support for runtime LLM switching
2025-08-26 09:55:03 -04:00
Paul Kompfner
a79fe40162
Fix a typo in the CHANGELOG
2025-08-26 09:51:48 -04:00
Paul Kompfner
dcb4949e20
Move ServiceSwitcherFrame and ManuallySwitchServiceFrame to frames.py
2025-08-26 09:47:37 -04:00
Paul Kompfner
8b543e558d
Add CHANGELOG entry describing LLMService.run_inference()
2025-08-26 09:47:32 -04:00
Paul Kompfner
8181962236
Add CHANGELOG entry describing LLM switcher
2025-08-26 09:46:51 -04:00
Paul Kompfner
98dc891640
Move CHANGELOG log entry from 0.0.81 to Unreleased
2025-08-26 09:45:49 -04:00
Paul Kompfner
71de0da570
ServiceSwitchers are now controlled using frames rather than with direct method calls
2025-08-26 09:44:15 -04:00
Paul Kompfner
b40c8bb81d
Refactor LLMSwitcher into a base ServiceSwitcher and an LLMSwitcher that subclasses it
2025-08-26 09:44:15 -04:00
Paul Kompfner
43f1b59b86
Convert LLM generate_summary() methods to the more generic run_inference()
2025-08-26 09:44:15 -04:00
Paul Kompfner
a0a2bb3aa4
In GeminiLLMAdapter, when translating from the universal LLMContext format, only pull out the first "system" message as the system instruction, and convert subsequent ones into "user" messages. This is a more correct thing to do than simply drop subsequent "system" messages, especially when potentially sharing a context between multiple LLMs.
2025-08-26 09:44:15 -04:00
Paul Kompfner
04a50df3d5
Add LLMSwitcher, with LLMSwitcherStrategyManual as the first supported switching strategy
2025-08-26 09:44:15 -04:00
Paul Kompfner
8c0edffaff
Fix bug in AWS Bedrock conversation summarization. It was using an out-of-date pattern (the _client property no longer exists)
2025-08-26 09:44:15 -04:00
Paul Kompfner
fe6063fdbe
Introduce an affordance to LLMService for generating a summary of a conversation directly (i.e. without going through the pipeline).
...
This abstraction will allow us to update Pipecat Flows to avoid reaching into LLM service internals to generate summaries.
In addition to being a helpful refactor to remove a fragile part of Pipecat Flows, this change helps set the stage for supporting the upcoming `LLMSwitcher`, where the “active” LLM will only be determined at runtime—today, Pipecat Flows needs to know ahead of time what type of LLM it’s working with, to load an LLM-specific “adapter” that does the work of generating summaries, among other things.
2025-08-26 09:44:15 -04:00
Paul Kompfner
195146adb2
Bump deprecation warning version, as this commit is not expected to ship until version 0.0.82.
2025-08-26 09:44:15 -04:00
Paul Kompfner
cab9e18cc9
Port recent change to LLMAssistantContextAggregator to universal LLMAssistantAggregator
2025-08-26 09:44:15 -04:00
Paul Kompfner
baef688e4e
Port recent changes to LLMUserContextAggregator to universal LLMUserAggregator
2025-08-26 09:44:15 -04:00
Paul Kompfner
f1f43fe500
After a rebase, rename foundational examples showing usage of universal context to avoid naming conflict with a recently-added example.
2025-08-26 09:44:15 -04:00
Paul Kompfner
73b63f8d35
Remove unnecessary import
2025-08-26 09:44:15 -04:00
Paul Kompfner
0c14b33e92
Deprecate GoogleLLMOpenAIBetaService
2025-08-26 09:44:15 -04:00
Paul Kompfner
09beaccaf0
Assorted minor improvements after code review
2025-08-26 09:44:15 -04:00
Paul Kompfner
40557a1aae
Remove TODO comment
2025-08-26 09:44:15 -04:00
Paul Kompfner
ecc4cc4a79
Add support for universal LLMContext to RTVIObserver
2025-08-26 09:44:15 -04:00
Paul Kompfner
37be8805f4
ruff
2025-08-26 09:44:15 -04:00
Paul Kompfner
93c7e64995
Add missing PERPLEXITY_API_KEY in env.example
2025-08-26 09:44:15 -04:00
Paul Kompfner
9de2bd61a9
Add supports_universal_context for OpenAILLMService subclasses so that we can gradually roll out support for universal LLMContext in a controlled manner.
...
Also update `get_chat_completions()` implementations with the new argument type.
2025-08-26 09:44:15 -04:00
Paul Kompfner
566af71862
Add CHANGELOG entry for the universal LLMContext machinery
2025-08-26 09:44:15 -04:00
Paul Kompfner
12064bd6e6
Add a bit of helpful info in an error message
2025-08-26 09:44:15 -04:00
Paul Kompfner
a962459151
Change LLMContextAggregatorPair.create(context) to LLMContextAggregatorPair(context)
2025-08-26 09:44:15 -04:00
Paul Kompfner
8fc76a29bc
Raise errors when trying to use universal LLMContext with LLM services that don't yet support it
2025-08-26 09:44:15 -04:00
Paul Kompfner
e3019261a5
Fix classes that subclass BaseLLMAdapter by adding placeholder stuff until support for universal LLMContext machinery comes to all LLM services
2025-08-26 09:44:15 -04:00
Paul Kompfner
fa1f6f1c51
In LLMContext, normalize an empty provided ToolsSchema to NOT_GIVEN
2025-08-26 09:44:15 -04:00
Paul Kompfner
337f00c16c
Minor fix: add a type annotation
2025-08-26 09:44:15 -04:00
Paul Kompfner
d50922cdcd
Update Google adapter to handle possibility of system message in standard format being provided as a list of text parts rather than just a string.
2025-08-26 09:44:15 -04:00
Paul Kompfner
47f5ca6265
Update Gemini adapter to be able to handle LLMSpecificMessages containing Google-formatted messages
2025-08-26 09:44:15 -04:00
Paul Kompfner
2eddb6ffda
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Remove outdated comment
2025-08-26 09:44:15 -04:00
Paul Kompfner
560a6f2247
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Make `LLMContext.add_audio_frames_message()` respect the OpenAI standard format
2025-08-26 09:44:15 -04:00
Paul Kompfner
59ecb19000
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Add support for LLM-specific messages in the universal `LLMContext`, to enable using LLM-specific functionality while still using the universal LLM context
2025-08-26 09:44:15 -04:00
Paul Kompfner
cfb094b3c8
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Make it so that tools in `LLMContext` are guaranteed to be either a `ToolsSchema` or `NOT_GIVEN`
2025-08-26 09:44:15 -04:00
Paul Kompfner
1f7e8e001b
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Update some types to also allow for universal `LLMContext`
2025-08-26 09:44:15 -04:00
Paul Kompfner
688b136141
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Add to Google LLM service support for universal LLM context
2025-08-26 09:44:15 -04:00
Paul Kompfner
809c4c1bc5
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Add to OpenAI LLM service support for universal LLM context
2025-08-26 09:44:15 -04:00
Paul Kompfner
81ca5e6601
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Formatting fix + dead import cleanup
2025-08-26 09:44:15 -04:00
Paul Kompfner
ebc49d2252
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Add a "universal" alias for `OpenAILLMContextAssistantTimestampFrame`: `LLMContextAssistantTimestampFrame`
2025-08-26 09:44:15 -04:00
Paul Kompfner
ff8d158e18
[WIP] Universal (LLM-agnostic) context machinery to support runtime LLM switching.
...
- Added universal `LLMContext` and associated context aggregators.
2025-08-26 09:44:15 -04:00
Aleix Conchillo Flaqué
37980b0854
Merge pull request #2504 from pipecat-ai/aleix/cartesia-fix-timeout-reconnection
...
CartesiaTTSService: reconnect on Cartesia's timeout
2025-08-25 15:24:31 -07:00
Aleix Conchillo Flaqué
39ebc2c9c1
CartesiaTTSService: reconnect on Cartesia's timeout
2025-08-25 14:09:03 -07:00
Aleix Conchillo Flaqué
ab61d09ec1
Merge pull request #2502 from pipecat-ai/aleix/pipecat-0.0.81
...
update CHANGELOG for 0.0.81
2025-08-25 09:28:21 -07:00
Aleix Conchillo Flaqué
e4afc0a13c
update CHANGELOG for 0.0.81
2025-08-25 08:22:28 -07:00
Mark Backman
dde3d2395b
Merge pull request #2491 from pipecat-ai/mb/update-quickstart
2025-08-23 06:34:37 -07:00
Aleix Conchillo Flaqué
30b36c3d6e
Merge pull request #2497 from pipecat-ai/aleix/pipeline-task-fix-cancellation
...
PipelineTask: handle cancellations gracefully
2025-08-22 22:37:12 -07:00
Mark Backman
de4dfc3ed4
Update deployment steps
2025-08-23 00:19:26 -04:00
Aleix Conchillo Flaqué
a0128516ff
PipelineTask: handle cancellations gracefully
2025-08-22 19:04:31 -07:00
Aleix Conchillo Flaqué
db3b8c7325
Merge pull request #2496 from pipecat-ai/aleix/release-evals-always-provide-eval-prompt
...
scripts(evals): always require an eval prompt
2025-08-22 18:11:33 -07:00
Aleix Conchillo Flaqué
9273ec0f25
scripts(evals): always require an eval prompt
2025-08-22 16:57:47 -07:00
Mark Backman
8dfa1187be
Merge pull request #2402 from pipecat-ai/mb/voicemail-detection
...
Add voicemail detection
2025-08-22 14:51:13 -07:00
Mark Backman
e17fd580c6
Update README
2025-08-22 15:56:56 -04:00
mattie ruth backman
3e3d50a855
Fix issue with request images from the camera introduced in smallwebrtctransport
2025-08-22 15:02:33 -04:00
Mark Backman
402661ae03
Prevent user speaking frames from entering the classifier branch after a conversation is detected
2025-08-22 14:09:45 -04:00
Mark Backman
69c6a95b8a
Simplify frames in the NotifierGate
2025-08-22 14:09:45 -04:00
Mark Backman
4d49210a73
Rename system_prompt to custom_system_prompt; improve dev ex for classification prompt requirements
2025-08-22 14:09:45 -04:00
Aleix Conchillo Flaqué
5f8a22ef2f
Merge pull request #2493 from pipecat-ai/aleix/runner-task-asyncio-cancellation
...
PipelineRunner/PipelineTask: fix asyncio task cancellation
2025-08-22 09:13:58 -07:00
Aleix Conchillo Flaqué
606ad0826a
Merge pull request #2492 from pipecat-ai/aleix/wait-for-task-deprecated
...
FrameProcessor: wait_for_task is now deprecated
2025-08-22 09:13:34 -07:00
Mark Backman
57028255ee
Update changelog, mention text LLMs only
2025-08-22 12:12:17 -04:00
Mark Backman
87ebbab758
Only set/clear voicemail_event when voicemail is detected
2025-08-22 12:12:17 -04:00
Mark Backman
bd401e8d6f
Rename TTSBuffer to TTSGate
2025-08-22 12:12:17 -04:00
Mark Backman
f0dfab23e7
Cleanup
2025-08-22 12:12:17 -04:00
Mark Backman
fbc907c371
Change path to extensions
2025-08-22 12:12:17 -04:00
Mark Backman
40b5ef485d
Add base NotifierGate class and ClassifierGate, ConversationGate subclasses
2025-08-22 12:12:17 -04:00
Mark Backman
b30af3e155
Tests specify USER_SPEAKS_FIRST or BOT_SPEAKS_FIRST
2025-08-22 12:12:17 -04:00
Mark Backman
446bb5cddf
Refactor callback to event
2025-08-22 12:12:17 -04:00
Mark Backman
1c1ee94074
Add 44 to evals, update evals to support user speaking first
2025-08-22 12:12:17 -04:00
Mark Backman
ac30083b45
Add CHANGELOG entry
2025-08-22 12:12:17 -04:00
Mark Backman
ce579d4266
Make on_voicemail_detected callback required, cleanup logging
2025-08-22 12:12:17 -04:00
Mark Backman
5a07b30c7a
Class name changes, add TTSStarted/StoppedFrame to the TTSBuffer
2025-08-22 12:12:17 -04:00
Mark Backman
9da33f3897
Handle multiple user inputs from the user when a voicemail is detected; add a configurable timeout to emitting the callback
2025-08-22 12:12:17 -04:00
Mark Backman
5ca82ec61e
Final docstrings, comments, and cleanup
2025-08-22 12:12:17 -04:00
Mark Backman
0067c7df47
Add aggregation to classifier LLM output and validate prompt
2025-08-22 12:12:17 -04:00
Mark Backman
ab03db5b0c
Updated prompt, add custom system_prompt input
2025-08-22 12:12:17 -04:00
Mark Backman
238d6bf9ab
Add buffering logic
2025-08-22 12:12:17 -04:00
Mark Backman
90ae85bab2
More updates—added new voicemail module
2025-08-22 12:12:17 -04:00
Mark Backman
29e09b2053
POC demo in progress
2025-08-22 12:12:17 -04:00
mattie ruth backman
bad9977e8c
PR feedback and more explicit about only supporting exporting 1 video
2025-08-22 11:24:22 -04:00
mattie ruth backman
b987579d54
update smallWebRTC screen support to support the utils format for listening to screenshares
2025-08-22 11:24:22 -04:00
mattie ruth backman
40f1f4ff11
Add support to smallWebRTCTransport for receiving screenshare videos
2025-08-22 11:24:22 -04:00
Aleix Conchillo Flaqué
a3ad31d0f6
README: recommended python version is 3.12
2025-08-21 23:50:00 -07:00
Aleix Conchillo Flaqué
8044c4170d
PipelineRunner/PipelineTask: fix asyncio task cancellation
2025-08-21 23:50:00 -07:00
Aleix Conchillo Flaqué
bc51e7abc6
FrameProcessor: wait_for_task is now deprecated
2025-08-21 21:17:47 -07:00
Aleix Conchillo Flaqué
256ecf4d71
Merge pull request #2490 from pipecat-ai/aleix/speechmatics-exceptions
...
Speechmatics exception handling
2025-08-21 19:48:43 -07:00
Aleix Conchillo Flaqué
c16969c4f5
Merge pull request #2489 from pipecat-ai/aleix/daily-python-0.19.7
...
pyproject: update daily-python to 0.19.7
2025-08-21 19:48:31 -07:00
Mark Backman
8ef64d8c8d
Update quickstart, make it deployable
2025-08-21 22:32:34 -04:00
Aleix Conchillo Flaqué
4947d08733
GladiaSTTService: update loggin levels
2025-08-21 18:42:23 -07:00
Aleix Conchillo Flaqué
b61846534d
SpeechmaticsSTTService: improve exception handling and loggin
2025-08-21 18:42:23 -07:00
Aleix Conchillo Flaqué
8f01cd220a
pyproject: update daily-python to 0.19.7
2025-08-21 18:40:01 -07:00
Aleix Conchillo Flaqué
3abaaf80e0
Merge pull request #2487 from pipecat-ai/aleix/watchdog-timers-removal
...
remove watchdog timers and specific asyncio implementations
2025-08-21 18:37:35 -07:00
Aleix Conchillo Flaqué
13890fa021
github(tests): use python 3.12 to run unit tests/coverage
2025-08-21 18:09:56 -07:00
Aleix Conchillo Flaqué
802af28888
update pytest-asyncio to 1.1.0
2025-08-21 18:09:56 -07:00
Aleix Conchillo Flaqué
24a628c85e
remove watchdog timers and specific asyncio implementations
...
Watchdog timers have been removed. They were introduced in 0.0.72 to help
diagnose pipeline freezes. Unfortunately, they proved ineffective since they
required developers to use Pipecat-specific queues, iterators, and events to
correctly reset the timer, which limited their usefulness and added friction.
2025-08-21 18:09:56 -07:00
Mark Backman
ddab95835b
Merge pull request #2474 from pipecat-ai/mb/add-frames-pipeline-idle
...
Add UserStarted/StoppedSpeakingFrames to idle_timeout_frames
2025-08-21 03:45:46 -07:00
Mark Backman
cb13f4b4cb
Add user speaking and transcription frames to idle_timeout_frames
2025-08-21 06:43:10 -04:00
Aleix Conchillo Flaqué
4793277d34
Merge pull request #2480 from pipecat-ai/aleix/replace-asyncio-waitfor
...
replace asyncio.wait_for for wait_for2.wait_for
2025-08-20 17:43:32 -07:00
Aleix Conchillo Flaqué
28c729cc36
replace asyncio.wait_for for wait_for2.wait_for
2025-08-20 15:26:57 -07:00
Aleix Conchillo Flaqué
4d07c7b77c
Merge pull request #2479 from pipecat-ai/aleix/simplify-dtmf-aggregator
...
DTMFAggregator: no need for interruption task
2025-08-20 15:15:35 -07:00
Aleix Conchillo Flaqué
4ff0567025
BaseObject: allow keyword arguments
2025-08-20 15:14:31 -07:00
Aleix Conchillo Flaqué
1377dec01b
DTMFAggregator: no need for interruption task
...
Now that system frames are queued there's no need to have an additional task to
push a `BotInterruptionFrame`.
2025-08-20 14:35:04 -07:00
Aleix Conchillo Flaqué
42f4d73a63
Merge pull request #2478 from pipecat-ai/aleix/fix-wait-for2-import
...
timeout: fix wait_for2 import
2025-08-20 14:29:19 -07:00
Aleix Conchillo Flaqué
f1c1ebf852
timeout: fix wait_for2 import
2025-08-20 14:24:16 -07:00
Aleix Conchillo Flaqué
eb6d43f6cb
Merge pull request #2476 from pipecat-ai/aleix/add-asyncio-timeout
...
implement custom asyncio.wait_for()
2025-08-20 14:20:22 -07:00
Aleix Conchillo Flaqué
f387776985
add custom asyncio.wait_for()
...
This patch uses `wait_for2` package to implement `asyncio.wait_for()` for
Python < 3.12.
In Python 3.12, `asyncio.wait_for()` is implemented in terms of
`asyncio.timeout()` which fixed a bunch of issues. However, this was never
backported (because of the lack of `async.timeout()`) and there are still many
remainig issues, specially in Python 3.10, in `async.wait_for()`.
See https://github.com/python/cpython/pull/98518
2025-08-20 14:09:05 -07:00
Aleix Conchillo Flaqué
5286591826
Merge pull request #2464 from pipecat-ai/aleix/frame-processor-updates
...
various frame processor updates
2025-08-20 10:11:49 -07:00
Aleix Conchillo Flaqué
6831e63ec9
PipelineTask: use PipelineSource/PipelineSink and remove tasks
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
12bcb7db64
ParallelPipeline: use PipelineSource/PipelineSink and remove tasks
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
1b48b1d860
Pipeline: allow passing user source and sink processors
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
d161e2767f
FrameProcessor: allow pausing/resuming system frames
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
4e3af00b6d
tests: try to use default SleepFrame time
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
4015aedb86
tests: fix unit tests
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
75a6ee839b
BaseObserver: added new on_process_frame
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
13ce02c896
FrameProcessor: add new entry_processors() method
2025-08-20 10:08:54 -07:00
Aleix Conchillo Flaqué
2fd5885dc3
pipeline: implement processors property
2025-08-20 07:40:21 -07:00
Aleix Conchillo Flaqué
d743586bfb
BasePipeline: move processors_with_metrics() to FrameProcessor
2025-08-20 07:40:21 -07:00
Aleix Conchillo Flaqué
8051017895
pipeline: wrap with pipelines, use direct mode and reduce tasks
2025-08-20 07:40:21 -07:00
Aleix Conchillo Flaqué
dc7bf98ce5
Pipeline: improve performance by using direct mode
2025-08-20 07:40:21 -07:00
Aleix Conchillo Flaqué
609a43a191
FrameProcessor: added processors/next/previous properties
2025-08-20 07:40:19 -07:00
Aleix Conchillo Flaqué
4fb04422d9
FrameProcessor: remove unused set_parent/get_parent
2025-08-20 07:40:02 -07:00
Mark Backman
2f74a7e674
Merge pull request #2469 from pipecat-ai/mb/11labs-text-normalization
...
Add apply_text_normalization to ElevenLabs TTS services
2025-08-19 18:21:33 -07:00
Mark Backman
5205f56087
Add apply_text_normalization to ElevenLabs TTS services
2025-08-19 21:19:00 -04:00
Mark Backman
694c792af3
Merge pull request #2470 from pipecat-ai/mb/11labs-settings-reconnect
...
Update ElevenLabsTTSService: update runtime configuration
2025-08-19 18:18:14 -07:00
TheNotary
48b3ad8f8f
adds support for creating InterimTranscriptFrames for Azure speech services
2025-08-19 17:00:42 -05:00
Mark Backman
406e82a842
Merge pull request #2438 from pipecat-ai/mb/delete-old-docs
...
Remove stale docs
2025-08-19 12:22:54 -07:00
Mark Backman
837de5f893
Merge pull request #2468 from pipecat-ai/mb/fix-mistral-docs-errors
...
Fix Mistral docstrings build errors
2025-08-19 12:22:26 -07:00
Mark Backman
10b9b1da2f
Merge pull request #2471 from pipecat-ai/mb/add-13j
...
Add foundational 13j for Azure STT
2025-08-19 12:10:03 -07:00
Mark Backman
7854a2ec83
Add foundational 13j for Azure STT
2025-08-19 14:36:31 -04:00
Mark Backman
ac7c69078f
Merge pull request #2442 from pipecat-ai/mb/retry-completion
...
retry_on_timeout: Anthropic, AWS Bedrock
2025-08-19 11:23:43 -07:00
Mark Backman
c9b4356ea6
Update changelog
2025-08-19 14:21:18 -04:00
Mark Backman
b3e4421191
Add retry_on_timeout to AWSBedrockLLMService
2025-08-19 14:20:35 -04:00
Mark Backman
84058c3948
Add retry_on_timeout to AnthropicLLMService
2025-08-19 14:20:35 -04:00
Mark Backman
aebc781419
Update ElevenLabsTTSService to update when voice_settings change
2025-08-19 13:51:10 -04:00
Mark Backman
4160446f4c
Update ElevenLabsTTSService: reconnect on model and language changes
2025-08-19 11:32:54 -04:00
Mark Backman
05a14af184
Fix Mistral docstrings build errors
2025-08-19 10:31:03 -04:00
Filipi da Silva Fuchter
89d2ef2bde
Merge pull request #2465 from pipecat-ai/filipi/heygen_changing_log_level
...
Changing heygen log level to trace.
2025-08-19 07:50:11 -03:00
Filipi Fuchter
f550015efb
Changing heygen log level to trace.
2025-08-18 18:00:25 -03:00
Abhishek
8bbdc7c8d1
Only set last_frame_time when handling OutputAudioRawFrame
...
We don't want to set `last_frame_time` on other frames like `HeartBeatFrame`, `LLMGeneratedTextFrame`, `InterruptionFrames` so that we can calculate `diff_time` and compare it against `vad_stop_secs` properly
2025-08-16 16:25:14 +05:30
Mark Backman
8fa44863fb
Merge pull request #2455 from pipecat-ai/vp-log-line
...
log: add Disconnected from ElevenLabs debug log
2025-08-15 14:12:28 -07:00
vipyne
088cb56922
log: add Disconnected from ElevenLabs debug log
2025-08-15 15:05:07 -05:00
Aleix Conchillo Flaqué
a789e5feea
Merge pull request #2451 from pipecat-ai/aleix/audio-buffer-processor-overlap
...
AudioBufferProcessor: fix overlap when buffer size is set
2025-08-14 15:31:50 -07:00
Aleix Conchillo Flaqué
16ca44131c
Merge pull request #2452 from pipecat-ai/aleix/runner-daily-direct-handlesigint
...
Runner: set handle_sigint to True for Daily direct
2025-08-14 15:25:05 -07:00
Mark Backman
418860cf26
Merge pull request #2450 from pipecat-ai/mb/fix-openai-changelog-entry
...
fix: Move OpenAI retry changelog entry to the correct release
2025-08-14 15:23:00 -07:00
Aleix Conchillo Flaqué
e2fc8b3dce
Runner: set handle_sigint to True for Daily direct
2025-08-14 14:55:52 -07:00
Aleix Conchillo Flaqué
8b641089f8
AudioBufferProcessor: fix overlap when buffer size is set
2025-08-14 14:44:08 -07:00
Mark Backman
d36ed755ce
fix: Move OpenAI retry changelog entry to the correct release
2025-08-14 17:34:35 -04:00
Mark Backman
7aaf64fe55
Merge pull request #2447 from pipecat-ai/mb/update-foundational-readme
...
Improve the foundational example README
2025-08-14 09:51:01 -07:00
Mark Backman
5f52008974
Improve the foundational example README
2025-08-14 11:29:04 -04:00
Mark Backman
d520677b23
Merge pull request #2408 from pipecat-ai/mb/add-mistral-llm
...
Add MistralLLMService
2025-08-14 08:19:18 -07:00
Mark Backman
42bd1e9d40
Add Mistral to README and pyproject.toml
2025-08-14 11:15:52 -04:00
Mark Backman
7f0494aa04
Override build_chat_completion_params for Mistral
2025-08-14 10:32:18 -04:00
Mark Backman
b7ae2989ac
Add foundational 14w-function-calling.py
2025-08-14 10:00:46 -04:00
Mark Backman
2b2b0f8121
Add MistralLLMService
2025-08-14 09:57:14 -04:00
Mark Backman
5ca33a2b00
Merge pull request #2445 from pipecat-ai/mb/fix-changelog-asyncai
...
fix: Changelog for Async AI bugfix
2025-08-14 06:48:08 -07:00
Mark Backman
938dcb613d
fix: Changelog for Async AI bugfix
2025-08-14 09:13:03 -04:00
Mark Backman
bc748cf9d0
Merge pull request #2444 from ashotbagh/fix/asyncai-force-flush
...
fix(asyncai): force flush WS TTS to eliminate stalls
2025-08-14 06:10:16 -07:00
Ashot
3b55d16a49
fix(asyncai): force flush WS TTS to eliminate stalls
2025-08-14 16:34:34 +04:00
Mark Backman
d7f31e0cbd
Merge pull request #2387 from pipecat-ai/mb/retry-chat-completion
...
Retry chat completions for OpenAILLMService and its subclasses
2025-08-13 14:39:40 -07:00
Mark Backman
c662a2d820
Merge pull request #2437 from pipecat-ai/mb/19-english
...
Foundational 19: Respond in English
2025-08-13 11:57:24 -07:00
Mark Backman
2c220ca54e
Remove stale docs
2025-08-13 14:11:41 -04:00
Mark Backman
89f0ff17c0
Merge pull request #2430 from pipecat-ai/aleix/pipecat-0.0.80
...
update CHANGELOG for 0.0.80
2025-08-13 09:41:43 -07:00
Mark Backman
b5465364fa
Foundational 19: Respond in English
2025-08-13 12:37:13 -04:00
Aleix Conchillo Flaqué
c024eb7b8c
update CHANGELOG for 0.0.80
2025-08-13 11:46:24 -04:00
Mark Backman
608570e89d
Merge pull request #2433 from pipecat-ai/mb/openai-realtime-text-modality
...
fix: Add text support to OpenAIRealtimeBetaLLMService
2025-08-13 08:41:33 -07:00
Mark Backman
3ad61a8a04
Remove stray - in changelog
2025-08-13 11:39:59 -04:00
Mark Backman
4c4bae2db6
Remove unnessecary messages from 19 and 19b examples
2025-08-13 11:39:59 -04:00
Mark Backman
901b6b5913
Add foundational 19b
2025-08-13 11:37:38 -04:00
Mark Backman
71cd0f1c87
fix: Add text support to OpenAIRealtimeBetaLLMService
2025-08-13 11:37:36 -04:00
Filipi da Silva Fuchter
a2a419e6db
Merge pull request #2435 from pipecat-ai/filipi/small_webrtc_end_pipeline
...
Fixed an issue where `SmallWebRTCTransport` ended before TTS finished.
2025-08-13 11:58:33 -03:00
Filipi Fuchter
bbbbdc459a
Fixed an issue where SmallWebRTCTransport ended before TTS finished.
2025-08-13 11:46:51 -03:00
Mark Backman
d203528dad
Merge pull request #2333 from yohan-altrium/fix/2277-azure-tts-ssml-reserved-characters
...
Fixes 2277 - SSML reserved characters causes Azure TTS to fail
2025-08-13 06:27:30 -07:00
Yohan Liyanage
4bcca7956e
Refactors the code based on PR comments and adds the relevant changelog entry.
2025-08-13 16:34:33 +05:30
Aleix Conchillo Flaqué
68a4cf4c68
Merge pull request #2427 from pipecat-ai/aleix/base-watchdog-priority-queue
...
WatchdogPriorityQueue: this is now a base class
2025-08-12 18:25:59 -07:00
Aleix Conchillo Flaqué
0508ddddfb
WatchdogPriorityQueue: fix watchdog sentinel insertion
...
We now force each inserted item in the priority queue to be a tuple and the
actual value to be last in the tuple. All the previous values in the tuple also
need to be numeric.
2025-08-12 17:40:58 -07:00
Mark Backman
8714c9137f
Code review fixes
2025-08-12 17:49:13 -04:00
Mark Backman
4c029fcfa7
Update OpenAILLMService subclasses to use the new build_chat_completion_params function
2025-08-12 17:48:51 -04:00
Mark Backman
5c86f8e687
Add timeout/retry logic and refactor parameter building in BaseOpenAILLMService
...
- Add timeout (default 5.0s) and retry_on_timeout parameters to constructor
- Implement timeout/retry logic in get_chat_completions using asyncio.wait_for
- Extract build_chat_completion_params() as public method for subclass customization
2025-08-12 17:48:51 -04:00
Mark Backman
54a4d8a9f8
Merge pull request #2422 from thsunkid/thu/fix-set-lang-in-base-whisper
...
Fix: assigns string code instead of Language enum to BaseWhisperSTTService._language
2025-08-12 11:57:46 -07:00
Mark Backman
38af514d95
Merge pull request #2407 from pipecat-ai/mb/add-gemini-tts
...
Add GeminiTTSService
2025-08-12 11:56:45 -07:00
Aleix Conchillo Flaqué
6aa80c0b8e
Merge pull request #2424 from pipecat-ai/aleix/system-frame-queues-fix
...
FrameProcessor: fix race condition on FrameProcessorQueue
2025-08-12 11:56:00 -07:00
Mark Backman
e720573e60
Added 07n-interruptible-gemini
2025-08-12 14:54:49 -04:00
Mark Backman
541a43905b
Add GeminiTTSService
2025-08-12 14:52:20 -04:00
Aleix Conchillo Flaqué
707df913cd
FrameProcessor: fix race condition on FrameProcessorQueue
...
We need to increment the counters before the await otherwise we could go to a
different task that could add an item with the same counter.
Also, we need to handle non-frame items as well.
2025-08-12 11:48:22 -07:00
Aleix Conchillo Flaqué
3f3d757581
tests: added WatchdogQueue and WatchdogPriorityQueue unit tests
2025-08-12 11:48:22 -07:00
Aleix Conchillo Flaqué
7c781ce816
WatchdogPriorityQueue: make WatchdogPriorityCancelSentinel public
2025-08-12 11:34:31 -07:00
Aleix Conchillo Flaqué
f3efc9da00
WatchdogQueue: make WatchdogQueueCancelSentinel public
2025-08-12 11:34:31 -07:00
Mark Backman
827a70104d
Merge pull request #2425 from pipecat-ai/mb/runner-add-exotel
...
Add Exotel support to the development runner
2025-08-12 10:36:54 -07:00
Mark Backman
a40327305c
Add Exotel support to the development runner
2025-08-12 13:21:18 -04:00
Thu Nguyen
168af44429
Fix: assigns string code instead of Language enum to _language attr of BaseWhisperSTTService
2025-08-12 20:27:26 +07:00
Mark Backman
5f8433476c
Merge pull request #2397 from gladiaio/PLA-37-GladiaSTTService-minor-tweaks
...
feat: add minor tweaks to GladiaSTTService
2025-08-12 04:59:40 -07:00
Fabrice Lamant
6a6fea74f5
fix: set default region to none
2025-08-12 13:31:51 +02:00
Mark Backman
91b557ecbf
Merge pull request #2419 from pipecat-ai/mb/fix-lockfile-workflow
2025-08-12 03:39:54 -07:00
Mark Backman
be85291414
Merge pull request #2420 from pipecat-ai/mb/runner-handle-sigint-default
2025-08-12 03:39:29 -07:00
Fabrice Lamant
09f171b69d
fix: only pass region if set
2025-08-12 12:05:38 +02:00
Aleix Conchillo Flaqué
929fd98958
Merge pull request #2416 from pipecat-ai/aleix/release-evals-vision
...
scripts(evals): add vision support
2025-08-11 20:08:08 -07:00
Aleix Conchillo Flaqué
1cfbfcaf11
scripts(evals): add vision support
2025-08-11 20:06:24 -07:00
Mark Backman
cd5a3c13bd
Development runner: handle_sigint defaults to False
2025-08-11 22:06:56 -04:00
Mark Backman
9b871b0cc5
Update uv.lock, remove lockfile workflow, update CONTRIBUTING with dependency guidance
2025-08-11 21:39:25 -04:00
Mark Backman
0d499a8aa3
Merge pull request #2409 from pipecat-ai/mb/refactor-playht-http
...
Refactor PlayHTHttpTTSService to use aiohttp
2025-08-11 18:20:58 -07:00
Mark Backman
45292ab13d
Merge pull request #2411 from pipecat-ai/mb/fix-websocket-service-retry
...
fix: WebsocketService retry logic incorrectly handling ConnectionClos…
2025-08-11 18:17:50 -07:00
Mark Backman
be6ea0dbf6
Code review feedback
2025-08-11 21:17:04 -04:00
Aleix Conchillo Flaqué
fb18ae174e
Merge pull request #2417 from pipecat-ai/aleix/release-evals-15-series
...
scripts(evals): add multilinguag support and 15 series
2025-08-11 17:14:47 -07:00
Mark Backman
c4506523ab
Refactor PlayHTHttpTTSService to use aiohttp
2025-08-11 19:58:25 -04:00
Aleix Conchillo Flaqué
b360cb31dc
scripts(evals): add multilinguag support and 15 series
2025-08-11 15:21:14 -07:00
Aleix Conchillo Flaqué
07f104199c
Merge pull request #2415 from pipecat-ai/aleix/moondream-2025-01-09
...
MoondreamService: update to revision 2025-01-09
2025-08-11 15:10:35 -07:00
Aleix Conchillo Flaqué
bc1949b4bf
MoondreamService: update to revision 2025-01-09
2025-08-11 14:54:04 -07:00
Aleix Conchillo Flaqué
2035dd8b39
Merge pull request #2403 from pipecat-ai/aleix/system-frame-queue-priority-fix
...
FrameProcessor: fix system frame higher priorty and use a PriortyQueue
2025-08-11 13:57:57 -07:00
Aleix Conchillo Flaqué
24c8189327
Merge pull request #2405 from pipecat-ai/aleix/frame-processor-direct-mode
...
FrameProcessor: introduce direct mode
2025-08-11 13:57:34 -07:00
Mark Backman
998ac32627
Merge pull request #2413 from captaincaius/fix-stt-mute-filter-vad-frames-20250810
...
Add VADUserStartSpeakingFrame VADUserStopSpeakingFrame to STTMuteFilter (fix #2412 )
2025-08-11 13:54:34 -07:00
Aleix Conchillo Flaqué
50645c1c4f
README: recommend python 3.11-3.12
...
Python 3.11 has significant performance improvements compared to 3.10 which
makes Pipecat's asyncio heavy use specially better.
2025-08-11 13:53:08 -07:00
Aleix Conchillo Flaqué
8ce29ee8f2
FrameProcessor: fix system frame higher priorty and use a PriortyQueue
2025-08-11 13:53:08 -07:00
Captain Caius
7b8aeef4cc
update changelog
2025-08-11 12:45:54 -07:00
Aleix Conchillo Flaqué
6a24457f0e
FrameProcessor: introduce direct mode
...
Direct mode avoids creating internal queues and tasks and processes frames right
away. This might be useful for some very simple processors.
2025-08-11 09:26:31 -07:00
Aleix Conchillo Flaqué
2c01c2b5b3
Merge pull request #2404 from pipecat-ai/aleix/examples-22-simplify-main-pipeline
...
examples(foundational): update 22 series with simple main pipelines
2025-08-11 09:14:39 -07:00
Aleix Conchillo Flaqué
1c2e114fa2
examples(foundational): update 22 series with simple main pipelines
2025-08-11 09:13:09 -07:00
Filipi da Silva Fuchter
0f137e36c2
Merge pull request #2399 from pipecat-ai/filipi/heygen_latency
...
Improving the latency of the `HeyGenVideoService`.
2025-08-11 09:13:10 -03:00
Filipi Fuchter
b7f12a96f1
Improving the latency of the HeyGenVideoService.
2025-08-11 09:11:17 -03:00
Filipi da Silva Fuchter
3331f71e17
Merge pull request #2398 from pipecat-ai/filipi/ttfb_metrics_video_services
...
Added TTFB metrics for `HeyGenVideoService` and `TavusVideoService`.
2025-08-11 09:09:27 -03:00
Filipi Fuchter
55d200e2d1
Added TTFB metrics for HeyGenVideoService and TavusVideoService.
2025-08-11 09:07:21 -03:00
Captain Caius
3fae00e067
Add VADUserStartSpeakingFrame VADUserStopSpeakingFrame to STTMuteFilter
2025-08-10 19:35:04 -07:00
Mark Backman
78cdefd191
Merge pull request #2410 from smokyabdulrahman/issue-2373
...
Support endpoint_id for AzureSTTService
2025-08-10 16:43:29 -07:00
Mark Backman
42502a4f3b
fix: WebsocketService retry logic incorrectly handling ConnectionClosedOK exception
2025-08-10 19:35:05 -04:00
Abdulrahman Alrahma
fc67cc3302
Support endpoint_id for AzureSTTService
2025-08-10 22:24:47 +01:00
Aleix Conchillo Flaqué
241ab19228
update uv.lock with numba dependency
2025-08-08 15:12:55 -07:00
Mark Backman
c08e8ec8fb
Merge pull request #2391 from pipecat-ai/mb/readme-local-dev
...
Update README with local dev setup for contributors
2025-08-08 11:15:58 -07:00
Mark Backman
eb9bc9644e
Merge pull request #2400 from pipecat-ai/mb/pin-numba-0.61.2
...
fix: pin numba to >=0.61.2
2025-08-08 11:15:22 -07:00
Mark Backman
3a306dae90
fix: pin numba to >=0.61.2
2025-08-08 10:52:47 -04:00
Fabrice Lamant
e503ea7466
feat: add minor tweaks to GladiaSTTService
2025-08-08 10:21:52 +02:00
Mark Backman
c42cc8254f
Update README with local dev setup for contributors
2025-08-07 22:07:35 -04:00
Aleix Conchillo Flaqué
a8e21f7d5d
Merge pull request #2395 from pipecat-ai/aleix/examples-15-inherit-parallel-pipeline
...
examples(foundational): move 15/15a logic into its own processor
2025-08-07 17:59:28 -07:00
Aleix Conchillo Flaqué
c6ef8de578
scripts(evals): fix 14v-function-calling-openai.py
2025-08-07 17:57:47 -07:00
Aleix Conchillo Flaqué
fc571fba42
examples(foundational): move 15/15a logic into its own processor
2025-08-07 17:57:47 -07:00
Mark Backman
0502ee2b5a
Merge pull request #2394 from pipecat-ai/mb/uv-lock
...
Update uv.lock
2025-08-07 15:25:38 -07:00
Mark Backman
9ec047094b
Update uv.lock
2025-08-07 18:24:47 -04:00
Mark Backman
d991c106c8
Merge pull request #2393 from pipecat-ai/mb/openai-dep
...
fix: pin openai package upper bound to <=1.99.1
2025-08-07 15:19:05 -07:00
Mark Backman
312fb23c89
fix: pin openai package upper bound to <=1.99.1
2025-08-07 18:00:25 -04:00
Aleix Conchillo Flaqué
4d7f21d44e
Merge pull request #2392 from pipecat-ai/aleix/avoid-using-tts-say
...
deprecate TTSService.say() method
2025-08-07 13:55:49 -07:00
Aleix Conchillo Flaqué
ec25d0a7c9
examples(foundational): fix 20a-persistent-context-openai
2025-08-07 13:48:32 -07:00
Aleix Conchillo Flaqué
2b8218deaa
examples(foundational): use TTSSpeakFrame instead of TTSService.say()
2025-08-07 13:48:32 -07:00
Aleix Conchillo Flaqué
11119430cd
TTSService: deprecate say() method
2025-08-07 13:48:32 -07:00
kompfner
9ca79232c1
Merge pull request #2380 from pipecat-ai/pk/deprecate-llm-messages-frame
...
Deprecate `LLMMessagesFrame`, `LLMUserResponseAggregator`, and `LLMAssistantResponseAggregator`
2025-08-07 15:13:01 -04:00
Paul Kompfner
9ea06c33f7
Bump deprecation version of LLMMessagesFrame, LLMUserResponseAggregator, and LLMAssistantResponseAggregator (the deprecation slipped past the 0.0.78 release)
2025-08-07 14:56:50 -04:00
Paul Kompfner
30a1dd202e
Move deprecation of LLMMessagesFrame, LLMUserResponseAggregator, and LLMAssistantResponseAggregator into the next release in the changelog
2025-08-07 14:55:11 -04:00
Paul Kompfner
809ab0b7b6
Improve printed deprecation warning
2025-08-07 14:45:35 -04:00
Paul Kompfner
2b5db9c562
Remove redundant deprecation warning in docstring
2025-08-07 14:45:35 -04:00
Paul Kompfner
b4a886b59f
Remove redundant deprecation warning in docstring
2025-08-07 14:45:35 -04:00
Paul Kompfner
07eb00722b
Fix langchain unit test
2025-08-07 14:45:35 -04:00
Paul Kompfner
96652b8fba
Add new deprecations to changelog
2025-08-07 14:45:30 -04:00
Paul Kompfner
df1fcf0c68
Remove unused import
2025-08-07 14:43:37 -04:00
Paul Kompfner
711f740d9e
Update UserResponseAggregator to avoid using the now-deprecated LLMUserResponseAggregator
2025-08-07 14:43:37 -04:00
Paul Kompfner
a0bda98c20
Update langchain to avoid using the now-deprecated LLMMessagesFrame, LLMUserResponseAggregator, and LLMAssistantResponseAggregator
2025-08-07 14:43:37 -04:00
Paul Kompfner
1c1bae35ab
Mention deprecation in docstring for LLMMessagesFrame
2025-08-07 14:43:37 -04:00
Paul Kompfner
56c52c2cf2
Deprecate LLMUserResponseAggregator and LLMAssistantResponseAggregator, which depend on the now-deprecated LLMMessagesFrame.
2025-08-07 14:43:37 -04:00
Paul Kompfner
740aee1a1a
Fix an issue in AnthropicLLMContext where we would never initialize turns_above_cache_threshold if we were upgrading from an OpenAILLMContext.
...
I noticed this when working on 22c-natural-conversation-mixed-llms.py
2025-08-07 14:43:37 -04:00
Paul Kompfner
f0391c3280
Progress on updating foundational examples to avoid using the newly-deprecated LLMMessagesFrame.
...
Skipping over 07b-interruptible-langchain.py for now, as it requires deeper changes involving `LLMUserResponseAggregator` and `LLMAssistantResponseAggregator`.
2025-08-07 14:43:37 -04:00
Paul Kompfner
64e48e4660
Deprecate LLMMessagesFrame.
...
The same functionality can be achieved using either:
- `LLMMessagesUpdateFrame` with the desired messages, with `run_llm` set to `True`
- `OpenAILLMContextFrame` with a new context initialized with the desired messages
2025-08-07 14:43:37 -04:00
Paul Kompfner
b8147bdbbd
Add missing Deepgram key to env.example
2025-08-07 14:43:37 -04:00
Aleix Conchillo Flaqué
315e45d41b
Merge pull request #2389 from pipecat-ai/aleix/pipecat-0.0.78
...
update CHANGELOG for 0.0.78
2025-08-07 11:34:27 -07:00
Aleix Conchillo Flaqué
c057139c48
update CHANGELOG for 0.0.78
2025-08-07 11:14:54 -07:00
Mark Backman
c61e07132d
Merge pull request #2390 from pipecat-ai/mb/optionally-ignore-emulated-speech
...
feat: Add option to ignore emulated user speech while the bot is spea…
2025-08-07 11:14:46 -07:00
Mark Backman
a5f5e418a8
feat: Add option to ignore emulated user speech while the bot is speaking
2025-08-07 14:08:11 -04:00
Mark Backman
31acfaa091
Merge pull request #2388 from pipecat-ai/14v-adding-openai-stt-tts-llm-functioncalling
...
14v adding OpenAI stt tts llm functioncalling
2025-08-07 10:22:35 -07:00
Mark Backman
69541c8835
Linting fix, plus update eval suite with 14v and others, tiny fix for 14m, too
2025-08-07 13:20:45 -04:00
Varun Singh
af94620839
Add OpenAI function calling example with Pipecat
...
Introduces a new example script demonstrating how to use OpenAI's function calling capabilities within a Pipecat pipeline. The example integrates OpenAI STT, TTS, and LLM services, registers a weather function, and sets up a pipeline for real-time audio interaction over WebRTC.
2025-08-07 13:20:45 -04:00
Filipi da Silva Fuchter
cec8a74293
Merge pull request #2386 from pipecat-ai/filipi/parallel_pipeline
...
Only push the StartFrame when all parallel pipelines have processed it
2025-08-07 14:20:30 -03:00
Filipi Fuchter
228a55ac1e
Only push the StartFrame when all parallel pipelines have processed it.
2025-08-07 14:18:21 -03:00
Vanessa Pyne
ab9831daf0
Merge pull request #2382 from pipecat-ai/vp-trace-ignore-message
...
log: warning -> trace for elevenlabs tts unavailable context
2025-08-07 09:35:57 -05:00
Vanessa Pyne
e8c3f5dea6
Update src/pipecat/services/elevenlabs/tts.py
...
Co-authored-by: Mark Backman <mark@daily.co >
2025-08-07 09:23:33 -05:00
Mark Backman
4288b5e780
Merge pull request #2381 from pipecat-ai/aleix/runner-args-pipeline-idle-timeout
...
allow specifying PipelineTask idle timeout to runner arguments
2025-08-07 04:47:08 -07:00
Mark Backman
23343dd7e7
Remove idle_timeout_secs from quickstart
2025-08-07 07:44:21 -04:00
Mark Backman
88de5dd415
Merge pull request #2383 from pipecat-ai/aleix/riva-stt-iterator-exception
...
properly handle concurrent.futures.CancelledError
2025-08-07 04:39:56 -07:00
Mark Backman
33f87589d1
Merge pull request #2384 from pipecat-ai/aleix/release-evals-soniox-inworld-asyncai
...
scripts(evals): added soniox, inworld and asyncai
2025-08-07 04:35:18 -07:00
Aleix Conchillo Flaqué
7ed14ad91f
scripts(evals): added soniox, inworld and asyncai
2025-08-06 23:14:50 -07:00
Aleix Conchillo Flaqué
86c6141580
DailyTransport: handle future cancellation
2025-08-06 23:03:20 -07:00
Aleix Conchillo Flaqué
c97643c797
RivaSTTService: always use WatchdogQueue
2025-08-06 23:00:03 -07:00
Aleix Conchillo Flaqué
434d346079
RivaSTTService: handle future cancellation
2025-08-06 22:59:52 -07:00
vipyne
64ae8d2394
log: warning -> trace for elevenlabs tts unavailable context
2025-08-06 22:40:47 -05:00
Aleix Conchillo Flaqué
786f24c9db
examples(foundational): use RunnerArgs.pipeline_idle_timeout_secs
2025-08-06 19:38:06 -07:00
Aleix Conchillo Flaqué
38951aab56
scripts(evals): use RunnerArguments.pipeline_idle_timeout_secs
2025-08-06 19:37:29 -07:00
Aleix Conchillo Flaqué
ed8b0655a8
scripts(evals): fix runner eval cancellation
...
We need to call asyncio.gather() just once, not for every cancelled task.
2025-08-06 19:36:42 -07:00
Aleix Conchillo Flaqué
0b2b9f5f1b
RunnerArguments: add pipeline_idle_timeout_secs
2025-08-06 19:35:40 -07:00
Filipi da Silva Fuchter
ad1841b739
Merge pull request #2377 from pipecat-ai/filipi/fast_api_freeze_issue
...
Fixed an issue in BaseOutputTransport where the loop could consume all CPU.
2025-08-06 14:58:36 -03:00
Mark Backman
b0c002c128
Merge pull request #2378 from pipecat-ai/mb/pyproject-compat-updates
...
Add new python-compatiblity workflow to check for dependency compatib…
2025-08-06 10:40:29 -07:00
Mark Backman
820176084c
Add support for 3.13 by bumping min version for vllm to 0.9.0, adding support for torch and torchaudio up to the next major version
2025-08-06 13:36:01 -04:00
Mark Backman
5b7e31beff
README updates for python versions
2025-08-06 13:36:01 -04:00
Mark Backman
41a22d3bf4
Add new python-compatiblity workflow to check for dependency compatibility across supported python versions
2025-08-06 13:36:01 -04:00
Filipi Fuchter
84fecabac5
Removing audio sleep from FastAPI and WebSocket server when they are not connected.
2025-08-06 14:02:51 -03:00
Filipi Fuchter
bbe01d10ef
Fixed an issue in BaseOutputTransport where the loop could consume all CPU.
2025-08-06 12:42:58 -03:00
Mark Backman
4364990fd0
Merge pull request #2375 from fabrice404/gladia-region-selection
...
Gladia region selection
2025-08-06 07:01:24 -07:00
Fabrice Lamant
e576fa481f
Add new region feature for GladiaSTTService in CHANGELOG
2025-08-06 15:31:10 +02:00
Mark Backman
ac6b59cae2
Merge pull request #2372 from pipecat-ai/mb/dotenv-dev
...
Wider package support for python-dotenv dev dep
2025-08-06 06:06:01 -07:00
Mark Backman
12e168e740
Wider package support for python-dotenv dev dep
2025-08-06 09:04:01 -04:00
Mark Backman
ac354f66ed
Merge pull request #2371 from pipecat-ai/mb/docs-gen-with-uv
...
Update docs auto-generation to use uv
2025-08-06 06:02:52 -07:00
Mark Backman
eead793927
Merge pull request #2370 from pipecat-ai/mb/update-workflows-for-uv
...
Update workflows for uv
2025-08-06 05:54:55 -07:00
Fabrice Lamant
0594a203fc
Add new region parameter to Gladia
2025-08-06 14:28:06 +02:00
Mark Backman
2337a2d92d
Remove dev-requirements.txt and mentions of it
2025-08-05 21:46:50 -04:00
Mark Backman
b3e2603553
Update workflows for uv
2025-08-05 21:45:48 -04:00
Mark Backman
29229df719
Speed up builds, mocking large packages
2025-08-05 21:34:40 -04:00
Aleix Conchillo Flaqué
61f4dd2ff2
scripts(evals): fix 14e-function-calling-google
2025-08-05 17:44:45 -07:00
Mark Backman
42094fb206
Update docs auto-generation to use uv
2025-08-05 20:37:27 -04:00
Aleix Conchillo Flaqué
58c41f112a
DailyRunnerArguments: make body optional (fix)
2025-08-05 16:59:36 -07:00
Aleix Conchillo Flaqué
fa55e2ca9b
Merge pull request #2369 from pipecat-ai/aleix/pipeline-task-cancellation-fix
...
PipelineTask: always try to cancel things
2025-08-05 16:56:23 -07:00
Aleix Conchillo Flaqué
313fdc92a1
DailyRunnerArguments: make body optional
2025-08-05 16:39:18 -07:00
Aleix Conchillo Flaqué
d22d2da03d
PipelineTask: always try to cancel things
...
In a previous commit we only cleanup things if the user run
`task.cancel()`. However, if the task finishes cleanly we were not cancelling
anything.
2025-08-05 16:24:59 -07:00
Aleix Conchillo Flaqué
de2ae9a2ec
Merge pull request #2368 from pipecat-ai/aleix/release-evals-runner-args-fix
...
pass runner arguments to release evals
2025-08-05 16:23:32 -07:00
Aleix Conchillo Flaqué
52a6d8013c
scripts(evals): pass runner arguments to run_bot()
2025-08-05 16:13:32 -07:00
Aleix Conchillo Flaqué
f14cbae9b5
DailyRunnerArguments: make token optional
...
DailyTransport can get a None token value.
2025-08-05 15:46:12 -07:00
Aleix Conchillo Flaqué
8fe906438a
Merge pull request #2358 from pipecat-ai/aleix/system-frames-queued
...
system frames are now queued
2025-08-05 15:09:52 -07:00
Mark Backman
d8f4db8827
Merge pull request #2367 from richtermb/richtermb/fix-errorframe-docstring
...
Rename 'source' parameter to 'processor' in ErrorFrame class document…
2025-08-05 15:09:18 -07:00
Aleix Conchillo Flaqué
a5ea6e1642
FrameProcessor: system frames are now queued
...
System frames are now queued. Before, system frames could be generated from any
task and would not guarantee any order which was causing undesired
behavior. Also, it was possible to get into some rare recursion issues because
of the way system frames were executed (they were executed in-place, meaning
calling `push_frame()` would finish after the system frame traversed all the
pipeline). This makes system frames more deterministic.
2025-08-05 15:05:50 -07:00
richtermb
e777e78510
Rename 'source' parameter to 'processor' in ErrorFrame class documentation for clarity.
2025-08-05 15:02:00 -07:00
Aleix Conchillo Flaqué
49a5a1e375
PipelineTask: improve task cancellation
2025-08-05 14:49:23 -07:00
Aleix Conchillo Flaqué
61cb45d61b
PipelineTask: also wait on CancelFrame
...
Before CancelFrames didn't need to be waited for because system frames were
processed in-place and therefore calling push_frame() would finalize after it
traversed all the pipeline. Now, system frames are queued so we need to wait
until CancelFrame reaches the end of the pipeline.
2025-08-05 14:49:23 -07:00
Aleix Conchillo Flaqué
6c6deb4e85
Merge pull request #2366 from pipecat-ai/aleix/run-bot-runner-arguments
...
add sigint/sigterm to RunnerArguments
2025-08-05 14:46:19 -07:00
Aleix Conchillo Flaqué
66ad29b2b1
example: pass RunnerArguments to run_bot()
...
This lets us get handle_sigint from RunnerArguments which knows where the
application is running and if SIGINT/SIGTERM should be handled or not.
2025-08-05 14:38:55 -07:00
Aleix Conchillo Flaqué
21e4f0d56d
PipelineRunner: argument ordering
2025-08-05 14:38:55 -07:00
Aleix Conchillo Flaqué
627b44bac2
runner: use new RunnerArguments handle_sigint/handle_sigterm
...
This allow us to control applications behavior from the runner arguments, which
depen on the environment they run.
2025-08-05 14:38:55 -07:00
Aleix Conchillo Flaqué
e2a576beca
RunnerArguments: add handle_sigint/handle_sigterm
2025-08-05 14:32:28 -07:00
Mark Backman
2981afb117
Merge pull request #2361 from pipecat-ai/mb/fix-changelog-simli
...
Fix Simli changelog entry placement
2025-08-05 14:12:38 -07:00
Mark Backman
d422c57b52
Merge pull request #2304 from pipecat-ai/mb/cartesia-cjk-lang-support
...
CartesiaTTSService: Add CJK lang support for word timestamps
2025-08-05 14:08:53 -07:00
Mark Backman
06d8bbd154
Fix Simli changelog entry placement
2025-08-05 17:07:58 -04:00
Mark Backman
35108afeb8
Merge pull request #2360 from pipecat-ai/mb/add-heygen-readme
...
Add HeyGen to the README page
2025-08-05 14:05:33 -07:00
Mark Backman
a0e2a2754a
Merge pull request #2327 from richtermb/richtermb/push-more-error-frames
...
Add source parameter to ErrorFrame and set it in FrameProcessor. Upda…
2025-08-05 14:04:52 -07:00
Mark Backman
b8d620c8bb
Merge pull request #2362 from pipecat-ai/mb/aws-stt-languages
...
AWSTranscribeSTTService add support for new languages
2025-08-05 14:00:50 -07:00
Mark Backman
f26bbe4092
Merge pull request #2363 from pipecat-ai/mb/update-14p
...
Update 14p, add 14p to evals, add Google creds to env.example
2025-08-05 14:00:13 -07:00
Mark Backman
52cb23f8d5
Merge pull request #2364 from pipecat-ai/mb/11labs-default-model
...
ElevenLabs TTS services: revert to Turbo v2.5 as default model
2025-08-05 13:59:59 -07:00
Filipi da Silva Fuchter
17e7f8a2cd
Merge pull request #2352 from pipecat-ai/filipi/webrtc_audio_frame
...
Implementing if the bot it is speaking or not based on the SpeechOutputAudioRawFrame
2025-08-05 17:26:44 -03:00
richtermb
efddc4732c
Refactor ErrorFrame: rename source field to processor for clarity and update related references in FrameProcessor.
2025-08-05 13:25:08 -07:00
richtermb
4476a76ad7
Merge branch 'main' into richtermb/push-more-error-frames
2025-08-05 13:23:24 -07:00
Filipi Fuchter
64592b274b
Fixed an issue where BotStartedSpeakingFrame and BotStoppedSpeakingFrame
...
were not emitted when using `TavusVideoService` or `HeyGenVideoService`.
2025-08-05 17:11:34 -03:00
Aleix Conchillo Flaqué
95c661bdaa
Merge pull request #2365 from pipecat-ai/aleix/update-release-evals-for-new-runner
...
scripts(evals): update to use new runner function
2025-08-05 13:07:57 -07:00
Aleix Conchillo Flaqué
5546c8e01c
scripts(evals): update to use new runner function
2025-08-05 11:46:28 -07:00
Mark Backman
14e02c1b08
ElevenLabs TTS services: revert to Turbo v2.5 as default model
2025-08-05 13:44:37 -04:00
Mark Backman
ba5a5c7187
Update 14p, add 14p to evals, add Google creds to env.example
2025-08-05 13:30:36 -04:00
Mark Backman
2378cba155
AWSTranscribeSTTService add support for new languages
2025-08-05 13:01:06 -04:00
Mark Backman
1138c92a00
Merge pull request #2217 from simliai/main
...
feat: Add Simli Trinity models support to pipecat
2025-08-05 09:01:20 -07:00
Antonyesk601
fb82dc8308
Update CHANGELOG.md
...
Co-authored-by: Mark Backman <m.backman@gmail.com >
2025-08-05 17:46:01 +02:00
Mark Backman
c8a15f30fa
Add HeyGen to the README page
2025-08-05 10:54:49 -04:00
antonyesk601
72168070f1
update changelog
2025-08-05 14:18:41 +00:00
Mark Backman
50083d1144
Merge pull request #2342 from pipecat-ai/mb/runner-connect-request-body
...
Development runner handles body information in the RTVI connect request
2025-08-05 05:15:55 -07:00
Mark Backman
64732518c6
Development runner handles body information in the RTVI connect request
2025-08-05 07:26:34 -04:00
Mark Backman
c3d8ea210f
CartesiaTTSService: Add CJK lang support for word timestamps
2025-08-05 07:17:40 -04:00
Filipi da Silva Fuchter
98ed614f63
Merge pull request #2357 from pipecat-ai/filipi/latency_observer
...
Added detailed latency logging to UserBotLatencyLogObserver.
2025-08-05 08:11:48 -03:00
Filipi Fuchter
e43bdff31e
Added detailed latency logging to UserBotLatencyLogObserver.
2025-08-04 19:36:30 -03:00
Mark Backman
42e48381fe
Merge pull request #2355 from pipecat-ai/mb/update-readme-for-uv
...
Update the README with uv-centric steps
2025-08-04 15:28:07 -07:00
Mark Backman
df7ba64b4a
Merge pull request #2354 from pipecat-ai/mb/revert-43-inline-script
...
Remove inline script from foundational 43a
2025-08-04 15:27:28 -07:00
Mark Backman
ac9b2e67a7
Merge pull request #2349 from pipecat-ai/mb/runner-support-daily-url-arg
...
daily runner util: remove arg parsing, add auto room, token generation
2025-08-04 13:44:25 -07:00
Mark Backman
c9918607cf
Merge pull request #2335 from pipecat-ai/mb/quickstart-runner-improvements
...
Improve quickstart logging, runner startup message
2025-08-04 13:43:42 -07:00
Mark Backman
cfda410a43
Remove foundational requirements.txt file
2025-08-04 16:38:37 -04:00
Mark Backman
c773ddf83d
Update foundational examples README
2025-08-04 16:26:11 -04:00
Mark Backman
54d5ebbc20
Update the README with uv-centric steps
2025-08-04 16:11:38 -04:00
Mark Backman
35002cd727
Remove inline script from foundational 43a
2025-08-04 15:46:18 -04:00
Mark Backman
53d75faa47
Merge pull request #2330 from pipecat-ai/mb/runner-clean-proxy-name
...
Runner: strip protocol from proxy address
2025-08-04 10:42:16 -07:00
Mark Backman
2901dddc2b
Merge pull request #2338 from pipecat-ai/mb/update-release-evals-tavus
...
Add Tavus, HeyGen, Simli to release-evals
2025-08-04 10:38:27 -07:00
Mark Backman
3a8d809837
Runner: strip protocol from proxy address
2025-08-04 13:38:02 -04:00
Mark Backman
1b3c2bee30
Merge pull request #2331 from pipecat-ai/mb/more-foundational
...
Updating more foundational examples
2025-08-04 10:37:15 -07:00
Mark Backman
69f049cb63
Merge pull request #2328 from pipecat-ai/mb/04b-example-cleanup
...
Align 04b livekit example with other foundational examples
2025-08-04 10:36:57 -07:00
Vanessa Pyne
96b1000e52
Merge pull request #2341 from getchannel/realtime-text
...
Hotfix: Correct Gemini Live API class to fix 1007 payload error.
2025-08-04 11:03:57 -05:00
Filipi da Silva Fuchter
0184a8c231
Merge pull request #2351 from pipecat-ai/filipi/tavus_transport_ready
...
Changed `TavusVideoService` to send audio or video frames only after the transport is ready, preventing warning messages at startup.
2025-08-04 11:48:27 -03:00
Filipi Fuchter
c22866ed58
Mentioning the TavusVideoService fix in the changelog.
2025-08-04 11:46:24 -03:00
Filipi Fuchter
0e533d21be
Only send audio and video from the tavus video service if the transport is ready.
2025-08-04 10:52:30 -03:00
Mark Backman
6f6f4c3dea
Merge pull request #2348 from sam-s10s/speechmatics-stt
...
Fix for Speechmatics STT
2025-08-04 06:15:39 -07:00
Mark Backman
f609971637
daily runner util: remove arg parsing, add auto room, token generation
2025-08-03 21:50:44 -04:00
Mark Backman
54ff10ae86
Merge pull request #2332 from hankehly/fix-piper-tts-json-payload
...
Fix PiperTTSService to send TTS input as JSON object
2025-08-03 17:39:04 -07:00
hankehly
77057eb829
Fix ruff formatting
2025-08-04 08:13:16 +09:00
Mark Backman
2b1a7b840d
Merge pull request #2346 from adenta/heygen-testing
...
me trying to get heygen working
2025-08-03 14:11:14 -07:00
Sam Sykes
e07db88bc0
Updated changelog.
2025-08-03 22:11:10 +01:00
Sam Sykes
c2282b0e73
Set user_id to "" (not None) for RTVIProcessor.
2025-08-03 22:08:22 +01:00
Andrew Denta
593bf09d8d
update script
2025-08-03 17:01:27 -04:00
Sam Sykes
534ed77ebf
Merge branch 'main' into speechmatics-stt
2025-08-03 21:51:35 +01:00
Andrew Denta
193299988d
me trying to get heygen working
2025-08-03 13:42:07 -04:00
Aleix Conchillo Flaqué
d589bcb345
Merge pull request #2344 from pipecat-ai/aleix/daily-python-0.19.6
...
pyproject: update daily-python to 0.19.6
2025-08-03 10:15:15 -07:00
Aleix Conchillo Flaqué
011ebc2801
Merge pull request #2345 from pipecat-ai/aleix/task-observer-signature-performance
...
TaskObserver: don't inspect on_push_frame signature for every frame
2025-08-03 10:15:00 -07:00
Aleix Conchillo Flaqué
3a72e94d0c
LLMService: only do handle function inspection once
2025-08-03 10:09:19 -07:00
Aleix Conchillo Flaqué
d6d39fc873
TaskObserver: don't inspect on_push_frame signature for every frame
2025-08-03 10:09:17 -07:00
Pete
258e83c904
Fix: Correct Gemini Live API text input to prevent 1007 WebSocket errors
...
- Restore TextInputMessage.realtimeInput structure for correct API format
- Remove invalid turnComplete message from _send_user_text method
- turnComplete is only valid for clientContent, not realtimeInput messages
- realtimeInput text completion is automatically inferred by the API
This fixes WebSocket 1007 errors caused by mixing realtimeInput and
clientContent message types in violation of the Gemini Live API contract.
2025-08-03 10:58:59 -04:00
Mark Backman
061f2086b2
Merge pull request #2343 from pipecat-ai/mb/update-pre-commit-ruff-version
...
Update pre-commit-config ruff version
2025-08-03 03:38:54 -07:00
Aleix Conchillo Flaqué
a1f3f51168
pyproject: update daily-python to 0.19.6
2025-08-02 20:02:22 -07:00
hankehly
2177a2b805
Remove trailing space
2025-08-03 10:34:27 +09:00
hankehly
68164415ce
Format changelog entry
2025-08-03 10:26:37 +09:00
hankehly
7646599b66
Add changelog entry
2025-08-03 10:23:58 +09:00
Mark Backman
e467eaf130
Merge pull request #2334 from Designedforusers/fix/tavus-transport-daily-callbacks
...
fix: Add missing transcription callbacks to TavusTransport for 0.0.77 compatibility
2025-08-02 16:09:57 -07:00
Designedforusers
9d6d53629e
style: Apply ruff formatting to fix line length
...
Fixed a line length issue in tavus.py where the on_transcription_stopped callback was exceeding the maximum line length. Split the partial() call across multiple lines for better readability and compliance with project style guidelines.
2025-08-02 18:27:09 -04:00
Mark Backman
89596cfec4
Update pre-commit-config ruff version
2025-08-02 18:06:06 -04:00
Designedforusers
5e338ecaf1
refactor: Remove redundant transcription callback methods
...
As suggested in PR review, removed the _on_transcription_stopped and
_on_transcription_error method definitions. Now using the consistent
partial(self._on_handle_callback, ...) pattern for these callbacks,
matching how all other callbacks are handled.
This simplifies the code while maintaining the same functionality.
2025-08-02 15:02:54 -04:00
Designedforusers
62319021f8
docs: Add changelog entry for TavusVideoService fix
...
Added changelog entry as requested by maintainers for the fix addressing
missing transcription callbacks in TavusVideoService.
2025-08-02 14:53:44 -04:00
Pete
cccd82a617
Refactor TextInputMessage class to replace realtimeInput with a text attribute.
...
This was sending a 1007 because it was wrapping RealtimeInput in the json.
- Updated the `TextInputMessage` class to directly store text input as a string.
- Modified the `from_text` class method to create an instance using the new `text` attribute.
2025-08-02 14:34:00 -04:00
Mark Backman
f552ba1f5e
Merge pull request #2336 from pipecat-ai/mb/suppress-pydub-warning
...
Suppress pydub (cartesia dependency) SyntaxWarning
2025-08-02 10:01:05 -07:00
Mark Backman
b9a2a9b729
Add Tavus, HeyGen, Simli to release-evals
2025-08-02 09:35:06 -04:00
Mark Backman
e43b3869c3
Suppress pydub SyntaxWarning from the cartesia module
2025-08-02 08:49:59 -04:00
Mark Backman
55731df999
Improve quickstart logging, runner startup message
2025-08-02 08:40:05 -04:00
Designedforusers
3a7ea25077
fix: Add missing transcription callbacks to TavusTransport for 0.0.77 compatibility
...
TavusTransport was broken in Pipecat 0.0.77 due to PR #2292 adding required
callbacks (on_transcription_stopped, on_transcription_error) to DailyCallbacks.
This fix adds placeholder implementations of these callbacks to TavusTransportClient,
allowing TavusTransport to initialize properly. These callbacks are not used by
Tavus (which handles avatar video, not transcription) but are required by the
DailyCallbacks validation.
Fixes initialization error:
- 2 validation errors for DailyCallbacks
- on_transcription_stopped: Field required
- on_transcription_error: Field required
2025-08-02 05:56:46 -04:00
Yohan Liyanage
248206e234
Fixes 2277 - SSML reserved characters in LLM generated text causes Azure TTS to fail.
2025-08-02 12:49:29 +05:30
hankehly
694922f627
Fix PiperTTSService to send TTS input as JSON object
2025-08-02 15:29:16 +09:00
Mark Backman
cc9950e72d
Updating more foundational examples
2025-08-01 19:58:40 -04:00
richtermb
6814c390ba
Update CHANGELOG to reflect the addition of the source field in ErrorFrame for improved error tracking.
2025-08-01 14:47:57 -07:00
Richter Brzeski
c2d05ad23b
Merge branch 'pipecat-ai:main' into richtermb/push-more-error-frames
2025-08-01 14:47:08 -07:00
Mark Backman
ee56d8572d
Merge pull request #2329 from pipecat-ai/mb/fix-livekit-empty-audio-frames
...
fix: LiveKitTransport, don't push empty AudioRawFrames
2025-08-01 12:53:05 -07:00
richtermb
91568eeddc
Update type hint for source in ErrorFrame to use forward declaration for improved clarity.
2025-08-01 12:52:56 -07:00
richtermb
165d6b4c1d
Update CHANGELOG to include new source field in ErrorFrame for error tracking.
2025-08-01 12:25:29 -07:00
Mark Backman
1d8abe3c1c
fix: LiveKitTransport, don't push empty AudioRawFrames
2025-08-01 14:57:53 -04:00
Mark Backman
a6e69d6aad
Merge pull request #2325 from pipecat-ai/mb/dependency-groups
...
Move dev to [dependency-groups], update uv.lock
2025-08-01 11:54:21 -07:00
Mark Backman
519da9cc61
Align 04b livekit example with other foundational examples
2025-08-01 14:28:15 -04:00
richtermb
ead4e97ab5
Add source parameter to ErrorFrame and set it in FrameProcessor. Updated error handling in AnthropicLLMService and DeepgramSTTService to include ErrorFrame with source information.
2025-08-01 11:14:50 -07:00
Mark Backman
0c021378b0
Merge pull request #2326 from pipecat-ai/readme-quickstart-link
...
Update README.md
2025-08-01 10:45:30 -07:00
Mark Backman
e22c7e8ad5
Update README.md
2025-08-01 13:40:03 -04:00
Mark Backman
b71057bf7c
Move dev to [dependency-groups], update uv.lock
2025-08-01 09:43:56 -04:00
Mark Backman
0865f6cd7d
Merge pull request #2318 from pipecat-ai/mb/add-asyncio-readme
...
Add AsyncAI TTS to README vendor list
2025-08-01 06:11:13 -07:00
Mark Backman
610b1ab065
Merge pull request #2319 from pipecat-ai/mb/use-new-runner
...
Update foundational examples to use new runner
2025-08-01 06:11:03 -07:00
Mark Backman
3a2a226668
Merge pull request #2320 from pipecat-ai/mb/uv-lock-init
...
Add initial uv.lock file
2025-08-01 06:07:53 -07:00
Mark Backman
8e4b7352fd
Merge pull request #2321 from pipecat-ai/mb/dev-requirements
...
Add dev to optional-dependencies
2025-08-01 06:02:58 -07:00
Mark Backman
637d372fe4
Add dev to optional-dependencies
2025-07-31 23:39:23 -04:00
Mark Backman
ac15fe8ae4
Add workflow to update lockfile with pyproject.toml changes
2025-07-31 23:08:21 -04:00
Mark Backman
07239c0b8b
Add initial uv.lock file
2025-07-31 22:46:44 -04:00
Mark Backman
367b2fbe3c
Update requirements.txt
2025-07-31 22:12:57 -04:00
Mark Backman
f1b1d5b130
Update foundational examples to use the development runner
2025-07-31 22:11:32 -04:00
Mark Backman
ff45b77fdf
Remove examples runner
2025-07-31 21:22:04 -04:00
Mark Backman
e522b7ae96
Add AsyncAI TTS to README vendor list
2025-07-31 19:33:37 -04:00
Mark Backman
b8eef4f93b
Merge pull request #2314 from pipecat-ai/mb/sync-quickstart-example
...
Add workflow to sync quickstart to pipecat-quickstart repo
2025-07-31 15:34:26 -07:00
Mark Backman
dcc205996a
Merge pull request #2317 from pipecat-ai/mb/release-prep-0.0.77
...
Changelog update for 0.0.77
2025-07-31 15:34:02 -07:00
Mark Backman
9f61af4d1b
Changelog update for 0.0.77
2025-07-31 18:19:05 -04:00
Sam Sykes
e8faf28e6a
Doc fix for incorrect argument name.
2025-07-31 22:30:54 +01:00
Filipi da Silva Fuchter
40d53b3d84
Merge pull request #2316 from sam-s10s/speechmatics-stt
...
Updated to SpeechmaticsSTTService
2025-07-31 18:28:16 -03:00
Sam Sykes
7c223a86c2
Fix to missing deprecated attribute enable_speaker_diarization.
2025-07-31 22:25:46 +01:00
Sam Sykes
2d3f61aa07
Updated Speechmatics Plugin ( #2225 )
...
Changes
Split out module attributes to make engine settings clearer
Removed internal audio buffer to use latest Speechmatics python SDK (0.4.0)
Use diarization for improved VAD in multi-speaker situations
Support custom dictionary / vocabulary with attributes
Deprecated attributes superseded by re-organised attributes
Diarization Enhancements
Focus on specific speakers (using speaker labels)
Ignore specific speakers (using speaker labels)
Separate transcription formats for active and inactive speakers
Support for known speakers
2025-07-31 17:51:38 -03:00
Mark Backman
e05a47744d
Merge pull request #2311 from pipecat-ai/mb/quickstart-fixups
...
Set quickstart min pipecat-ai version to 0.0.77, remove non-quickstart examples
2025-07-31 13:42:10 -07:00
Aleix Conchillo Flaqué
6ffaab2b93
CHANGELOG cosmetics
2025-07-31 13:39:37 -07:00
Aleix Conchillo Flaqué
c2d8844903
Merge pull request #2312 from pipecat-ai/aleix/srhinos/main
...
Enable Interruption Support for LLMUserResponseAggregator
2025-07-31 13:30:57 -07:00
Mark Backman
e8caba7723
Add workflow to sync quickstart to pipecat-quickstart repo
2025-07-31 15:56:18 -04:00
Mark Backman
df96ef7d37
Remove non-quickstart demos
2025-07-31 15:38:54 -04:00
Aleix Conchillo Flaqué
7553f670af
fix formatting and update CHANGELOG
2025-07-31 10:41:11 -07:00
Mark Backman
6960f5861b
Set example min pipecat-ai version to 0.0.77 due to runner requirement
2025-07-31 12:21:58 -04:00
Mark Backman
b5edbbc0ca
Merge pull request #2309 from pipecat-ai/mb/remove-runner-examples
...
Remove examples/runner-examples
2025-07-31 09:18:22 -07:00
Aleix Conchillo Flaqué
e78d9c2c95
Merge pull request #2293 from azain47/azain47/fix-piper-tts-service
...
Fix Piper TTS Service
2025-07-31 08:32:17 -07:00
Vanessa Pyne
b25547a98b
Merge pull request #2305 from pipecat-ai/vp-changelog-text-input
...
update changelog
2025-07-31 10:16:47 -05:00
Mark Backman
e80281c3c4
Remove examples/runner-examples
2025-07-31 10:59:06 -04:00
Mark Backman
d692843e5b
Merge pull request #2308 from pipecat-ai/mb/change-neuphonic-url
...
NeuphonicTTSService: change the default url value to the global endpoint
2025-07-31 07:38:57 -07:00
Mark Backman
eaad3c5d55
NeuphonicTTSService: change the default url value to the global endpoint
2025-07-31 10:24:54 -04:00
vipyne
f2a1c66379
update changelog
2025-07-31 08:55:25 -05:00
Vanessa Pyne
af8de227bb
Merge pull request #2223 from getchannel/realtime-text
...
Add text input handling to unify context for realtimeInput stream of GeminiMultimodalLiveService
2025-07-31 08:53:39 -05:00
Mark Backman
7cd78dd286
Merge pull request #2303 from pipecat-ai/mb/add-new-quickstart-demos
...
Add quickstart demos
2025-07-31 05:56:00 -07:00
Mark Backman
226b516948
Add quickstart demos
2025-07-30 22:14:10 -04:00
Mark Backman
aa85fffa57
New runner module ( #2269 )
...
* Adds pipecat.runner.run - FastAPI-based development server with automatic bot discovery
* Adds new RunnerArguments types for different transports
* Adds new runner utils for creating transports and parsing data
* Adds new Daily and LiveKit utils for setup
2025-07-30 22:02:28 -04:00
srhinos
8b97ab70ff
Enable Interruption Support for LLMUserResponseAggregator
2025-07-30 20:48:31 -04:00
Filipi da Silva Fuchter
9013b2929a
Merge pull request #2300 from pipecat-ai/filipi/fast_api_race_condition
...
Fixed a race condition in FastAPIWebsocketClient
2025-07-30 18:10:09 -03:00
Filipi Fuchter
0c6e12a9b0
Fixed a race condition in FastAPIWebsocketClient that occurred when attempting to send a message while the client was disconnecting.
2025-07-30 18:07:40 -03:00
Aleix Conchillo Flaqué
efb24071d5
Merge pull request #2301 from pipecat-ai/aleix/daily-python-0.19.5
...
pyproject: update daily-python to 0.19.5
2025-07-30 14:01:27 -07:00
Filipi da Silva Fuchter
318ebec67e
Merge pull request #2298 from pipecat-ai/filipi/google_interruptions
...
Fixed an issue in GoogleLLMService where interruptions did not work when an interruption strategy was used.
2025-07-30 17:49:07 -03:00
Aleix Conchillo Flaqué
c679227aa8
pyproject: update daily-python to 0.19.5
2025-07-30 13:19:48 -07:00
Filipi Fuchter
392853f5fa
Fixed an issue in GoogleLLMService where interruptions did not work when an interruption strategy was used.
2025-07-30 12:10:32 -03:00
Mark Backman
98d27caab3
Merge pull request #2296 from pipecat-ai/mb/switch-rime-voices
...
Added the ability to switch voices to RimeTTSService
2025-07-30 07:55:52 -07:00
Mark Backman
0fa51968bf
Added the ability to switch voices to RimeTTSService
2025-07-30 10:53:14 -04:00
Mark Backman
92aee2634b
Merge pull request #2291 from pipecat-ai/mb/remove-on-client-closed
2025-07-30 06:36:32 -07:00
Filipi da Silva Fuchter
bff6a93f31
Merge pull request #2150 from pipecat-ai/filipi/hey_gen
...
HeyGen implementation for Pipecat - HeyGenVideoService
2025-07-30 09:10:07 -03:00
Filipi Fuchter
6e921cdf45
HeyGen implementation for Pipecat - HeyGenVideoService
2025-07-30 09:07:15 -03:00
Azain.
1e2b066cf3
Fix tts.py
...
Update Piper TTS Service to work with the newer Piper GPL Version, that uses JSON as its payload.
2025-07-30 13:41:27 +05:30
Pete
2af3b6329d
Ruff format debug
2025-07-29 17:48:11 -04:00
Pete
8ca06e5887
Add InputTextRawFrame class for handling raw text input in frames
...
- Introduced `InputTextRawFrame` to represent raw text input from users or programs.
- Updated `GeminiMultimodalLiveLLMService` to process `InputTextRawFrame` and send user text via the Gemini Live API's realtime input stream.
- Enhanced `_send_user_text` method documentation for clarity on its functionality and usage.
2025-07-29 17:43:14 -04:00
Mark Backman
c145a9ef13
Merge pull request #2288 from pipecat-ai/mb/stt-mute-examples
...
Update placement of STTMuteFilter in examples to reflect the new reco…
2025-07-29 12:10:36 -07:00
Mark Backman
b523f9a4c6
Merge pull request #2248 from ashotbagh/feat/async-tts
...
feat(tts): integrate Async TTS engine into pipecat
2025-07-29 12:10:11 -07:00
Mark Backman
7f184422d0
Merge branch 'main' into feat/async-tts
2025-07-29 12:06:56 -07:00
Aleix Conchillo Flaqué
fa4c3ec6bf
Merge pull request #2287 from pipecat-ai/aleix/asyncio-trace-logging
...
utils(asyncio): use trace logging for some cancelling messages
2025-07-29 11:56:25 -07:00
Aleix Conchillo Flaqué
9fafc10844
Merge pull request #2292 from richtermb/transcription-error-callback
...
Add on_transcription_error callback to DailyCallbacks and handle tran…
2025-07-29 11:56:02 -07:00
richtermb
67107d02ed
Refactor callback invocation for on_transcription_stopped in DailyTransportClient for improved readability
2025-07-29 11:53:41 -07:00
richtermb
c1df19982c
Add on_transcription_stopped callback to DailyTransport for handling transcription stop events
2025-07-29 11:50:16 -07:00
richtermb
444b1b5b02
Add on_transcription_stopped callback to DailyCallbacks and implement handling in DailyTransport for transcription stop events
2025-07-29 11:49:28 -07:00
Mark Backman
ebfa4f2d5e
Push the STTMuteFrame upstream and downstream
2025-07-29 14:37:36 -04:00
Mark Backman
e961c438e7
Update placement of STTMuteFilter in examples to reflect the new recommendation
2025-07-29 14:36:39 -04:00
richtermb
d3d36a89e2
Add _on_transcription_error method to DailyTransport for handling transcription error events
2025-07-29 10:48:50 -07:00
richtermb
fa6e5ce4a7
Add on_transcription_error callback to DailyCallbacks and handle transcription errors in DailyTransportClient
2025-07-29 10:43:18 -07:00
Mark Backman
3ffb261864
Remove use of on_client_closed event in foundational examples
2025-07-29 13:28:33 -04:00
Mark Backman
f69a02b7a7
Merge pull request #2290 from pipecat-ai/mb/remove-examples
...
Removed most pipecat examples, relocating to pipecat-examples repo
2025-07-29 10:02:24 -07:00
Mark Backman
f1f4aed398
Remove random Dockerfile, update README links
2025-07-29 11:41:27 -04:00
Mark Backman
414c245c92
Remove android.yaml github workflow
2025-07-29 11:34:48 -04:00
Mark Backman
3f57d94c0b
Update examples README
2025-07-29 11:28:40 -04:00
Mark Backman
15e3c69ddc
Removed most pipecat examples, relocating to pipecat-examples repo
2025-07-29 11:17:01 -04:00
Ashot
39b00f5269
chore: address review comments
2025-07-29 18:20:50 +04:00
Mark Backman
4c368c78c6
Merge pull request #2289 from tomoima525/tomoima525/transcription-bucket-params
...
Add transcription_bucket param for rest helper
2025-07-29 05:05:08 -07:00
Tomoaki Imai
6eb00a99cb
update Changelog for transcription_bucket params addition
2025-07-29 20:38:12 +09:00
Tomoaki Imai
3ae8cf1916
Add transcription_bucket param for rest helper
2025-07-29 18:58:38 +09:00
Aleix Conchillo Flaqué
03e87469df
utils(asyncio): use trace logging for some cancelling messages
2025-07-28 17:43:41 -07:00
Mark Backman
70255d3c81
Merge pull request #2274 from pipecat-ai/mb/remove-message-name
...
Remove message["name"] addition when pushing
2025-07-28 17:29:23 -07:00
Mark Backman
96a72d0647
Remove message[name] addition when pushing
2025-07-28 20:13:50 -04:00
Mark Backman
27d4910694
Merge pull request #2286 from pipecat-ai/mb/fix-transcript-processor-newline
...
fix: Improve TranscriptProcessor detection for transcript type
2025-07-28 17:07:43 -07:00
Mark Backman
50242f4ad8
fix: Improve TranscriptProcessor detection for transcript type
2025-07-28 19:56:36 -04:00
Mark Backman
c9dda5251c
Merge pull request #2284 from pipecat-ai/mb/yank-74-75
...
Add yanked notices to 0.0.74 and 0.0.75 changelogs
2025-07-28 12:55:47 -07:00
Mark Backman
419cc9ac68
Add yanked notices to 0.0.74 and 0.0.75 changelogs
2025-07-28 13:36:02 -04:00
Ashot
83b4747196
chore: address review comments
2025-07-28 17:52:17 +04:00
Ashot
a13b954415
formatting/cleanup: address Copilot PR review comments
2025-07-28 17:43:17 +04:00
Ashot
f2e9562f1b
feat(tts): integrate Async TTS engine into pipecat
2025-07-28 17:42:57 +04:00
Mark Backman
afed9a61f2
Merge pull request #2268 from pipecat-ai/mb/inworld-changelog
...
Add changelog entry for InworldTTSService
2025-07-28 05:59:57 -07:00
Mark Backman
f0de27b35e
Merge pull request #2273 from pipecat-ai/mb/gitignore-plivo-stream
...
.gitignore: add plivo-chatbot streams.xml, .python-version
2025-07-28 05:59:41 -07:00
Filipi da Silva Fuchter
9d5510ee47
Merge pull request #2265 from pipecat-ai/filipi/small_webrtc_buffer_processor
...
Fixed an issue in AudioBufferProcessor when using SmallWebRTCTransport
2025-07-28 09:23:58 -03:00
Mark Backman
434c3fc527
Merge pull request #2279 from Allenmylath/patch-26
...
Update README.md
2025-07-28 04:51:58 -07:00
allenmylath
aba79a9478
Update README.md
...
Explanatory comment.Eventhought code allows for transport params.It is not clearly given in readme, what all are the options are there.
2025-07-28 11:24:27 +05:30
Mark Backman
fc96e091a9
Update NVIDIA in README
2025-07-26 15:01:52 -04:00
Mark Backman
851a27c082
Add Groq TTS to README
2025-07-26 14:58:07 -04:00
Mark Backman
a72d93dc6d
Add Inworld to README
2025-07-26 14:55:19 -04:00
Mark Backman
c971232f20
.gitignore: add plivo-chatbot streams.xml, .python-version
2025-07-26 10:19:50 -04:00
Mark Backman
4b2ba2d69f
Merge pull request #2270 from Allenmylath/patch-25
...
Update README.md
2025-07-26 04:55:59 -07:00
allenmylath
240a698fab
Update README.md
...
recreating examples without activating bedrock models will create errors . Warning and link added
2025-07-26 14:51:19 +05:30
Mark Backman
9aaae01063
Add changelog entry for InworldTTSService
2025-07-25 21:46:02 -04:00
Mark Backman
41c8d22cf3
Merge pull request #2208 from padillamt/mtp/add-inworld-tts
...
Inworld HTTP TTS Service
2025-07-25 17:13:37 -07:00
padillamt
b68f044ef7
mtpadilla: updated example to reflect parameter placement changes in base Inworld TTS class
2025-07-25 15:13:43 -07:00
padillamt
e140bd6960
mtpadilla: moved model and voice id setting into the class constructor
2025-07-25 14:04:49 -07:00
Filipi Fuchter
e86b55e2b3
Fixed an issue in AudioBufferProcessor when using SmallWebRTCTransport where, if the microphone was muted, track timing was not respected.
2025-07-25 17:01:41 -03:00
padillamt
4a9bec5b35
mtpadilla: stop metrics at result chunk
2025-07-25 11:14:20 -07:00
padillamt
37361391d9
mtpadilla: removed ability to set base_url via constructor, set internally based on streaming variable
2025-07-25 09:16:56 -07:00
Filipi da Silva Fuchter
4b3726eba4
Merge pull request #2260 from pipecat-ai/filipi/audio_resampler
...
Fixed an issue in `AudioBufferProcessor` that caused garbled audio
2025-07-25 09:27:42 -03:00
padillamt
8e66794759
mtpadilla: switch to Deepgram ASR for lower latency
2025-07-24 22:22:36 -07:00
padillamt
acc5b9f210
inworld: change to function that stops all processing metrics
...
Co-authored-by: Mark Backman <m.backman@gmail.com >
2025-07-24 22:07:15 -07:00
padillamt
f982ace4c5
inworld: removal of unnecessary setting of ssampling rate since matches default
2025-07-24 21:56:01 -07:00
padillamt
5fb1899aeb
inworld: removal of unnecessary default assignment as already handled
2025-07-24 21:42:42 -07:00
padillamt
7483422bd9
inworld: change set_voice uto use self._settings
...
Co-authored-by: Mark Backman <m.backman@gmail.com >
2025-07-24 21:23:03 -07:00
padillamt
16c20f3a99
inworld: removal of unnecessary default assignment since already done
...
Co-authored-by: Mark Backman <m.backman@gmail.com >
2025-07-24 21:15:34 -07:00
padillamt
d248c102c8
inworld: removal of unnecessary default assignment since already done
...
Co-authored-by: Mark Backman <m.backman@gmail.com >
2025-07-24 21:15:20 -07:00
padillamt
662550cc5e
mtpadilla: remove unused imports
2025-07-24 21:05:22 -07:00
padillamt
067f64389b
mtpadilla: no longer needed so making empty
2025-07-24 20:44:27 -07:00
padillamt
81048ce43a
mtpadilla: rename 07aa-interruptible-inworld-http.py to 07ab-interruptible-inworld-http.py
2025-07-24 20:42:29 -07:00
padillamt
f6440ee6e1
mtpadilla: correct Examples header in comments
2025-07-24 13:36:40 -07:00
padillamt
da8c67114a
mtpadilla: make streaming the default for example
2025-07-24 13:35:29 -07:00
Mark Backman
d8ea1311ff
Merge pull request #2254 from pipecat-ai/mb/11labs-create-context-id
...
ElevenLabsTTSService: Only reset the context_id when interruptions ar…
2025-07-24 13:32:37 -07:00
Mark Backman
2be615066c
Merge pull request #2261 from pipecat-ai/mb/foundational-requirements
...
Foundational requirements.txt: add silero, websocket optional dep, re…
2025-07-24 11:06:16 -07:00
Mark Backman
75c2ffc0b5
Check if audio context is already available, create one if not
2025-07-24 13:57:46 -04:00
Mark Backman
2297eb217e
ElevenLabsTTSService: Only reset the context_id when interruptions are enabled
2025-07-24 13:53:44 -04:00
Mark Backman
1bb821a07d
Foundational requirements.txt: add silero, websocket optional dep, remove fastapi
2025-07-24 13:49:44 -04:00
Filipi Fuchter
970b8044a0
Fixed an issue in AudioBufferProcessor that caused garbled audio when enable_turn_audio was enabled and audio resampling was required.
2025-07-24 13:25:48 -03:00
Filipi da Silva Fuchter
d8bcb81f35
Merge pull request #2259 from pipecat-ai/filipi/eleven_labs_delayed_messages
...
Play delayed messages from `ElevenLabsTTSService` if they still belong to the current context.
2025-07-24 12:07:06 -03:00
Filipi da Silva Fuchter
3ce0ab8c6d
Removing extra space.
...
Co-authored-by: Mark Backman <mark@daily.co >
2025-07-24 12:05:17 -03:00
Filipi Fuchter
097d786431
Fixing ruff format.
2025-07-24 12:03:17 -03:00
Filipi Fuchter
662f04879c
Play delayed messages from ElevenLabsTTSService if they still belong to the current context.
2025-07-24 12:00:14 -03:00
Mark Backman
7a69f57e11
Merge pull request #2255 from pipecat-ai/mb/pyproject-versions-for-uv
...
pyproject.toml dependency updates to support better cross compatibility
2025-07-24 06:43:35 -07:00
Mark Backman
5b7b4efdc9
Add broader version support for stable core dependencies, up to the next major version
2025-07-24 09:40:52 -04:00
Mark Backman
cfa26524ca
Add support for fastapi>=0.115.6,<0.117.0
2025-07-24 09:37:42 -04:00
Mark Backman
3d4ab7158d
pyproject.toml dependency updates to support better cross compatibility
2025-07-24 09:37:42 -04:00
Mark Backman
26d1ca3c98
Merge pull request #2256 from pipecat-ai/mb/refactor-neuphonic-http
...
NeuphonicHttpTTSService: Refactor to use POST API
2025-07-24 06:36:23 -07:00
Mark Backman
083b32887e
NeuphonicHttpTTSService: Refactor to use POST API
2025-07-24 01:05:37 -04:00
padillamt
b6367965cb
mtpadilla: consolidate streaming and non-streaming options into a single class with common API, with boolean switch variable added (streaming)
2025-07-23 16:50:32 -07:00
padillamt
147bf9cfe8
mtpadilla: addition of non-streaming option with own dedicated class, and related additional non-streaming test option
2025-07-23 15:28:43 -07:00
Mark Backman
3391929127
Merge pull request #2252 from pipecat-ai/mb/example-axios-version-bump
...
Update axios in daily-pstn-server example due to transitive vulnerabi…
2025-07-23 13:30:58 -07:00
padillamt
a5d353030e
mtpadilla: small formatting fix to comments
2025-07-23 12:02:58 -07:00
padillamt
f29024bcc0
mtpadilla: update coments regarding temperature parameter
2025-07-23 11:47:26 -07:00
Mark Backman
ebf9bc2741
Merge pull request #2246 from ydlamba/ydlamba/missing-livekit-event
...
fix(livekit): emit on_audio_track_subscribed event
2025-07-23 11:27:10 -07:00
Mark Backman
f5edde42f6
Update axios in daily-pstn-server example due to transitive vulnerability with form-data
2025-07-23 14:22:13 -04:00
Filipi da Silva Fuchter
37bb7ef926
Merge pull request #2239 from pipecat-ai/filipi/daily_log
...
Added `set_log_level` to `DailyTransport`
2025-07-23 14:48:34 -03:00
Filipi Fuchter
a63d1530a4
Added set_log_level to DailyTransport.
2025-07-23 14:43:53 -03:00
Yash Dev Lamba
960bc9df5b
chore(changelog): add entry for LiveKitTransport audio subscribed event fix
2025-07-23 22:41:20 +05:30
Mark Backman
e2a153ee01
Merge pull request #2242 from pipecat-ai/mb/websockets-14
...
Upgrade websockets to support asyncio implementation
2025-07-23 08:58:08 -07:00
Mark Backman
300f19ad23
Port to the websockets asyncio implementation, support for websockets 13 and 14
2025-07-23 11:54:25 -04:00
Mark Backman
7955080da2
Change extra_headers to additional_headers, update websocket version support
2025-07-23 11:53:43 -04:00
Mark Backman
994e82c1ef
Merge pull request #2243 from pipecat-ai/mb/word-wrangler-twilio-readme
...
Update Word Wrangler phone bot README to include deployment info
2025-07-23 07:04:19 -07:00
Mark Backman
b07b947352
Merge pull request #2244 from pipecat-ai/mb/upgrade-deepgram-4.7.0
...
Deepgram: Update optional dependency to 4.7.0
2025-07-23 07:04:02 -07:00
Filipi da Silva Fuchter
a6527c3856
Merge pull request #2240 from pipecat-ai/filipi/sig_term
...
Adding support for handle_sigterm
2025-07-23 08:15:50 -03:00
antonyesk601
1cbf7ae480
fix: remove unused variable; fix: remove redundant logic
2025-07-23 08:26:44 +00:00
Yash Dev Lamba
0e6874b605
fix(livekit): emit on_audio_track_subscribed event
2025-07-23 08:23:45 +05:30
Mark Backman
9ba172c49f
Merge pull request #2236 from dbtreasure/fix/python-311-compatibility
...
Fix Python 3.11+ compatibility by pinning numba/llvmlite versions
2025-07-22 18:20:38 -07:00
dbtreasure
f710c94b6e
Address code review feedback: remove explicit llvmlite pin
...
- Remove explicit llvmlite>=0.44.0 pin as numba>=0.61.0 automatically pulls compatible version
- Add changelog entry for Python 3.11+ dependency fix
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-07-22 18:45:32 -06:00
dbtreasure
6e3a0a2d5d
Add explicit numba/llvmlite pins for Python 3.11+ compatibility
...
Fixes dependency resolution issues where transitive dependencies
through resampy would install incompatible versions:
- numba>=0.61.0 (supports Python 3.10-3.13)
- llvmlite>=0.44.0 (supports Python 3.10-3.13)
Previously, older versions (numba 0.53.1, llvmlite 0.36.0) only
supported Python 3.6-3.9, causing deployment failures on Python 3.11+.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-07-22 18:45:02 -06:00
Mark Backman
9530b8b842
Merge pull request #2235 from pipecat-ai/mb/nltk-tokenizer
...
Update match_endofsentence to use NLTK sentence tokenizer
2025-07-22 17:22:23 -07:00
Mark Backman
26c937af87
Update match_endofsentence to use NLTK sentence tokenizer
2025-07-22 20:19:29 -04:00
Mark Backman
976f6168f0
Deepgram: Update optional dependency to 4.7.0
2025-07-22 20:15:30 -04:00
Mark Backman
0be64e0fd9
Update Word Wrangler phone bot README to include deployment info
2025-07-22 20:10:20 -04:00
Filipi Fuchter
7d527c3a6b
Mentioning the new field in the changelog.
2025-07-22 19:32:52 -03:00
Filipi Fuchter
c6f6930c27
Adding support for handle_sigterm
2025-07-22 17:24:07 -03:00
Mark Backman
c33dfe8309
Merge pull request #2233 from pipecat-ai/mb/enable-tracing-flag
...
fix: enable_tracing PipelineParam controls the service class decorators
2025-07-22 08:14:32 -07:00
Mark Backman
769cd1ef06
fix: enable_tracing PipelineParam controls the service class decorators
2025-07-22 11:10:53 -04:00
Mark Backman
6d72f60571
Merge pull request #2234 from pipecat-ai/mb/fix-minimax-pitch
...
fix: MiniMaxHttpTTSService pitch, add base_url arg
2025-07-22 08:10:01 -07:00
Mark Backman
e8d0712ac1
Merge pull request #2238 from pipecat-ai/mb/patch-form-data
...
Fix form-data vulnerability in pipecat-cloud-daily-pstn-server
2025-07-22 08:09:49 -07:00
Mark Backman
88b2c817ac
Fix form-data vulnerability in pipecat-cloud-daily-pstn-server
2025-07-22 10:08:25 -04:00
Mark Backman
f8f6c9918d
Merge pull request #2237 from pipecat-ai/mb/pipecat-cloud-example-pipeline-runner-args
...
Update Pipecat Cloud example to use handle_sigint=False in PipelineRu…
2025-07-22 06:55:56 -07:00
Mark Backman
8ee608bbfe
Update Pipecat Cloud example to use handle_sigint=False in PipelineRunner args
2025-07-22 09:52:57 -04:00
Mark Backman
fad2ba4570
Merge pull request #2204 from yousifa/mcp-FunctionCallParams
2025-07-22 05:01:32 -07:00
Mark Backman
f609f7eb53
fix: MiniMaxHttpTTSService pitch, add base_url arg
2025-07-21 21:16:35 -04:00
Mark Backman
ea09813a2b
Merge pull request #2227 from pipecat-ai/mb/fix-11labs-wordtimestamps
...
fix: Improve ElevenLabsTTSService word/timestamp calcuation accuracy
2025-07-21 16:07:07 -07:00
Mark Backman
53abfc27a7
fix: Improve ElevenLabsTTSService word/timestamp calcuation accuracy
2025-07-21 18:48:38 -04:00
padillamt
1915407ff7
inworld: removed unreferenced is_first_chunk variable
2025-07-21 15:30:48 -07:00
Mark Backman
9c72e96a2c
Merge pull request #2230 from pipecat-ai/mb/livekit-tenacity
...
Livekit: change tenacity supported versions
2025-07-21 15:28:38 -07:00
Mark Backman
f66c67c4ab
Merge pull request #2232 from pipecat-ai/mb/fix-ollama-args
...
Fix: Ollama kwargs error
2025-07-21 15:26:13 -07:00
Mark Backman
b623face03
Add Ollama function calling example 14u
2025-07-21 17:52:16 -04:00
Mark Backman
698d60f3ae
fix: OLLamaLLMService pass base_url as kwarg
2025-07-21 17:51:11 -04:00
Mark Backman
c9717a23a5
Livekit: change tenacity supported versions
2025-07-21 17:30:18 -04:00
padillamt
076a675a75
inworld: Fix...Set sample_rate=None in InworldHttpTTSService to match Cartesia pattern
2025-07-21 13:50:36 -07:00
padillamt
0d5292c4ef
inworld: typo fix in voice name
2025-07-21 13:48:13 -07:00
padillamt
4853d5d55c
inworld: updated InworldHttpTTSService initialization
2025-07-21 13:27:25 -07:00
padillamt
8eda2435a2
inworld: removed explicit references to language since our models currently infer that from the text.
2025-07-21 13:24:10 -07:00
Mark Backman
d981ce6e56
Merge pull request #2226 from pipecat-ai/mb/11labs-speed-docstring
...
Fix 11Labs speed docstring
2025-07-21 13:21:45 -07:00
padillamt
54ff946976
inworld: largely adjustments for docstring compatibility
2025-07-21 12:07:58 -07:00
Mark Backman
1bbd3bd8ab
Fix 11Labs speed docstring
2025-07-21 14:58:12 -04:00
padillamt
aadd088b50
inworld: commented out contents as per Pipecat guidance that this pattern is being retired
2025-07-21 10:52:55 -07:00
padillamt
4250aa6616
inworld: removal of backup copy, no longer needed
2025-07-21 10:11:50 -07:00
Kwindla Hultman Kramer
a20915caa7
Merge pull request #2224 from pipecat-ai/khk/mps
...
Add MPS backend auto-detection to local smart-turn v2
2025-07-21 09:24:51 -07:00
Vanessa Pyne
28cab5a606
Merge pull request #1932 from getchannel/groundingMetadata
...
Add groundingMetadata to Gemini Multimodal Live Service
2025-07-21 10:09:26 -05:00
Vanessa Pyne
cfea56064d
small merge-main nit fixes - gemini_multimodal_live events.py
2025-07-21 09:54:15 -05:00
Vanessa Pyne
8467d87cfc
small main-merge fixes - gemini.py
2025-07-21 09:52:32 -05:00
Kwindla Hultman Kramer
b20d020bea
Add MPS backend auto-detection to local smart-turn v2
2025-07-20 20:18:45 -04:00
padillamt
e3711f96a3
inworld: added detailed comments
2025-07-20 17:06:35 -07:00
Pete
948257c66e
Merge branch 'main' into groundingMetadata
2025-07-20 19:54:30 -04:00
Pete
b54d1fb7fd
Resolve merge conflict and remove duplicate File API initialization
...
- Remove duplicate file_api initialization lines
- Keep grounding metadata tracking functionality
- Maintain clean code structure
2025-07-20 19:15:40 -04:00
Pete
ec361df0d1
Fix final ruff linting issues
...
- Remove duplicate import in __init__.py
- Clean up extra blank lines in gemini.py
- Remove extra blank line in _create_single_response method
2025-07-20 18:58:54 -04:00
Pete
b1a5cddde4
Refactor whitespace and formatting in multiple files
...
- Clean up unnecessary whitespace in `gemini.py`, `events.py`, and `file_api.py`
- Ensure consistent formatting in `26g-gemini-multimodal-live-groundingMetadata.py`
- Improve readability by aligning code and removing trailing spaces
2025-07-20 18:40:12 -04:00
Pete
e165d38277
remove truncated logging from debug
2025-07-20 18:27:21 -04:00
Pete
8ba340a8a5
remove debug logging
2025-07-20 18:21:42 -04:00
Pete
8f74b97591
Refactor _send_user_text method in Gemini multimodal service to streamline event creation for turn completion
2025-07-20 18:08:45 -04:00
Pete
1d69cd1a5e
Remove debug logging from _send_user_text method in Gemini multimodal service
2025-07-20 18:04:57 -04:00
Pete
bd7a0f27cc
Add text input handling to Gemini multimodal service
...
- Updated `RealtimeInput` to include an optional `text` parameter.
- Introduced `TextInputMessage` class for encapsulating text input data.
- Implemented `_send_user_text` method to send text input to the Gemini Live API.
- Enhanced message processing to support text input alongside media chunks.
2025-07-20 17:39:31 -04:00
padillamt
5d8c184d99
inworld: commit of original text file and changes that copy openai's with Inworld TTS as only change
2025-07-18 16:30:03 -07:00
padillamt
1bc442e329
inworld: docstring fix
2025-07-18 15:13:19 -07:00
kompfner
d4e33663b2
Merge pull request #2214 from pipecat-ai/pk/fix-google-llm-context
...
Fixed an issue in `GoogleLLMContext` where it would inject the `syste…
2025-07-18 09:28:28 -04:00
marcus-daily
d7d1b16dad
Removing old import
2025-07-18 12:48:06 +01:00
marcus-daily
0bc2ea13f2
Updating changelog
2025-07-18 12:48:06 +01:00
marcus-daily
b5d1301221
Fix linter warnings
2025-07-18 12:48:06 +01:00
marcus-daily
ed8f30ec71
Add support for running smart-turn-v2 locally
2025-07-18 12:48:06 +01:00
antonyesk601
688031efd6
fix: use undeclared variable _preinitialized. fix: double send of start frame
2025-07-18 08:23:04 +00:00
kompfner
a74a935ca0
Merge pull request #1910 from matejmarinko-soniox/main
...
Add Soniox STT service integration
2025-07-17 09:29:07 -04:00
antonyesk601
0f9e69d3c7
feat: Add Simli Trinity models support to pipecat
2025-07-17 11:55:40 +00:00
padillamt
f3984aec33
inworld: added (empty) requirements for Inworld to be explicit reg dependencies
2025-07-16 13:21:32 -07:00
Paul Kompfner
7cfd56699b
Fixed an issue in GoogleLLMContext where it would inject the system_message as a "user" message into cases where it was not meant to; it was only meant to do that when there were no "regular" (non-function-call) messages in the context, to ensure that inference would run properly.
2025-07-16 16:07:53 -04:00
Matej Marinko
cb984237a7
Fix lint error
2025-07-16 16:54:28 +02:00
Matej Marinko
c969fdddb9
Rename and simplify VAD finalization parameter usage
2025-07-16 09:47:34 +02:00
padillamt
2b76823b01
inworld: added comments to track a few things to confirm
2025-07-15 18:17:30 -07:00
padillamt
ca936bd569
inworld: added Inworld to list of needed credentials
2025-07-15 18:11:50 -07:00
padillamt
c67b779b91
inworld: first commit of Inworld example file for TTS
2025-07-15 17:21:16 -07:00
padillamt
913dba3b74
inworld: class name change
2025-07-15 17:15:57 -07:00
padillamt
384838147a
inworld: removed unnecessary code from stop() and cancel()
2025-07-15 16:56:18 -07:00
padillamt
7861b911c0
inworld: first commit of __init__ and tts.py files
2025-07-15 16:50:50 -07:00
Mark Backman
9931ad2ce1
Merge pull request #2199 from Dev-Khant/add-host-support-in-Mem0
...
Add `host` support in Mem0 Memory
2025-07-15 11:41:15 -07:00
Filipi da Silva Fuchter
fd73feb645
Merge pull request #2201 from pipecat-ai/filipi/stt_issue
...
Only create the EmulateUserStartedSpeakingFrame if we have received a transcription
2025-07-15 13:56:11 -03:00
Yousif Astarabadi
ee78428a2a
formatted
2025-07-14 20:38:28 -07:00
Yousif Astarabadi
ae02249255
mcp_tool_wrapper using FunctionCallParams
2025-07-14 20:31:22 -07:00
Filipi Fuchter
727af2e6fb
Only create the EmulateUserStartedSpeakingFrame if we have received a transcription.
2025-07-14 17:38:03 -03:00
Mark Backman
8fd5576879
Merge pull request #2198 from Allenmylath/patch-24
...
Update app.py
2025-07-14 06:37:42 -07:00
kompfner
1f85dcee7c
Merge pull request #2171 from pipecat-ai/pk/aws-strands-demo
...
Minimal AWS Strands demo
2025-07-14 09:32:16 -04:00
Dev Khant
138890bc5c
Add support in Mem0 Memory
2025-07-14 18:08:25 +05:30
Filipi da Silva Fuchter
a094efc9e6
Merge pull request #2196 from pipecat-ai/mb/lmnt-model
...
LmntTTSService: update the default model to blizzard
2025-07-14 09:15:17 -03:00
allenmylath
1f9e2fdecc
Update app.py
...
misleading comment. no endpoints.py
2025-07-14 14:02:35 +05:30
Mark Backman
4a2b4660bc
LmntTTSService: update the default model to blizzard
2025-07-13 10:54:43 -07:00
Mark Backman
b3ac90015a
Merge pull request #2195 from Trinary-Projects/transformers_ver_patch
...
Update transformers dep. to >=4.48.0 for Ultravox
2025-07-11 23:31:47 -07:00
Jaideep
2fe06f0a4e
Update pyproject.toml
2025-07-12 11:34:45 +05:30
Mark Backman
1836a7484e
Merge pull request #2193 from pipecat-ai/mb/changelog-0.0.76
...
Prepare changelog for 0.0.76 release
2025-07-11 16:15:34 -07:00
Mark Backman
25a5c5aaab
Prepare changelog for 0.0.76 release
2025-07-11 16:08:08 -07:00
mattie ruth backman
24694e2558
Changelog entry
2025-07-11 14:30:12 -07:00
mattie ruth backman
2325edd9ba
Add a text entry box to the simple-chatbot example
2025-07-11 14:30:12 -07:00
mattie ruth backman
fad5713ade
Fix append-to-context function call
2025-07-11 14:30:12 -07:00
Paul Kompfner
fe8573322f
AWS Strands demos
2025-07-11 16:42:27 -04:00
Mark Backman
06c1255abe
fix: use a different aggregation timeout for emulated user speech ( #2185 )
...
* fix: use a different aggregation timeout for emulated user speech
* Add SpeechControlParamsFrame
* Update test_context_aggregator tests
2025-07-11 16:33:44 -04:00
Mark Backman
f108a67635
Merge pull request #2189 from pipecat-ai/mb/numpy-version-bump
...
Update numpy, transformers to support newer versions
2025-07-11 12:02:02 -07:00
Mark Backman
bf580d061d
Update numpy, transformers to support newer versions
2025-07-11 11:58:31 -07:00
Filipi da Silva Fuchter
b005bd7b98
Merge pull request #2184 from pipecat-ai/filipi/twilio_issue
...
Fixing an issue where Pipecat was not receiving the user's audio
2025-07-11 15:32:28 -03:00
Filipi Fuchter
75f8baab33
Mentioning the fixes in the changelog.
2025-07-11 11:56:16 -03:00
Matej Marinko
5c3fb73cef
Rename example
2025-07-11 16:07:24 +02:00
Filipi Fuchter
5c3f4180b9
Refactored VAD analyzer to process multiple audio frames in a single iteration if needed.
2025-07-11 10:59:32 -03:00
Mark Backman
6cd6e7ceed
Merge pull request #2186 from pipecat-ai/mb/fix-pre-commit-config
...
Update .pre-commit-config.yaml to use pyproject.toml linting rules
2025-07-11 06:34:01 -07:00
Filipi Fuchter
1a146c2a64
Not serializing a JSON in case we have no audio.
2025-07-11 10:15:09 -03:00
Filipi Fuchter
eaeb9e6efa
Not creating InputAudioRawFrame in case we don't have bytes. Fixed for Pilvo, Exotel and Telnyx.
2025-07-11 09:51:38 -03:00
Matej Marinko
2e84c91748
Remove outdated parameter
2025-07-11 08:52:39 +02:00
Matej Marinko
650d45c1f4
Use single sample rate parameter
2025-07-11 08:27:06 +02:00
Filipi Fuchter
f4f65024ef
Refactoring the test client to use the new version of the Pipecat Client SDK.
2025-07-10 21:57:25 -03:00
Filipi Fuchter
1200aa4fb8
Not creating InputAudioRawFrame in case we don't have bytes.
2025-07-10 21:56:34 -03:00
Filipi da Silva Fuchter
6762363685
Merge pull request #2183 from pipecat-ai/filipi/parallel_pipeline_issue
...
Fixed an issue in ParallelPipeline that caused errors when attempting to drain the queues.
2025-07-10 21:51:04 -03:00
Filipi Fuchter
b2ead325c4
Fixed an issue in ParallelPipeline that caused errors when attempting to drain the queues.
2025-07-10 21:50:35 -03:00
Mark Backman
4e24b915cc
Update .pre-commit-config.yaml to use pyproject.toml linting rules
2025-07-10 16:10:27 -07:00
kompfner
b610ee26ba
Merge pull request #2181 from pipecat-ai/pk/fix-aws-nova-sonic-pipeline-freeze
...
Fix a pipeline freeze when using AWS Nova Sonic. The freeze occurs if…
2025-07-10 16:30:55 -04:00
Paul Kompfner
2b867f1613
Fix a pipeline freeze when using AWS Nova Sonic. The freeze occurs if the user starts speaking before we've finished sending the "trigger " audio (AWS Nova Sonic can only start speaking in response to a user utterance, so we have a simulated user utterance to "trigger" the bot speaking without the user having actually spoken first).
2025-07-10 15:57:05 -04:00
Mark Backman
7b8fe565c7
Merge pull request #2182 from pipecat-ai/mb/run-example-usage
...
run.py: Add example usage to the module docstring
2025-07-10 12:48:29 -07:00
Mark Backman
a246862910
run.py: Add example usage to the module docstring
2025-07-10 11:41:49 -07:00
Filipi da Silva Fuchter
106809f3fd
Merge pull request #2166 from carolin-tavus/remove-persona-microphone-check
...
feat: Remove persona microphone check
2025-07-10 15:28:35 -03:00
carolin-tavus
f0d8499f7e
feat: avoid checking microphone enabled
2025-07-10 09:40:27 +00:00
Mark Backman
332ca3d55e
Merge pull request #2177 from pipecat-ai/mb/fix-ruff-improvements
...
Make fix-ruff.sh more flexible, use pyproject rules
2025-07-09 12:33:05 -07:00
Mark Backman
a48f5d5796
Make fix-ruff.sh more flexible, use pyproject rules
2025-07-09 11:48:17 -07:00
Mark Backman
f04f047428
Merge pull request #2176 from pipecat-ai/mb/pre-commit-config
...
Add docstring checking to .pre-commit-config.yaml
2025-07-09 11:47:25 -07:00
Mark Backman
4e61fd33ea
Add docstring checking to .pre-commit-config.yaml
2025-07-09 11:18:40 -07:00
Matej Marinko
61ac77be72
Update docs
2025-07-09 11:59:45 +02:00
Matej Marinko
c093eb5b63
Move config to main file
2025-07-09 10:20:37 +02:00
Matej Marinko
98e24131bd
Send raw result
2025-07-09 09:59:04 +02:00
Matej Marinko
7becce9e8c
Add transcript tracing
2025-07-09 09:37:58 +02:00
Matej Marinko
3cdaeb719a
Update examples to new format
2025-07-09 09:28:43 +02:00
Matej Marinko
8daaea5969
Minor code cleanup
2025-07-09 09:03:02 +02:00
matejmarinko-soniox
dc47516e14
Update src/pipecat/services/soniox/config.py
...
Co-authored-by: Mark Backman <m.backman@gmail.com >
2025-07-09 08:04:59 +02:00
Mark Backman
0fcc4f822f
Merge pull request #2173 from captaincaius/fix-nextjs-webhook-example-null-check
...
fix nextjs webhook example num_endpoints null check
2025-07-08 14:10:16 -07:00
Captain Caius
c0ed061ff5
fix nextjs webhook example num_endpoints null check
2025-07-08 13:40:26 -07:00
Mark Backman
d98b6b418d
Release prep for 0.0.75 ( #2169 )
...
* Update CHANGELOG for 0.0.75 release
* Add RTVI changes to CHANGELOG
* Update CHANGELOG, add deprecation directives to rtvi.py
---------
Co-authored-by: mattie ruth backman <mattieruth@gmail.com >
2025-07-08 15:39:44 -04:00
Mark Backman
deea29b5e8
Merge pull request #2170 from pipecat-ai/mb/update-packages-0.0.75
...
Package updates to run the release evals
2025-07-08 12:02:22 -07:00
Mark Backman
0bdbc83ed9
Package updates to run the release evals
2025-07-08 11:39:49 -07:00
Mark Backman
6c591f0990
Merge pull request #2167 from pipecat-ai/mb/fix-riva-watchdog
...
RivaSTTService: reset the watchdog in an async function
2025-07-08 11:29:44 -07:00
Mark Backman
b55b9c257b
RivaSTTService: remove reset_watchdog, which is handled in the WatchdogQueue already
2025-07-08 11:19:47 -07:00
Mark Backman
5156c21d14
Merge pull request #2168 from pipecat-ai/mb/fix-neuophonic-tts
...
Fix: NeuphonicTTSService to use latest websocket API
2025-07-08 11:17:58 -07:00
Mark Backman
a9d824753b
Fix: NeuphonicTTSService to use latest websocket API
2025-07-08 11:08:08 -07:00
Filipi da Silva Fuchter
3c6a208101
Merge pull request #2148 from pipecat-ai/filipi/aws_bedrock
...
Refactoring AWSBedrockLLMService to work async
2025-07-08 12:14:28 -03:00
Mark Backman
b1032a1ca4
Merge pull request #2151 from pipecat-ai/mb/ollama-kwargs
...
OLLamaLLMService: Pass kwargs
2025-07-08 07:21:09 -07:00
Mark Backman
931f34fccd
OLLamaLLMService: Pass kwargs
2025-07-08 07:17:18 -07:00
Mark Backman
f2509adec1
Merge pull request #2162 from pipecat-ai/mb/tts-service-aggregate-sentences
...
TTS services: Add aggregate_sentences arg
2025-07-08 07:14:58 -07:00
Filipi Fuchter
285b82eb65
Mentioning the AWSBedrockLLMService and AWSPollyTTSService refactors in the changelog.
2025-07-08 07:30:30 -03:00
Filipi Fuchter
74da197304
Refactored AWSBedrockLLMService and AWSPollyTTSService to work asynchronously using aioboto3 instead of the boto3 library.
2025-07-08 07:28:23 -03:00
Matej Marinko
0f727248d2
Merge branch 'main' of github.com:pipecat-ai/pipecat
2025-07-08 08:20:10 +02:00
mattie ruth backman
a6de16f92f
Bump all client dependencies to use client-js/react/transports 1.0.0
2025-07-07 15:56:08 -07:00
mattie ruth backman
fc09854d7f
fix cam light always on
2025-07-07 15:56:08 -07:00
mattie ruth backman
2959029151
PR Review fixes
2025-07-07 15:56:08 -07:00
mattie ruth backman
e590441b7b
Add support for about info in ready messages and add deprecation comments to deprecated types
2025-07-07 15:56:08 -07:00
mattie ruth backman
dc41ec7cb1
Updated all examples with clients to use the new PipecatClient
2025-07-07 15:56:08 -07:00
mattie ruth backman
43049c865c
Add support for new RTVI client message protocol: handling and responding
2025-07-07 15:56:08 -07:00
mattie ruth backman
c4a9fc7f88
video-transport typescript formatting
2025-07-07 15:56:08 -07:00
mattie ruth backman
faf4026cf4
Add device controls to the simple chatbot example
2025-07-07 15:56:08 -07:00
Mark Backman
f53f45a6cd
TTS services: Add aggregate_sentences arg
2025-07-07 15:38:31 -07:00
Mark Backman
e04e876f44
Merge pull request #2156 from shahrukhx01/add-additional-whisper-models
...
WhisperSTTService: Add additional whisper model variants
2025-07-07 12:53:06 -07:00
shahrukhx01
a84e7e30da
WhisperSTTService: Add additional whisper model variants
2025-07-07 21:43:48 +02:00
Mark Backman
6eed6ff779
Merge pull request #2147 from pipecat-ai/mb/user-idle-long-function-call
...
UserIdleProcessor: Account for function calls in progress
2025-07-04 14:11:16 -07:00
Mark Backman
1375211610
UserIdleProcessor: Account for function calls in progress
2025-07-04 14:05:05 -07:00
Mark Backman
4e9369a702
Merge pull request #2149 from pipecat-ai/mb/twilio-hang-up-handling
2025-07-04 12:44:17 -07:00
Mark Backman
f9e8748a96
TwilioFrameSerializer: Handle user hanging up before the serializer
2025-07-04 09:42:16 -07:00
Filipi da Silva Fuchter
20d6bf267a
Merge pull request #2146 from pipecat-ai/remove_gemini_duplicated_code
...
Removing duplicated code inside Gemini.
2025-07-04 11:59:10 -03:00
Filipi Fuchter
b573f9dab2
Removing duplicated code inside Gemini.
2025-07-04 10:57:53 -03:00
Pete
7ed4fe50d4
Update gemini.py
...
-FunctionCallFromLLM
-Delete duplicate Gemini imports
2025-07-03 19:39:44 -04:00
Pete
6f66ec1727
Update gemini.py
...
tab indentation fix
2025-07-03 18:55:21 -04:00
Pete
c7e758fc36
Merge branch 'main' into groundingMetadata
2025-07-03 18:47:47 -04:00
Pete
14c22234bb
Fix parameter name consistency in parse_server_event function
...
- Change function body to use 'str' parameter consistently
- Matches pattern used in OpenAI Realtime Beta service
- Fixes bug where parameter was named 'str' but body used 'message_str'
- Maintains consistency with existing codebase patterns
2025-07-03 18:02:24 -04:00
Pete
d565e9ae53
Update grounding metadata example with final refinements
...
- Reorganize imports and transport_params structure
- Remove copyright header for consistency
- Enhance grounding metadata logging with better formatting
- Remove unnecessary PipelineParams configuration
- Update message content formatting
Completes incorporation of draft PR #2121 changes
2025-07-03 17:53:55 -04:00
Pete
4951c97eab
Clean up verbose logging in grounding metadata implementation
...
- Remove debug logging from grounding metadata event handlers
- Simplify logging in _process_grounding_metadata method
- Clean up example file logging for better readability
- Remove verbose event parsing comments
Based on suggestions from draft PR #2121
2025-07-03 17:49:27 -04:00
Pete
9b38f3e2fa
Delete examples/foundational/26f-gemini-multimodal-live-files-api.py
2025-07-03 17:15:18 -04:00
Mark Backman
dbc76389d8
Merge pull request #2140 from pipecat-ai/mb/fix-26-imports
...
Fix: missing import in 26f foundational example
2025-07-03 14:12:54 -07:00
Aleix Conchillo Flaqué
c27f838444
Merge pull request #2124 from pipecat-ai/aleix/frame-processor-no-push-queue
...
FrameProcessor: remove unnecessary push task
2025-07-03 14:03:05 -07:00
Aleix Conchillo Flaqué
ce84485e26
Merge pull request #2142 from pipecat-ai/aleix/publish-workflow-message
...
github: update publish message to make it clear
2025-07-03 14:02:51 -07:00
Mark Backman
6cf254e2f9
Fix: missing import in 26f foundational example, update twilio transport_params to FastAPIWebsocketParams
2025-07-03 13:58:18 -07:00
Aleix Conchillo Flaqué
02b63c28a5
FrameProcessor: remove unnecessary push task
...
When we call `FrameProcessor.push_frame()` we end up calling
`FrameProcessor.queue_frame()` on the next or previous processor which already
uses the input queue and guarantees frame ordering. So, there's no need to have
a two queues next to each other.
2025-07-03 13:57:32 -07:00
Aleix Conchillo Flaqué
57c6ce7ffa
github: update publish message to make it clear
2025-07-03 13:55:02 -07:00
Aleix Conchillo Flaqué
2f3272ea2f
Merge pull request #2135 from pipecat-ai/aleix/pipecat-0.0.74
...
update CHANGELOG for 0.0.74
2025-07-03 13:46:00 -07:00
Aleix Conchillo Flaqué
f5c2d57e4b
update CHANGELOG for 0.0.74
2025-07-03 13:44:21 -07:00
Aleix Conchillo Flaqué
baa878272d
scripts(evals): added 07a-interruptible-speechmatics.py
2025-07-03 13:44:21 -07:00
Aleix Conchillo Flaqué
093285868e
scripts(evals): update timeout back to 90 seconds
2025-07-03 13:37:17 -07:00
Filipi da Silva Fuchter
6c9d058ec2
Merge pull request #2139 from pipecat-ai/filipi/changelog_improvements
...
Mentioning the SpeechmaticsSTTService in the changelog.
2025-07-03 17:36:55 -03:00
Filipi Fuchter
5df7be6892
Mentioning the SpeechmaticsSTTService in the changelog.
2025-07-03 17:35:30 -03:00
Mark Backman
2deca816ae
Merge pull request #2137 from pipecat-ai/mb/fish-audio-normalize
...
FishAudioTTSService: arg cleanup, add new InputParam and arg
2025-07-03 13:29:14 -07:00
Mark Backman
b8d2fceced
Merge pull request #2138 from pipecat-ai/mb/fix-google-llm-import-order
...
GoogleLLMService: Linting fixes
2025-07-03 13:26:32 -07:00
Sam Sykes
7596d71460
Speechmatics STT + multi-speaker conversations ( #2036 )
...
* initial config
* skeleton
* Added a README (to be added to).
* Payloads coming from the ASR.
* doc update
* handle the partials and finals
* enable diarization in the example
* support sending messages to pipecat pipeline
* requirements fix in README
* updated example (with amusement)
* updated example to match master
* updated docs
* support for diarization tags
* logic fix for wrapper
* Use an internal SpeechFrame for speaker_id (not user_id).
* only include speaker tags on finalised transcript (as this may skew end of utterance detection)
* updated docs
* correction to docs and updated example
* updated requirement
* Fix for using default EU server.
* Updates from PR comments.
* Refactor based on comments in the original PR.
Primary focus on documentation, naming conventions and how `user_id` is used.
* Check for SMX installed when importing.
* Variable name change
* Comment correction.
* Support for Esporanto and Uyghur
* Impoved language support
* function name change
* Locale fix
* intercept
* interim changes
* pass the pipeline task to the module for adding events to the top of the pipeline
* logging for the pipeline
* Reduce timeout for content aggregator.
* staged update
* testing with Azure
* Updated context (Azure was dropping punctuation) and using better ElevenLabs model.
* Updated to RT 0.3.0 and use OpenAI (not Azure).
* Missing OpenAI import; parameter name change for output locale validation.
* Revert to `0.2.0` of RT SDK.
* fix for assignment of `output_locale_code`.
* update Speechmatics library to 0.3.1
* new transcription example
* updated asyncio task handling
* Updated doc strings
* enable OpenTelemetry logging
* removed import from stt for __init__
* updated examples and default values
* updated examples
* prevent lock up when closing the STT connection
2025-07-03 17:25:13 -03:00
Mark Backman
096067b097
GoogleLLMService: Linting fixes
2025-07-03 13:23:13 -07:00
Mark Backman
ec09505f6b
FishAudioTTSService: Add normalize as InputParam, model_id as arg
2025-07-03 13:14:15 -07:00
Mark Backman
251ea756c8
FishTTSService: deprecate model, add reference_id
2025-07-03 12:56:24 -07:00
Aleix Conchillo Flaqué
8f6544efe2
Merge pull request #2133 from pipecat-ai/vp-changelog-fileapi
...
docs: add changelog line for gemini files api
2025-07-03 11:13:02 -07:00
otaqwawi
6045a8ad8c
Add option to change the base URL for Google Generative AI. ( #2113 )
...
* Add option to change the base URL for Google Generative AI.
This would be useful to support private instance or gateway of the API
* fix: add proper type hints for http_options in Google LLM service
2025-07-03 11:12:35 -07:00
Aleix Conchillo Flaqué
b184d62634
Merge pull request #2134 from pipecat-ai/aleix/evals-cancel-expired-tasks
...
cancel expire evals tasks
2025-07-03 10:07:27 -07:00
Aleix Conchillo Flaqué
1a8d512abb
scripts(evals): make sure we cancel pending tasks after timeout
2025-07-03 10:01:42 -07:00
vipyne
a62be8ea32
docs: add changelog line for gemini files api
2025-07-03 11:44:34 -05:00
Mark Backman
c230d94ff0
Merge pull request #2125 from pipecat-ai/mb/deprecate-handle-function-call-start
...
Add docs deprecation for handle_function_call_start
2025-07-03 12:27:17 -04:00
Aleix Conchillo Flaqué
e7b02773f5
Merge pull request #2131 from pipecat-ai/aleix/dtmf-aggregator-dangling-tasks
...
DtmfAggregator: cancel interruption task to avoid a dangling task
2025-07-03 08:34:50 -07:00
Aleix Conchillo Flaqué
ed83248a6b
Merge pull request #2130 from pipecat-ai/aleix/pipeline-task-cancel-queue
...
PipelineTask: cancel idle queue before cancelling task
2025-07-03 08:32:31 -07:00
Aleix Conchillo Flaqué
af8b4901d4
DtmfAggregator: cancel interruption task to avoid a dangling task
2025-07-03 08:18:48 -07:00
Aleix Conchillo Flaqué
64c8230960
PipelineTask: cancel idle queue before cancelling task
2025-07-03 08:18:21 -07:00
Aleix Conchillo Flaqué
bf664534cc
PipelineTask: cancel idle queue before cancelling task
2025-07-03 08:15:31 -07:00
Filipi da Silva Fuchter
274a04e535
Merge pull request #2129 from carolin-tavus/carolin-tavus/add-persona-validation
...
Add persona validation (check that microphone is enabled)
2025-07-03 11:49:42 -03:00
carolin-tavus
cb81f3d50e
format
2025-07-03 14:38:20 +00:00
carolin-tavus
30a3b24287
Add persona validation (check that microphone is enabled)
2025-07-03 14:04:04 +00:00
Filipi da Silva Fuchter
8aacf71956
Merge pull request #1623 from phamtrung0633/victor/azure-tts-interruption-fix
...
Azure TTS fixed by clearing the audio queue before synthesizing the next text
2025-07-03 10:51:54 -03:00
Victor
72d503d3a3
Azure TTS fixed by clearing the audio queue before synthesizing the next text
2025-07-03 10:48:26 -03:00
Aleix Conchillo Flaqué
453a904290
Merge pull request #2123 from pipecat-ai/aleix/dev-requirements-25-07-02
...
update dev-requirements (dependabot)
2025-07-02 23:00:40 -07:00
Mark Backman
368bff4fb4
Merge pull request #2101 from pipecat-ai/mb/fix-websocket-example-dir
...
fix: remove javascript directory from the websocket README
2025-07-02 22:55:47 -04:00
Mark Backman
4ae045d704
Add docs deprecation for handle_function_call_start
2025-07-02 19:53:48 -07:00
Mark Backman
8c71939425
Merge pull request #2122 from pipecat-ai/mb/deprecation-docstrings
...
Add deprecation directives, add indexing, only autodoc members
2025-07-02 21:31:02 -04:00
Aleix Conchillo Flaqué
a437c2d365
update examples (dependabot)
2025-07-02 16:33:24 -07:00
Aleix Conchillo Flaqué
a1784e3237
update dev-requirements (dependabot)
2025-07-02 16:09:13 -07:00
Mark Backman
abee0f853c
Add deprecation directives, add indexing, only autodoc members
2025-07-02 15:44:02 -07:00
Aleix Conchillo Flaqué
e9d358ed17
Merge pull request #2119 from pipecat-ai/aleix/llm-messages-append-update-run-llm
...
add run_llm to LLMMessagesAppendFrame and LLMMessagesUpdateFrame
2025-07-02 13:53:36 -07:00
Aleix Conchillo Flaqué
c5d54d06bb
add run_llm to LLMMessagesAppendFrame and LLMMessagesUpdateFrame
2025-07-02 13:53:13 -07:00
Filipi da Silva Fuchter
c16eed7ca2
Merge pull request #2091 from pipecat-ai/filipi/sample_rate
...
Creating a new stream resampler which avoids clicks.
2025-07-02 16:22:46 -03:00
Filipi Fuchter
76388a10b5
Deprecating the create_default_resampler and adding the changelog.
2025-07-02 16:20:58 -03:00
Filipi Fuchter
38bcc033a2
Improving the docs about when to use: SOXRAudioResampler x SOXRStreamAudioResampler
2025-07-02 16:20:48 -03:00
Filipi Fuchter
5af563cd91
Configured the services to use create_stream_resampler instead of create_default_resampler
2025-07-02 16:20:34 -03:00
Filipi Fuchter
3de271161c
Fixing the ruff script to also try to fix docstrings.
2025-07-02 16:19:57 -03:00
Filipi Fuchter
c19f9bc43a
Creating a new stream resampler which avoids clicks.
2025-07-02 16:19:47 -03:00
Mark Backman
ef85d245ed
Merge pull request #2120 from haayhappen/patch-1
...
Update README.md
2025-07-02 15:18:28 -04:00
Fynn Merlevede
25749bd4c0
Update README.md
...
fix: use correct protocol in READme
2025-07-02 20:57:38 +02:00
Mark Backman
e19c5464fe
Merge pull request #2114 from pipecat-ai/mb/bump-google-genai-version
...
Upgrade google-genai version to 1.24.0
2025-07-02 14:25:29 -04:00
Mark Backman
5c2ea3b804
Upgrade google-genai version to 1.24.0
2025-07-02 11:18:37 -07:00
Aleix Conchillo Flaqué
c27348d470
Merge pull request #2118 from pipecat-ai/aleix/daily-python-0.19.4
...
pyproject: update daily-python to 0.19.4
2025-07-02 10:38:54 -07:00
Aleix Conchillo Flaqué
de5f9c9217
pyproject: update daily-python to 0.19.4
2025-07-02 09:51:36 -07:00
Aleix Conchillo Flaqué
f9086ee3a2
Merge pull request #2110 from pipecat-ai/aleix/daily-add-virtual-speaker-support
...
DailyTransport: allow receiving audio in a single track
2025-07-02 09:50:02 -07:00
Vanessa Pyne
43298a9026
Merge pull request #2077 from yousifa/mcp-http-gemini-support
...
Mcp http gemini support
2025-07-02 11:47:25 -05:00
Vanessa Pyne
d80e228c6f
Merge branch 'main' into mcp-http-gemini-support
2025-07-02 11:47:18 -05:00
Mark Backman
2902362886
Merge pull request #2115 from pipecat-ai/mb/docstring-cleanup
...
Docstring cleanup, fix missing examples imports
2025-07-02 11:35:11 -04:00
Mark Backman
1cd303ad7f
Merge pull request #2090 from pipecat-ai/mb/silero-np-error
...
Remove redundant import and global in SileroOnnxModel
2025-07-02 11:28:11 -04:00
Mark Backman
f590a476e7
Gemini Live fixes, plus additional docstrings
2025-07-02 08:27:23 -07:00
Mark Backman
e71cb3ba68
Docstring cleanup, fix missing examples imports
2025-07-02 08:27:23 -07:00
Filipi da Silva Fuchter
510a9af2e5
Merge pull request #2116 from pipecat-ai/filipi/fix_ios_chatbot_demo
...
Fixed an issue to disconnect the iOS chatbot demo.
2025-07-02 12:13:51 -03:00
Filipi Fuchter
5328f84df4
Fixed an issue to disconnect the iOS chatbot demo.
2025-07-02 12:06:15 -03:00
Yousif Astarabadi
18817fd81b
added docstring in public GeminiFileAPI module
2025-07-02 00:09:48 -07:00
Yousif Astarabadi
4bcc536fd2
added arg description in docstring for gemini live init
2025-07-02 00:03:27 -07:00
Yousif Astarabadi
1ab2ddd317
fix lint error
2025-07-01 23:55:34 -07:00
Yousif
09aa168840
Merge branch 'pipecat-ai:main' into mcp-http-gemini-support
2025-07-01 23:54:42 -07:00
Vanessa Pyne
05753fb207
Merge pull request #1786 from getchannel/main
...
Add File API to GeminiMultimodalLive
2025-07-01 20:29:12 -05:00
Pete
715e3f8543
Merge branch 'pipecat-ai:main' into main
2025-07-01 20:42:28 -04:00
Pete
9c9d4b35a4
remove audio_transcriber from gemini.py
...
unecessary import removed.
2025-07-01 20:36:54 -04:00
getchannel
2ee935f784
Update gemini.py
2025-07-01 20:31:58 -04:00
Aleix Conchillo Flaqué
58aedc88a4
DailyTransport: allow receiving audio in a single track
2025-07-01 17:29:10 -07:00
getchannel
0e60385871
add FileAPI to gemini.py
2025-07-01 20:14:31 -04:00
Mark Backman
a4188f7986
Merge pull request #2103 from pipecat-ai/mb/add-user-id-to-transcript
...
Add user_id to transcription frames
2025-07-01 18:28:12 -04:00
vipyne
c7cbfe7a4f
remove grounding metadata commits
2025-07-01 17:21:38 -05:00
vipyne
f1c9f5040b
Update examples/foundational/26f-gemini-multimodal-live-files-api.py
2025-07-01 16:27:25 -05:00
vipyne
79e51051c7
New lint rules and remove unused example file
2025-07-01 16:27:25 -05:00
Pete
a63d0da528
Update gemini.py
2025-07-01 16:27:25 -05:00
getchannel
4fd8df208f
Add groundingMetadata events.py
2025-07-01 16:27:25 -05:00
getchannel
44d3bd30fa
Add groundingMetadata and logging gemini.py
2025-07-01 16:27:25 -05:00
getchannel
6e6e932370
Create 26g-gemini-multimodal-live-groundingMetadata.py
2025-07-01 16:27:25 -05:00
getchannel
baccf50417
update correct upload endpoint file_api.py
2025-07-01 16:27:25 -05:00
getchannel
7b1071b30d
Create 26f-gemini-multimodal-live-files-api.py
...
This is an example to test usage of the Files API integration. Specifically with the Gemini Multimodal Live Service.
2025-07-01 16:27:25 -05:00
getchannel
bd7ca94196
Update gemini.py
2025-07-01 16:27:25 -05:00
getchannel
1ec1aa76e9
Rename file_api to file_api.py
...
added proper .py to file name.
2025-07-01 16:27:25 -05:00
getchannel
77c369c3c7
add file_api __init__.py
2025-07-01 16:27:25 -05:00
getchannel
9171d4b040
add FileData class events.py
2025-07-01 16:27:25 -05:00
getchannel
e02b95fca5
Create file_api
2025-07-01 16:27:25 -05:00
getchannel
d45a07b5e5
add FileAPI to gemini.py
2025-07-01 16:27:25 -05:00
Mark Backman
0cdcfcee8d
Remove redundant import and global in SileroOnnxModel
2025-07-01 13:29:47 -07:00
Mark Backman
324546b4e7
Merge pull request #2098 from StrongMind/aws-session-token
...
Add support for session token in AWS Nova Sonic service
2025-07-01 16:25:38 -04:00
Filipi da Silva Fuchter
c8ee67a636
Merge pull request #2085 from pipecat-ai/filipi/freeze-test-python-3.10
...
Fixing pipeline freeze when using Python 3.10
2025-07-01 17:17:38 -03:00
Filipi Fuchter
b87c57c951
Adding missing docstring to the watchdog event
2025-07-01 17:12:18 -03:00
Filipi Fuchter
721f662bbe
Making cancel sentinel classes private
2025-07-01 17:09:05 -03:00
Filipi Fuchter
fccd48bfff
Fixing pipeline freeze when using Python 3.10
2025-07-01 17:05:18 -03:00
Filipi Fuchter
5310d903ec
Adding the requirements and needed variables for the freeze-test example.
2025-07-01 17:04:27 -03:00
Mark Backman
8cbce555e4
Add user_id to stt_traced decorator
2025-07-01 13:01:48 -07:00
Mark Backman
f6112713e8
Add user_id to TranscriptionFrame and InterimTranscriptionFrame pushed by STTServices
2025-07-01 12:59:20 -07:00
Mark Backman
cc637f4dea
Clean up docstrings after DirectFunction merge ( #2105 )
...
* Add missing import for FunctionCallParams
* Update docstrings in direct_function
* Docstring fixes for run.py
* Remove unused imports in llm_service
* Add missing docstrings to llm_service
* Remove FunctionCallParams import
* Wording improvements
* Type checking for FunctionCallParams
2025-07-01 15:22:30 -04:00
kompfner
7f76a14c54
Merge pull request #2104 from pipecat-ai/pk/changelog-fix
...
Whoops—fix mistake in CHANGELOG (`FlowsFunctionSchema` -> `FunctionSc…
2025-07-01 15:06:14 -04:00
Yousif Astarabadi
58675f4d5a
renamed clean schema to alternate schema
2025-07-01 11:50:12 -07:00
Paul Kompfner
d50e6db312
Whoops—fix mistake in CHANGELOG (FlowsFunctionSchema -> FunctionSchema)
2025-07-01 14:24:27 -04:00
kompfner
de74284a8e
Merge pull request #2051 from pipecat-ai/pk/direct-functions
...
Implement "direct functions", which allow you to bypass specifying a …
2025-07-01 14:19:33 -04:00
Aleix Conchillo Flaqué
4c9a295b28
Merge pull request #2095 from pipecat-ai/aleix/examples-smallwebrtc-sdp-munging
...
examples: add --esp32 for SDP munging if host name specified
2025-07-01 09:07:42 -07:00
Mark Backman
0968f36d3e
fix: remove javascript directory from the websocket README
2025-07-01 09:51:02 -04:00
Mark Backman
fd570b0377
Update the remaining docstrings, update pre-commit hook, add docstring formatting CI, update CONTRIBUTING with formatting guidance ( #2089 )
2025-07-01 00:37:04 -04:00
Paul Shippy
68ea5ee570
Add to change log
2025-06-30 17:39:42 -07:00
Paul Shippy
f891140a74
Update sample to take in session token
2025-06-30 17:35:50 -07:00
Paul Shippy
5ed2d7ac2b
Add session token option for AWS
2025-06-30 17:31:31 -07:00
Pete
a297e4208e
Merge branch 'main' into groundingMetadata
2025-06-30 19:48:55 -04:00
Aleix Conchillo Flaqué
b713527da0
examples: add --esp32 for SDP munging if host name specified
2025-06-30 13:27:52 -07:00
Kwindla Hultman Kramer
224d2cedc8
Merge pull request #2088 from pipecat-ai/khk/gemini-thinking-default
...
Turn off thinking for Gemini models by default
2025-06-30 10:32:54 -07:00
Kwindla Hultman Kramer
55cfea776f
Merge branch 'main' into khk/gemini-thinking-default
2025-06-30 10:32:42 -07:00
Paul Kompfner
d7a2078e0b
Added CHANGELOG entry describing "direct" functions
2025-06-30 10:59:36 -04:00
Paul Kompfner
a3e540eb32
Rename examples/foundational/14s-function-calling-direct.py to examples/foundational/14t-function-calling-direct.py, since a new "14s" example was added
2025-06-30 10:44:55 -04:00
Paul Kompfner
e01c20be84
Remove unused import and tweak a comment
2025-06-30 10:36:47 -04:00
Paul Kompfner
ce3ca418c2
Unit tests for "direct" functions
2025-06-30 10:36:47 -04:00
Paul Kompfner
15b9a5faf6
Implement "direct functions", which allow you to bypass specifying a function configuration (as a FunctionSchema or in a provider-specific format) and use the Python function directly. Metadata is gathered automatically from the function signature and docstring.
2025-06-30 10:36:42 -04:00
Kwindla Hultman Kramer
3afa30894f
Turn off thinking for Gemini models by default
2025-06-28 12:23:35 -07:00
Mark Backman
0ecfa827e6
Improve docstrings for services and processors ( #2087 )
2025-06-28 13:39:45 -04:00
Aleix Conchillo Flaqué
e1b0db75eb
Merge pull request #2086 from pipecat-ai/aleix/watchdog-coroutine-helper
...
add watchdog coroutine helper
2025-06-27 11:10:10 -07:00
Aleix Conchillo Flaqué
b0c773189f
AWSNovaSonicLLMService: fix error with watchdog_coroutine()
2025-06-27 11:09:40 -07:00
Aleix Conchillo Flaqué
3064326834
utils.asyncio: added watchdog_coroutine()
2025-06-27 11:09:40 -07:00
Mark Backman
c67e50fe34
Merge pull request #2084 from pipecat-ai/mb/update-evals-nova-sonic
...
Add 40-aws-nova-sonic to release evals list
2025-06-27 09:47:59 -04:00
Mark Backman
9d45e3eca1
Merge pull request #2079 from pipecat-ai/mb/fix-42-incorrect-import
...
fix: example 42 incorrect import
2025-06-27 09:47:47 -04:00
Mark Backman
43a24d15f6
Add 40-aws-nova-sonic to release evals list
2025-06-27 08:34:39 -04:00
Yousif Astarabadi
cafbda1668
remove openai from mcp run http example
2025-06-26 20:21:07 -07:00
Yousif Astarabadi
86c26fd64c
moved needs_mcp_clean_schema to LLMService
2025-06-26 20:09:12 -07:00
Yousif Astarabadi
0c20668008
fixed linter errors
2025-06-26 20:08:26 -07:00
Yousif Astarabadi
92df8dc43c
fix formatting
2025-06-26 20:08:23 -07:00
Yousif Astarabadi
9d5f5844b8
clean mcp schema for gemini models, update http mcp example to use gemini
2025-06-26 20:07:54 -07:00
Mark Backman
2cf31884d0
fix: example 42 incorrect import
2025-06-26 21:52:14 -04:00
Aleix Conchillo Flaqué
19354c6f2d
Merge pull request #2078 from pipecat-ai/aleix/hotfix-0.0.73
...
just a quick hotfix for 0.0.73
2025-06-26 17:31:40 -07:00
Aleix Conchillo Flaqué
0b2079ad41
update CHANGELOG for 0.0.73
2025-06-26 17:02:12 -07:00
Aleix Conchillo Flaqué
5f18c3af70
OpenAIRealtimeLLMContext: fix circular dependency
2025-06-26 17:01:45 -07:00
Aleix Conchillo Flaqué
0a40285d43
update FrameProcessor.watchdog_timers_enabled references
2025-06-26 16:26:12 -07:00
Vanessa Pyne
5b1c328541
Merge pull request #2075 from pipecat-ai/vp-mcp-lint
...
mcp_service: lint
2025-06-26 15:25:39 -05:00
vipyne
37929533af
mcp_service: lint
2025-06-26 15:00:20 -05:00
Vanessa Pyne
3b92113680
Merge pull request #2030 from yousifa/mcp-streaming-http
...
MCPClient streamable_http transport support
2025-06-26 14:57:31 -05:00
Yousif
46b52cb9bb
Merge branch 'main' into mcp-streaming-http
2025-06-26 12:30:43 -07:00
Mark Backman
f0bcc9d9ba
Add MCPClient docstrings. Removed google specific cleanup, changed example to openai
2025-06-26 12:29:45 -07:00
Yousif Astarabadi
1cac028bfe
example using http transport for mcp client
2025-06-26 12:16:35 -07:00
Yousif Astarabadi
4956886819
updated error message with StreamableHttpParameters
2025-06-26 12:16:28 -07:00
Yousif Astarabadi
c720cfc7c7
updated streamablehttp to use StreamableHttpParameters type
2025-06-26 12:16:26 -07:00
Yousif Astarabadi
8fcef5628f
added streamablehttp support, bumped mcp version, added additional headers and streamable_http params to MCPClient
2025-06-26 12:16:19 -07:00
Aleix Conchillo Flaqué
c4a72802f0
Merge pull request #2074 from pipecat-ai/aleix/pipecat-0.0.72
...
update CHANGELOG for 0.0.72
2025-06-26 12:10:14 -07:00
Aleix Conchillo Flaqué
917394803c
update CHANGELOG for 0.0.72
2025-06-26 11:42:52 -07:00
Mark Backman
01040ddcdd
Merge pull request #2071 from pipecat-ai/mb/services-docstrings-update
...
Add/update docstrings to LLM services
2025-06-26 14:42:32 -04:00
Aleix Conchillo Flaqué
7947497f7e
Merge pull request #2073 from a6kme/patch-1
...
Start HeartBeat when all processors have processed StartFrame
2025-06-26 11:34:46 -07:00
Aleix Conchillo Flaqué
539ca5856f
Merge pull request #2072 from pipecat-ai/aleix/utils-watchdog-cleanup
...
utils(asyncio): simplify watchdog helpers
2025-06-26 11:29:21 -07:00
Abhishek
89c801f82c
Start HeartBeat when all processors have processed StartFrame
...
Some of the processors like STTService and TTSService don't push StartFrame ahead in the pipeline, unless they have connected with their service providers. This delays StartFrame in downstream processors.
If we receive HeartBeat frame before StartFrame, we will get AttributeError `'Processor' object has no attribute '_FrameProcessor__input_queue'`.
Idea is to start HeartBeats after StartFrame has been processed by all the Processors in the pipeline.
2025-06-26 23:28:37 +05:30
Aleix Conchillo Flaqué
3de4f22d34
utils(asyncio): simplify watchdog helpers
2025-06-26 09:40:42 -07:00
Mark Backman
0e4d2be98c
Update AzureRealtimeBetaLLMService docstrings
2025-06-26 12:12:00 -04:00
Mark Backman
d8ce108ccd
Update OpenAIRealtimeBetaLLMService docstrings
2025-06-26 12:06:47 -04:00
Mark Backman
d123cd4b2b
Update GeminiMultimodalLiveLLMService docstrings
2025-06-26 11:47:30 -04:00
Aleix Conchillo Flaqué
4d34aa7cd6
Merge pull request #2069 from pipecat-ai/aleix/utils-asyncio-package
...
move things to new utils.asyncio package
2025-06-26 08:26:47 -07:00
Aleix Conchillo Flaqué
b860e94582
move things to new utils.asyncio package
2025-06-26 08:24:25 -07:00
Aleix Conchillo Flaqué
9d653e3788
Merge pull request #2068 from pipecat-ai/aleix/task-manager-dont-warn-reset-watchdog
...
TaskManager: don't warn on reset_watchdog()
2025-06-26 08:23:51 -07:00
Mark Backman
9e518cf2ba
Update AWSNovaSonicLLMService docstrings
2025-06-26 11:21:18 -04:00
Mark Backman
2856372ad6
Update TogetherLLMService docstrings
2025-06-26 11:01:35 -04:00
Mark Backman
efbf574613
Update SambaNovaLLMService docstrings
2025-06-26 11:00:40 -04:00
Mark Backman
c018eb2f0e
Update QwenLLMService docstrings
2025-06-26 10:57:42 -04:00
Mark Backman
d7bfe54b7c
Update PerplexityLLMService docstrings
2025-06-26 10:56:48 -04:00
Mark Backman
137282b7a9
Update OpenRouterLLMService docstrings
2025-06-26 10:53:42 -04:00
Mark Backman
769f8c8f34
Update OpenPipeLLMService docstrings
2025-06-26 10:53:05 -04:00
Mark Backman
8b8a37ae7c
Update OLLamaLLMService docstrings
2025-06-26 10:48:19 -04:00
Mark Backman
56e2b006f5
Update NimLLMService docstrings
2025-06-26 10:47:26 -04:00
Mark Backman
79cca05e43
Update GroqLLMService docstrings
2025-06-26 10:46:07 -04:00
Mark Backman
166c8e8e82
Update GrokLLMService docstrings
2025-06-26 10:39:46 -04:00
Mark Backman
9b64d2c325
Update GoogleLLMService docstrings
2025-06-26 10:37:22 -04:00
Mark Backman
03e3e9fae9
Update FireworksLLMService docstrings
2025-06-26 10:28:35 -04:00
Mark Backman
65234ae41a
Update DeepSeekLLMService docstrings
2025-06-26 10:27:36 -04:00
Mark Backman
3828df8cf9
Update CerebrasLLMService docstrings
2025-06-26 10:26:42 -04:00
Mark Backman
9cbe85bf99
Update AzureLLMService docstrings
2025-06-26 10:25:17 -04:00
Mark Backman
7bf805b829
Update AWSBedrock docstrings
2025-06-26 10:23:40 -04:00
Mark Backman
990ee436e1
Add Anthropic docstrings
2025-06-26 07:42:22 -04:00
Mark Backman
1cd42066a6
Merge pull request #2067 from pipecat-ai/mb/update-docstrings-for-ref-docs
...
Update base service class docstrings for better docs auto-generation
2025-06-26 07:07:59 -04:00
Filipi da Silva Fuchter
ba43558049
Merge pull request #2066 from pipecat-ai/filipi/sentry_freeze_test
...
Enabling watchdog and sentry into the freeze-test
2025-06-26 08:01:51 -03:00
Mark Backman
951c8d34da
Add special case handling for STT, TTS, LLM
2025-06-26 00:15:09 -04:00
Mark Backman
ac61139243
Add OpenAI LLM docstrings
2025-06-26 00:06:57 -04:00
Mark Backman
5b8f1fe3e3
Add Cartesia TTS docstrings
2025-06-25 23:50:55 -04:00
Mark Backman
0aa197e4a4
Add docstrings to DeepgramSTTService
2025-06-25 23:36:04 -04:00
Mark Backman
f04e058c96
Programmatically set the copyright date in docs
2025-06-25 23:29:37 -04:00
Mark Backman
6ef2ae12b7
Mock mcp imports
2025-06-25 23:29:37 -04:00
Mark Backman
fe6bbdaefe
Skip dataclass attributes to remove duplicate entries
2025-06-25 23:29:37 -04:00
Mark Backman
cc66fddca9
Modify docs auto-gen rules to remove duplicate parameters listing
2025-06-25 23:29:37 -04:00
Mark Backman
04b70ddf13
Add MCPClient docstrings
2025-06-25 22:38:11 -04:00
Mark Backman
bb3bb8d9c6
Improve WebsocketService docstrings
2025-06-25 22:38:11 -04:00
Mark Backman
f80f62c7d1
Add VisionService docstrings
2025-06-25 22:38:11 -04:00
Mark Backman
2007ae4317
Add ImageGenService docstrings
2025-06-25 22:38:11 -04:00
Mark Backman
a1e5a1eff4
Add AIService docstrings
2025-06-25 22:38:11 -04:00
Mark Backman
691999b402
Add AIServices docstring
2025-06-25 22:38:11 -04:00
Mark Backman
33f3a4cea1
Add TTSService docstrings
2025-06-25 22:38:11 -04:00
Mark Backman
ab1d2dbe6a
Add STTService docstrings
2025-06-25 22:27:07 -04:00
Mark Backman
f622b281d0
Make call_start_function a private function in llm_service
2025-06-25 22:23:13 -04:00
Mark Backman
fb12bf9b4c
Update LLMService docstrings
2025-06-25 22:23:13 -04:00
Aleix Conchillo Flaqué
27af50087e
TaskManager: don't warn on reset_watchdog()
2025-06-25 17:29:45 -07:00
Filipi Fuchter
03502bed52
Enabling watchdog and sentry into the freeze-test
2025-06-25 20:53:30 -03:00
Aleix Conchillo Flaqué
27c7e2d150
Merge pull request #2063 from pipecat-ai/aleix/watchdog-timers-remove-start-watchdog
...
no need to call start_watchdog() only reset_watchdog()
2025-06-25 16:47:44 -07:00
Aleix Conchillo Flaqué
e81d387971
TaskManager: rely on add_done_callback()
2025-06-25 16:44:20 -07:00
Aleix Conchillo Flaqué
ef1ade3a71
allow enabling watchdog timers per frame processor or task
2025-06-25 16:36:19 -07:00
Aleix Conchillo Flaqué
4f032f5b96
update keepalive times depending on watchdog timers
2025-06-25 15:55:16 -07:00
Aleix Conchillo Flaqué
72cb967780
update CHANGELOG with watchdog timers updates
2025-06-25 15:55:16 -07:00
Aleix Conchillo Flaqué
357934a644
watchdog timers are disabled by default use enable_watchdog_timers
2025-06-25 15:55:16 -07:00
Aleix Conchillo Flaqué
327973657f
TaskManager: remove wathcdog timer when main task is done
2025-06-25 11:26:21 -07:00
Aleix Conchillo Flaqué
d2730e6741
GooglSTTService: cleanup request queues
2025-06-25 11:12:32 -07:00
Aleix Conchillo Flaqué
eb5ecab104
no need to call start_watchdog() only reset_watchdog()
2025-06-25 11:12:32 -07:00
Mark Backman
202055a9b8
Merge pull request #2065 from pipecat-ai/mb/fix-configdict-openai-realtime
...
fix: add missing ConfigDict import in openai_realtime_beta/events
2025-06-25 11:40:35 -04:00
Mark Backman
7034a9e3fd
fix: add missing ConfigDict import in openai_realtime_beta/events
2025-06-25 11:32:29 -04:00
Pete
1cf0b35ac1
Merge branch 'main' into groundingMetadata
2025-06-24 22:00:16 -04:00
Filipi da Silva Fuchter
8f7ed12262
Merge pull request #2061 from pipecat-ai/not_force_bot_speaking
...
Not forcing the bot resume speaking in case we receive no transcription.
2025-06-24 20:57:46 -03:00
Aleix Conchillo Flaqué
96b5320ef9
Merge pull request #2055 from pipecat-ai/aleix/fix-sentry-async
...
SentryMetrics: send metrics to sentry asynchronously
2025-06-24 16:32:01 -07:00
Filipi Fuchter
d5cd742237
Not forcing the bot resume speaking in case we receive no transcription.
2025-06-24 20:12:49 -03:00
Aleix Conchillo Flaqué
1f1da8942d
SentryMetrics: send metrics to sentry asynchronously
2025-06-24 15:56:08 -07:00
Mark Backman
7953e1e9d9
Merge pull request #2054 from pipecat-ai/mb/telnyx-catch-hangup-error
...
fix: Telnyx, catch error when user has hung up the call first
2025-06-24 18:04:19 -04:00
Mark Backman
d6f7ecc0a3
fix: Telnyx, catch error when user has hung up the call first
2025-06-24 17:28:00 -04:00
Mark Backman
3eed316049
Merge pull request #2020 from snova-jorgep/snova-jorgep/sambanova-integration
...
Add Sambanova LLM and STT integration
2025-06-24 17:04:24 -04:00
Jorge Piedrahita Ortiz
851cf079c3
Merge branch 'main' into snova-jorgep/sambanova-integration
2025-06-24 16:00:28 -05:00
jhpiedrahitao
dfb0da32a9
fmt
2025-06-24 15:59:40 -05:00
Aleix Conchillo Flaqué
f450da57e5
Merge pull request #2056 from pipecat-ai/khk/fix-22d
...
Update google libraries used in google audio-in examples
2025-06-24 13:47:59 -07:00
Aleix Conchillo Flaqué
2ec6b6c995
Merge pull request #2060 from pipecat-ai/aleix/watchdog-timeout-secs
...
FrameProcessor: use watchdog_timeout_secs
2025-06-24 13:36:39 -07:00
Aleix Conchillo Flaqué
53b769a8ec
FrameProcessor: use watchdog_timeout_secs
2025-06-24 13:33:47 -07:00
Filipi da Silva Fuchter
4f9adc173a
Merge pull request #2004 from pipecat-ai/filipi/pipeline_freeze
...
Pipeline freeze improvements
2025-06-24 17:20:38 -03:00
Filipi Fuchter
dc4a58877e
Fixing merge conflict.
2025-06-24 17:12:40 -03:00
Filipi Fuchter
a6243a6fe7
Merge branch 'main' into filipi/pipeline_freeze
...
# Conflicts:
# CHANGELOG.md
# src/pipecat/pipeline/task.py
# src/pipecat/processors/frame_processor.py
# src/pipecat/transports/base_input.py
2025-06-24 17:11:21 -03:00
Aleix Conchillo Flaqué
cf5f1b541a
Merge pull request #2049 from pipecat-ai/aleix/introduce-watchdog-timers
...
introduce watchdog timers
2025-06-24 13:00:57 -07:00
Filipi Fuchter
70e6c48233
Mentioning the fixes in the changelog.
2025-06-24 16:56:46 -03:00
Filipi Fuchter
51f7d14d0a
Merge branch 'main' into filipi/pipeline_freeze
2025-06-24 16:44:07 -03:00
Filipi Fuchter
4853d5d1fc
Handling the case where user stopped speaking but no new aggregation received.
2025-06-24 16:42:10 -03:00
Aleix Conchillo Flaqué
076a8938f0
add start_watchdog/reset_watchdog to tasks
2025-06-24 11:56:20 -07:00
Aleix Conchillo Flaqué
5a3457ba33
introduce task watchdog timers
2025-06-24 11:56:20 -07:00
Aleix Conchillo Flaqué
2fc224384d
Merge pull request #2059 from pipecat-ai/aleix/heartbeatframe-control-frames
...
HeartbeatFrames are now control frames
2025-06-24 11:55:18 -07:00
Aleix Conchillo Flaqué
a4e6ea5a3f
HeartbeatFrames are now control frames
2025-06-24 11:27:39 -07:00
Vanessa Pyne
d3c211f293
Merge pull request #2058 from pipecat-ai/vp-mcp-sse-up
...
follow up to #1887 - proper MCP SSE support
2025-06-24 13:06:01 -05:00
vipyne
20047c369e
mcp: update examples to use SseServerParameter
2025-06-24 12:58:39 -05:00
vipyne
dd1ff237a8
lint mcp_service
2025-06-24 12:58:33 -05:00
Vanessa Pyne
39d80d0b0e
Merge pull request #1887 from ezun-kim/feat/mcp-sse-params
...
Fix SSE server connection handling for MCP client
2025-06-24 12:58:05 -05:00
Kwindla Hultman Kramer
7a48316534
update google libraries used in google audio-in examples
2025-06-24 09:52:04 -07:00
Filipi da Silva Fuchter
031a93ac46
Merge pull request #2053 from pipecat-ai/sentry_dsn_environment_variable
...
Creating an environment variable for sentry dsn.
2025-06-24 12:10:20 -03:00
Mark Backman
ea6cc1aa95
Merge pull request #2052 from pipecat-ai/mb/11labs-keepalive
...
Send context_id when available in ElevenLabsTTSService keepalive message
2025-06-24 11:07:07 -04:00
Filipi Fuchter
365260ec44
Creating an environment variable for sentry dsn.
2025-06-24 11:57:14 -03:00
Mark Backman
2eb244c80a
Send context_id when available in ElevenLabsTTSService keepalive message
2025-06-24 10:52:49 -04:00
Mark Backman
aee3011d61
Merge pull request #2037 from pipecat-ai/mb/11labs-close-context
...
Fix: Correctly close the context for ElevenLabsTTSService
2025-06-24 07:44:22 -04:00
Aleix Conchillo Flaqué
40496e7b0f
Merge pull request #2034 from pipecat-ai/khk/pause-frames
...
small fix for processor pause/resume frames
2025-06-23 17:08:41 -07:00
Kwindla Hultman Kramer
6b24f89fa7
small fix for processor pause/resume frames
2025-06-23 16:44:32 -07:00
Filipi Fuchter
2097800042
Allowing to clear the turn analyser
2025-06-23 18:50:37 -03:00
Filipi Fuchter
6739318e68
Forcing user stopped speaking due to timeout to receive audio frame!
2025-06-23 18:50:02 -03:00
Filipi Fuchter
d0bd563d42
Logging the BaseException inside the cancel_task.
2025-06-23 18:48:44 -03:00
Filipi Fuchter
74280829fc
Fixed an issue with the FastAPIWebsocketClient to disconnect in case the websocket is already closed.
2025-06-23 18:48:03 -03:00
Filipi Fuchter
3fde8880f2
Fixed a couple of places inside the FrameProcessor where we should not raise the exceptions.
2025-06-23 18:47:54 -03:00
Filipi Fuchter
98d39e0d38
Logging the last 10 frames received in case idle timeout is detected.
2025-06-23 18:47:17 -03:00
Filipi Fuchter
c9cebb5ffe
Created an example for testing the bot and try to create freezing conditions.
2025-06-23 18:46:58 -03:00
Mark Backman
f52ac6e99c
Merge pull request #1998 from pipecat-ai/mb/fix-38-smart-turn-fal
2025-06-23 17:15:29 -04:00
Mark Backman
787a6b1c6a
Merge pull request #2038 from pipecat-ai/mb/openai-realtime-model-update
...
Update OpenAIRealtimeBetaLLMService model to gpt-4o-realtime-preview-…
2025-06-23 16:30:31 -04:00
Mark Backman
d00a91074e
Update OpenAIRealtimeBetaLLMService model to gpt-4o-realtime-preview-2025-06-03
2025-06-23 16:26:42 -04:00
Mark Backman
4e11497a38
Merge pull request #2048 from thibaudbrg/patch-1
...
Fix missing video_in_enabled in vision bot.py for Moondream template
2025-06-23 16:11:50 -04:00
Tibo
0443d5202a
Fix missing video_in_enabled in vision bot.py for Moondream template
...
The parameter video_in_enabled=True was missing in DailyParams, which prevented image capture
from working. Without this parameter, UserImageRequestFrame would be sent but no actual image data would be captured from participants.
This fix enables the "Let me take a look" functionality to work as
intended by allowing the transport to capture video frames for vision processing with Moondream.
2025-06-23 21:17:41 +02:00
Mark Backman
633c25cb13
Merge pull request #2039 from pipecat-ai/mb/remove-lang-validation
...
OpenAIRealtimeBetaLLMService accepts language for all InputAudioTrans…
2025-06-23 14:41:09 -04:00
jhpiedrahitao
d07f45132f
update changelog
2025-06-23 12:54:00 -05:00
jhpiedrahitao
a51280afa6
add 13 and 14 type foundational examples for sambanova iontegration
2025-06-23 12:53:32 -05:00
Jorge Piedrahita Ortiz
be14eb2460
Merge branch 'pipecat-ai:main' into snova-jorgep/sambanova-integration
2025-06-23 12:23:00 -05:00
jhpiedrahitao
e26dbffcbe
update sambanova init imports
2025-06-23 12:22:08 -05:00
Mark Backman
59992fd24a
Merge pull request #2044 from pipecat-ai/mb/daily-rest-docstring
...
Add missing arg docstring in DailyRESTHelper
2025-06-23 11:24:44 -04:00
Mark Backman
455362ccaf
Merge pull request #2022 from pipecat-ai/mb/turn-tracking-end-cancel-frame
...
TurnTrackingObserver ends turn upon seeing EndFrame, CancelFrame
2025-06-23 11:24:27 -04:00
Mark Backman
16c0e2460b
TurnTrackingObserver ends turn upon seeing EndFrame, CancelFrame
2025-06-23 11:08:51 -04:00
Matej Marinko
c54084b7a4
Fix deadlock on STT service stop
2025-06-23 14:18:29 +02:00
Mark Backman
92246f7125
Add missing arg docstring in DailyRESTHelper
2025-06-22 13:44:59 -04:00
Pete
e3fe040017
Update gemini.py
2025-06-21 14:43:15 -04:00
Pete
ae5e3e2dc4
Merge branch 'main' into groundingMetadata
2025-06-21 12:16:32 -04:00
Pete
77378d2779
Merge branch 'pipecat-ai:main' into groundingMetadata
2025-06-21 12:08:49 -04:00
Pete
4106f0dabe
Merge branch 'pipecat-ai:main' into main
2025-06-21 10:54:25 -04:00
Mark Backman
7737335ec9
OpenAIRealtimeBetaLLMService accepts language for all InputAudioTranscription models
2025-06-21 10:08:46 -04:00
Mark Backman
5cc9b7e0d1
Fix: Correctly close the context for ElevenLabsTTSService
2025-06-20 15:47:03 -04:00
Mark Backman
8c6a441064
Merge pull request #2035 from smokyabdulrahman/feat/aws-polly-lexicon-names-support
...
Support AWS Polly Lexicon Names parameter
2025-06-20 10:03:27 -04:00
Alrahma
fddc058ce2
add CHANGELOG entry
2025-06-20 14:15:24 +01:00
Alrahma
89750086c5
Support AWS Polly Lexicon Names parameter
...
Documentation reference
[AWS Managing
Lexicons](https://docs.aws.amazon.com/polly/latest/dg/managing-lexicons.html )
2025-06-20 09:47:46 +01:00
Aleix Conchillo Flaqué
e69406c7e2
Merge pull request #2032 from pipecat-ai/aleix/aws-nova-sonic-function-calls
...
AWSNovaSonicLLMService: fix function calling
2025-06-19 14:42:47 -07:00
Aleix Conchillo Flaqué
878ae42d84
AWSNovaSonicLLMService: fix function calling
2025-06-19 14:26:34 -07:00
Aleix Conchillo Flaqué
d34ebfc126
Merge pull request #2027 from pipecat-ai/aleix/task-on-idle-timeout-repeated
...
PipelineTask: fix repeated on_idle_timeout
2025-06-19 14:13:10 -07:00
Aleix Conchillo Flaqué
028f7b2d65
PipelineTask: fix repeated on_idle_timeout
2025-06-19 09:14:10 -07:00
Mark Backman
0aa3ec50f2
Merge pull request #2023 from pipecat-ai/mb/allow-interruptions-true
...
allow_interruptions=True
2025-06-19 10:24:53 -04:00
Mark Backman
9146def21b
Update examples to use default allow_interruptions, fixes to align examples
2025-06-19 10:07:32 -04:00
Aleix Conchillo Flaqué
ebb23a5a8c
Merge pull request #2024 from pipecat-ai/aleix/audio-buffer-processor-sync-issues
...
AudioBufferProcessor: treat all streams as intermittent
2025-06-18 18:26:38 -07:00
Aleix Conchillo Flaqué
b118082984
AudioBufferProcessor: treat all streams as intermittent
...
This fixes an issue with STTMuteFilter that prevents user audio to be pushed
downstream.
2025-06-18 18:23:31 -07:00
Mark Backman
b5c0ac5f25
allow_interruptions=True
2025-06-18 20:33:40 -04:00
Filipi da Silva Fuchter
dc78e874af
Merge pull request #2021 from pipecat-ai/gladia_stt_improvements_changelog
...
Adding the GladiaSTTService improvements in the changelog.
2025-06-18 18:25:36 -03:00
Filipi Fuchter
c30bde0a2b
Adding the GladiaSTTService improvements in the changelog.
2025-06-18 16:19:58 -03:00
Filipi da Silva Fuchter
171597fbe9
Merge pull request #1952 from jqueguiner/feat/gladia-auto-reconnect
...
feat: Enhance GladiaSTTService with reconnection and audio buffer management features
2025-06-18 16:14:58 -03:00
jhpiedrahitao
fae2d272d5
fmt
2025-06-18 10:53:06 -05:00
jhpiedrahitao
03a067d3e6
add sambanova llm and stt
2025-06-18 10:50:42 -05:00
Mark Backman
f5d028f3b3
Merge pull request #2017 from pipecat-ai/mb/fix-11labs-voice-settings
...
fix: ElevenLabsTTSService voice settings not being sent
2025-06-18 09:56:46 -04:00
Mark Backman
e5b7dbba90
fix: ElevenLabsTTSService voice settings not being sent
2025-06-18 09:49:17 -04:00
Filipi da Silva Fuchter
7ffba1e0b3
Merge pull request #1950 from pipecat-ai/filipi/tavus_custom_tracks
...
Sending audio to Tavus using custom tracks
2025-06-18 07:57:19 -03:00
Filipi Fuchter
72cdbf0b78
Mentioning the Tavus improvements in the changelog.
2025-06-18 07:46:04 -03:00
Filipi Fuchter
8b4a86f629
Ignoring the audio level when creating the custom tracks.
2025-06-18 07:45:54 -03:00
Filipi Fuchter
fa15e64fc9
Test script that mimics the behavior expected to be supported by Tavus.
2025-06-18 07:45:38 -03:00
Filipi Fuchter
564f064c71
Refactoring TavusVideoService to send audio using WebRTC audio tracks instead of app-messages.
2025-06-18 07:44:51 -03:00
Filipi Fuchter
4062c7afa0
Refactoring TavusTransport to send audio using WebRTC audio tracks instead of app-messages.
2025-06-18 07:44:38 -03:00
Jean-Louis Queguiner
8071c4ba1c
Merge branch 'main' into feat/gladia-auto-reconnect
2025-06-18 08:57:21 +02:00
jqueguiner
3d0ffbc832
🐛 (stt.py): handle websocket connection closure gracefully and log warnings
...
♻️ (stt.py): refactor reconnection logic into a separate method for clarity
✨ (stt.py): implement exponential backoff for reconnection attempts to improve reliability
2025-06-18 08:52:43 +02:00
Filipi da Silva Fuchter
1cac94bf97
Merge pull request #1925 from pipecat-ai/filipi/websocket_transport_example_twilio
...
Websocket client web app to test Twilio.
2025-06-17 16:24:18 -03:00
Mark Backman
c94c51d44f
Fix: 38-smart-turn-fal
2025-06-17 15:10:52 -04:00
Mark Backman
96958933af
Merge pull request #2016 from pipecat-ai/aleix/example-params-allow-async-objects
...
examples: create transport params async
2025-06-17 15:08:37 -04:00
Filipi Fuchter
2300c2632e
Refactoring how we are organizing the twilio chatbot examples and improving the readmes
2025-06-17 16:08:35 -03:00
Filipi Fuchter
cbd0529674
Merge branch 'main' into filipi/websocket_transport_example_twilio
2025-06-17 15:54:31 -03:00
Filipi da Silva Fuchter
5614e35ac4
Merge pull request #2015 from pipecat-ai/bumping_pipecat_required_versions
...
Bumping pipecat-ai-krisp required version
2025-06-17 15:42:20 -03:00
Aleix Conchillo Flaqué
c11172caba
examples: create transport params async
2025-06-17 11:37:42 -07:00
Filipi Fuchter
11b6e409bb
Bumping pipecat-ai-krisp required version
2025-06-17 15:22:31 -03:00
Aleix Conchillo Flaqué
3dca95aa3c
Merge pull request #2014 from pipecat-ai/aleix/daily-python-0.19.3
...
update daily-python to 0.19.3
2025-06-17 10:10:23 -07:00
Aleix Conchillo Flaqué
7ddc706434
update daily-python to 0.19.3
2025-06-17 09:30:28 -07:00
Aleix Conchillo Flaqué
20eebb08e9
update CHANGELOG with AWSTranscribeSTTService Polish support
2025-06-16 10:34:56 -07:00
Aleix Conchillo Flaqué
4abf41b85a
Merge pull request #2011 from wuodar/wuodar/polish-lang-aws-transcribe
...
Support polish language in Amazon Transcribe
2025-06-16 10:33:55 -07:00
Aleix Conchillo Flaqué
e426f7ee7c
Merge pull request #2012 from pipecat-ai/aleix/frame-pause-resume-frames
...
FrameProcessor: handle new FrameProcessorPauseFrame/FrameProcessorResumeFrame
2025-06-16 10:32:38 -07:00
Aleix Conchillo Flaqué
14dc6a7984
FrameProcessor: handle new FrameProcessorPauseFrame/FrameProcessorResumeFrame
2025-06-16 10:31:33 -07:00
Mark Backman
e0a24a3f07
Merge pull request #2006 from pipecat-ai/mb/expose-function-calls-in-progress
...
Expose has_function_calls_in_progress property
2025-06-16 12:49:07 -04:00
Mark Backman
d1bee22d73
Expose has_function_calls_in_progress property
2025-06-16 12:45:16 -04:00
Jon Taylor
d73f7908f2
Merge pull request #2008 from pipecat-ai/khk/groq-audio
...
fix groq wav file header parsing
2025-06-16 14:09:09 +01:00
Aleix Conchillo Flaqué
a4ea0d2b82
dev-requirements: update pyright 1.1.400 and ruff 0.11.13
2025-06-15 21:05:03 -07:00
Kacper Włodarczyk
e2c15169b8
feat: support polish language in Amazon Transcribe
2025-06-15 21:44:06 +02:00
Kwindla Hultman Kramer
fe16ed3c73
added changelog entry
2025-06-15 10:49:40 -07:00
Filipi Fuchter
80ce097f90
Using relative URL for the websocket.
2025-06-15 10:49:25 -03:00
Filipi Fuchter
eceaf8a46b
Making the path to the web client relative
2025-06-14 21:07:15 -03:00
Kwindla Hultman Kramer
1e3fa4a9c7
fix groq wav file header parsing
2025-06-14 17:41:44 -04:00
Pete
2ed1ed6821
Merge branch 'pipecat-ai:main' into main
2025-06-14 16:23:27 -04:00
Filipi da Silva Fuchter
dc640a7591
Merge pull request #2001 from pipecat-ai/filipi/google_stt_reconnection_issue
...
Fixed an issue with `GoogleSTTService` where it was constantly reconnecting
2025-06-13 08:29:18 -03:00
Filipi Fuchter
1f072d182c
Merge branch 'main' into filipi/google_stt_reconnection_issue
...
# Conflicts:
# CHANGELOG.md
2025-06-13 08:26:00 -03:00
Mark Backman
1d64e04ed5
Merge pull request #2002 from pipecat-ai/mb/google-fix-ttfb
...
Fix: GoogleLLMService TTFB
2025-06-12 12:10:01 -04:00
Mark Backman
22f4f0b79e
Update 14e example name
2025-06-12 11:45:59 -04:00
Mark Backman
69c63293fb
fix: GoogleLLMService TTFB value
2025-06-12 11:43:27 -04:00
Filipi Fuchter
c1db13ceeb
Fixed an issue with GoogleSTTService where it was constantly reconnecting before starting to receive audio from the user.
2025-06-12 12:07:33 -03:00
Matej Marinko
6d3a38842d
Merge branch 'main' of github.com:pipecat-ai/pipecat
2025-06-12 11:32:38 +02:00
Filipi Fuchter
70eadee0aa
Bumping the @pipecat-ai/websocket-transport dependency.
2025-06-11 18:30:16 -03:00
Pete
7360f79413
Merge branch 'pipecat-ai:main' into main
2025-06-11 13:16:19 -04:00
Aleix Conchillo Flaqué
228afe01ed
Merge pull request #1993 from pipecat-ai/aleix/pipecat-0.0.71
...
update CHANGELOG for 0.0.71
2025-06-10 14:42:09 -07:00
Aleix Conchillo Flaqué
61a5154e49
update CHANGELOG for 0.0.71
2025-06-10 14:34:30 -07:00
Sunah Suh
d3df75aaa0
Add additional_span_attributes param to PipelineTask for extra otel… ( #1992 )
2025-06-10 17:32:24 -04:00
Aleix Conchillo Flaqué
c59180dd6e
udpate CHANGELOG
2025-06-10 14:23:02 -07:00
Mark Backman
e4c2310632
Merge pull request #1990 from pipecat-ai/mb/more-cartesia-stt
...
Add Cartesia STT docs link to README, fix set_model error
2025-06-10 17:19:11 -04:00
Aleix Conchillo Flaqué
e1735a2da1
Merge pull request #1991 from pipecat-ai/aleix/pipecat-0.0.70
...
update CHANGELOG for 0.0.70
2025-06-10 14:08:52 -07:00
Aleix Conchillo Flaqué
c101c9c8e1
update CHANGELOG for 0.0.70
2025-06-10 13:37:28 -07:00
Aleix Conchillo Flaqué
96dc162de5
Merge pull request #1988 from pipecat-ai/aleix/update-examples-22b
...
examples(22b): remove unnecessary parallel pipeline branch
2025-06-10 12:58:37 -07:00
Mark Backman
257dbe3104
Fix model param error
2025-06-10 15:14:47 -04:00
Mark Backman
cd98657e3c
Add Cartesia STT docs link to README
2025-06-10 15:09:13 -04:00
Aleix Conchillo Flaqué
03eb22fe0a
examples(22b): remove unnecessary parallel pipeline branch
2025-06-10 09:05:58 -07:00
Pete
8d55e13750
remove audio_transcriber from gemini.py
...
unecessary import removed.
2025-06-10 11:22:16 -04:00
Pete
737e8e79c9
Merge branch 'main' into groundingMetadata
2025-06-10 11:12:35 -04:00
Pete
4d977fede0
Merge branch 'main' into main
2025-06-10 11:07:59 -04:00
Filipi Fuchter
0073a868d4
Websocket client web app to test Twilio.
2025-06-10 11:34:02 -03:00
Mark Backman
0bb61d72ab
Merge pull request #1984 from pipecat-ai/mb/cartesia-stt-cleanup
...
CartesiaSTTService cleanup
2025-06-10 10:30:18 -04:00
Mark Backman
f758508a82
Merge pull request #1978 from pipecat-ai/mb/rime-languages
...
Add languages to RimeHttpTTSService, extend lang support to German an…
2025-06-10 10:27:15 -04:00
Mark Backman
69d0218d7e
Add languages to RimeHttpTTSService, extend lang support to German and French
2025-06-10 10:20:41 -04:00
Aleix Conchillo Flaqué
eb5e5ab1df
update CHANGELOG
2025-06-09 20:22:39 -07:00
Aleix Conchillo Flaqué
093697906c
Merge pull request #1954 from WebinarGeek/wg/gladia-informal-translations
...
Gladia informal translations
2025-06-09 20:21:40 -07:00
Aleix Conchillo Flaqué
efe96b7ed1
Merge pull request #1986 from pipecat-ai/aleix/daily-python0.19.2
...
pyproject: update daily-python to 0.19.2
2025-06-09 19:46:14 -07:00
Aleix Conchillo Flaqué
7ecdd41ab9
pyproject: update daily-python to 0.19.2
2025-06-09 17:29:07 -07:00
Mark Backman
aec70d61e9
CartesiaSTTService cleanup
2025-06-09 15:20:57 -04:00
Mark Backman
2efac13344
Merge pull request #1983 from pipecat-ai/mb/exotel-resampling
...
Resample audio in ExotelFrameSerializer
2025-06-09 14:41:08 -04:00
Mark Backman
15aeb11c36
Resample audio in ExotelFrameSerializer
2025-06-09 14:02:25 -04:00
Mark Backman
e705f4d984
Merge pull request #1972 from Vaibhav159/vl_add_exotel_serializer
...
adding exotel serializer
2025-06-09 13:54:26 -04:00
Shrey Gupta
96fa62fdfe
[Add] Support for Cartesia AI STT ( #1982 )
2025-06-09 14:51:01 -03:00
Mark Backman
845c70797a
Merge pull request #1975 from pipecat-ai/mb/11labs-flush-context-reset
...
fix: ElevenLabsTTSService reset context when flushing audio
2025-06-09 13:21:25 -04:00
kompfner
16048956c3
Merge pull request #1956 from pipecat-ai/pk/make-add-observer-sync
...
Make `PipelineTask.add_observer()` synchronous. This allows callers t…
2025-06-09 13:19:34 -04:00
Mark Backman
cf2f4b5902
fix: ElevenLabsTTSService reset context when flushing audio
2025-06-09 13:17:55 -04:00
marcus-daily
db46f33f34
Update to Android transports 0.3.7
2025-06-09 17:09:59 +01:00
Aleix Conchillo Flaqué
25d1515daf
Merge pull request #1979 from pipecat-ai/aleix/buffer-tts-before-playback
...
buffer audio from TTS service before pushing frames
2025-06-09 08:43:55 -07:00
Paul Kompfner
a3469cd59f
Add CHANGELOG entry describing PipelineTask.add_observer() being made synchronous
2025-06-09 11:37:30 -04:00
Paul Kompfner
513ce26200
Add unit test exercising synchronous usage of PipelineTask.add_observer() right after initializing the PipelineTask (before anything else is done with it)
2025-06-09 11:30:24 -04:00
Paul Kompfner
1cd96f94ff
Make PipelineTask.add_observer() synchronous. This allows callers to call it before run()ning the PipelineTask first. Without this change, if they tried to do that, they would get an error because the TaskManager's event loop hadn't been set yet.
2025-06-09 11:30:24 -04:00
Aleix Conchillo Flaqué
901dd041f0
buffer audio from TTS service before pushing frames
2025-06-09 07:29:09 -07:00
Vaibhav159
a2ee94651e
removing resampling
2025-06-07 12:53:55 +05:30
Aleix Conchillo Flaqué
abdce063f1
Merge pull request #1973 from pipecat-ai/aleix/assemblyai-yield-none
...
AssemblyAISTTService: yield None instead of Frame()
2025-06-06 15:12:16 -07:00
Aleix Conchillo Flaqué
a33ce5e4bf
AssemblyAISTTService: yield None instead of Frame()
2025-06-06 14:41:01 -07:00
Filipi da Silva Fuchter
c9575eaef9
Merge pull request #1911 from pipecat-ai/filipi/websocket_transport_example
...
Adding support to WebsocketTransport
2025-06-06 17:25:07 -03:00
Filipi Fuchter
1e74476a71
Refactoring to use the observer inside the pipelinetask, and moving to start the bot inside on_client_ready.
2025-06-06 17:22:50 -03:00
Filipi Fuchter
82935884c4
Mentioning the new websocket example in the changelog.
2025-06-06 17:17:11 -03:00
Filipi Fuchter
d774a23768
Improving the readme to mention that can choose which server websocket to use.
2025-06-06 17:12:05 -03:00
Filipi Fuchter
e9f041e170
Removing the old websocket-server example
2025-06-06 17:09:01 -03:00
Filipi Fuchter
1f51b6e4f1
A Pipecat example demonstrating how to use WebsocketTransport
2025-06-06 17:08:43 -03:00
Filipi Fuchter
028650249c
Adding support in ProtobufFrameSerializer to deserialize MessageFrame.
2025-06-06 17:07:39 -03:00
Vaibhav159
534197239f
updating changelog
2025-06-07 00:24:54 +05:30
Vaibhav159
d2f4bb574c
adding exotel serializer
2025-06-07 00:22:41 +05:30
jqueguiner
25ff8ef37b
✨ (config.py): add new configuration options for lip-sync optimization, context adaptation, and additional context to enhance translation accuracy
...
♻️ (stt.py): increase default max buffer size from 5MB to 20MB to accommodate larger audio data
♻️ (stt.py): simplify audio sending logic by removing chunking and sending the entire buffered audio at once for improved performance
2025-06-05 16:51:29 -07:00
Aleix Conchillo Flaqué
07fb1a2c39
Merge pull request #1967 from counterleft/unused-http-client-session
...
Remove instantiation of unused http client session from certain examples
2025-06-05 12:59:01 -07:00
Aleix Conchillo Flaqué
581b800c43
Merge pull request #1961 from ken-kuro/patch-1
...
fix(piper-tts): typo
2025-06-05 12:57:58 -07:00
Aleix Conchillo Flaqué
30ca39287f
Merge pull request #1962 from ken-kuro/patch-2
...
fix(fastapi_websocket): typo
2025-06-05 12:57:22 -07:00
Aleix Conchillo Flaqué
01fa9698de
Merge pull request #1960 from pipecat-ai/aleix/disable-uvloop
...
disable uvloop by default and just let the user set it
2025-06-05 12:12:47 -07:00
Brian Mathiyakom
10bd969636
Remove instantiation of unused http client session
...
These examples don't make any HTTP requests with `session` so there
doesn't seem be a need to create one in the first place. Probably a
copy-paste from a previous example.
2025-06-05 11:45:13 -07:00
Kendrick Ha
f7761f2b61
fix(fastapi_websocket): typo
2025-06-05 13:55:28 +07:00
Kendrick Ha
49ff38a21f
fix(piper-tts): typo
2025-06-05 13:50:56 +07:00
Aleix Conchillo Flaqué
8d161306c7
disable uvloop by default and just let the user set it
2025-06-04 21:25:06 -07:00
Vanessa Pyne
027a82dff1
Merge pull request #1958 from pipecat-ai/vp-livekit-fix
...
fix: transports/services/livekit.py typo
2025-06-04 12:27:47 -05:00
vipyne
cb409d58e0
fix: transports/services/livekit.py typo
2025-06-04 11:14:21 -05:00
Dan Berg
094e2f8151
Fix formatting
2025-06-03 17:21:51 +02:00
Dan Berg
71d121aeb9
Update CHANGELOG.md explaining informal on Gladia TranslationConfig
2025-06-03 17:15:29 +02:00
Dan Berg
b1a88af43c
Add informal to Gladia TranslationConfig
2025-06-03 17:10:52 +02:00
Filipi da Silva Fuchter
f73eb4ebd9
Merge pull request #1949 from pipecat-ai/filipi/transport_destination_issue
...
Fixed transport destination issue
2025-06-03 08:41:34 -03:00
Filipi Fuchter
31ca9be299
Fixing missing await to self.reset.
2025-06-03 08:37:47 -03:00
jqueguiner
02cc6f3d56
Enhance GladiaSTTService with reconnection and audio buffer management features
...
- Added parameters for maximum reconnection attempts, reconnection delay, and maximum audio buffer size.
- Implemented automatic reconnection logic with exponential backoff.
- Introduced audio buffer management to handle audio data efficiently, including trimming excess data.
- Updated connection handling to ensure proper cleanup and management of WebSocket connections.
- Enhanced audio sending logic to support buffered audio transmission after reconnections.
2025-06-03 03:16:57 -07:00
Filipi Fuchter
1642c082d1
Describing the fix in the changelog.
2025-06-02 22:28:31 -03:00
Filipi Fuchter
892d213442
Fixing issue to keep the transport_destination.
2025-06-02 22:16:10 -03:00
Filipi Fuchter
fc24267e09
Waiting for the LLM response to reset.
2025-06-02 22:15:53 -03:00
Aleix Conchillo Flaqué
9b71bdc608
Merge pull request #1947 from pipecat-ai/aleix/pipecat-0.0.69
...
update CHANGELOG for 0.0.69
2025-06-02 12:51:51 -07:00
Aleix Conchillo Flaqué
310be89895
update CHANGELOG for 0.0.69
2025-06-02 12:07:50 -07:00
Aleix Conchillo Flaqué
71fbd57e12
Merge pull request #1938 from pipecat-ai/aleix/custom-interruption-strategies
...
allow custom interruption strategies
2025-06-02 12:05:50 -07:00
Aleix Conchillo Flaqué
ab4b48c823
examples(04a): fix daily_runner import
2025-06-02 12:01:26 -07:00
Aleix Conchillo Flaqué
532767cfa1
LLMUserContextAggregator: reset strategies when reseting the aggregator
2025-06-02 12:01:26 -07:00
Aleix Conchillo Flaqué
5512de3221
allow custom interruption strategies
2025-06-02 12:01:26 -07:00
Mark Backman
13546d5e8f
Merge pull request #1946 from pipecat-ai/mb/fix-11labs-context
...
fix: Use AudioContextWordTTSService context methods in ElevenLabsTTSS…
2025-06-02 14:55:49 -04:00
Mark Backman
c6f1aa8086
fix: Use AudioContextWordTTSService context methods in ElevenLabsTTSService
2025-06-02 14:49:05 -04:00
Mark Backman
5606c47cb7
Merge pull request #1945 from pipecat-ai/mb/gemini-2.0
...
Reverting Gemini Live model back to gemini-2.0-flash-live-001
2025-06-02 14:25:30 -04:00
Filipi da Silva Fuchter
7f7cd96211
Merge pull request #1944 from pipecat-ai/fixing_tavus_transport
...
Adding the direction when pushing the frame.
2025-06-02 15:21:58 -03:00
Filipi Fuchter
b828bfd890
Adding the direction when pushing the BotStartedSpeaking and BotStoppedSpeaking frames.
2025-06-02 15:05:56 -03:00
Mark Backman
31d084eb78
Reverting Gemini Live model back to gemini-2.0-flash-live-001
2025-06-02 13:29:05 -04:00
Mark Backman
ab18b280e9
Merge pull request #1943 from pipecat-ai/mb/add-transcription-19-openai
...
Add a TranscriptProcessor to 19-openai-realtime-beta.py
2025-06-02 13:01:52 -04:00
Mark Backman
24e89c4081
Merge pull request #1936 from pipecat-ai/mb/fix-01-quickstart
...
Add daily to the foundational examples requirements.txt
2025-06-02 12:55:36 -04:00
Mark Backman
e129390f56
Add a TranscriptProcessor to 19-openai-realtime-beta.py
2025-06-02 11:38:49 -04:00
Mark Backman
4d7c87bb4c
Merge pull request #1941 from pipecat-ai/vp-observer-up
...
chore: move observers arg in p2p-webrtc example; add deprecated to in…
2025-06-02 11:17:48 -04:00
Mark Backman
dac3f82a75
Merge pull request #1934 from counterleft/use-disconnect-on-small-webrtc-connection-example
...
Fix type checker error with missing function call in the small WebRTC transport example
2025-06-02 11:17:30 -04:00
Mark Backman
fd860921f1
Add daily to the foundational examples requirements.txt
2025-06-02 11:10:49 -04:00
vipyne
0482ccd48b
chore: move observers arg in p2p-webrtc example; add deprecated to in line comments
2025-06-02 09:41:09 -05:00
Dominic Stewart
b8b1990617
Fix example env file ( #1939 )
...
* Fixed typo in the example env files
2025-06-02 15:12:43 +09:00
Dominic Stewart
70951b1198
Add simplified pstn examples ( #1822 )
...
* Add simplified pstn examples
* Add daily_twilio_sip_dial_out example
2025-06-02 14:50:21 +09:00
Mark Backman
6d24514ace
Merge pull request #1937 from pipecat-ai/mb/fix-message-for-logging
...
fix: correctly display non-roman characters
2025-06-01 12:49:48 -04:00
Aleix Conchillo Flaqué
49915ceb84
Merge pull request #1683 from pipecat-ai/aleix/run-function-calls-sequentially
...
run function calls sequentially or in parallel
2025-06-01 09:47:35 -07:00
Mark Backman
925b13e337
fix: correctly display non-roman characters
2025-06-01 12:29:26 -04:00
Aleix Conchillo Flaqué
ef3143d558
LLMService: don't run function calls if none are given
2025-05-31 14:01:56 -07:00
Mark Backman
ed84637b55
Add additional function call for testing to 14e, 14r, 19, 19a, 26b
2025-05-31 13:57:52 -07:00
Aleix Conchillo Flaqué
897a944478
examples(14,14a): add restaurant recommendation function call
2025-05-31 13:57:52 -07:00
Aleix Conchillo Flaqué
d86343c38d
examples: update to use on_function_calls_started event
2025-05-31 13:57:52 -07:00
Aleix Conchillo Flaqué
297afdd126
LLMService: add new FunctionCallsStartedFrame
2025-05-31 13:57:52 -07:00
Aleix Conchillo Flaqué
f0cbdc4e68
LLMService: add on_function_calls_started event
2025-05-31 13:57:52 -07:00
Aleix Conchillo Flaqué
40b52cadde
LLMService: s/FunctionCallLLM/FunctionCallFromLLM/ s/FunctionCallRunner/FunctionCallRunnerItem/
2025-05-31 13:57:52 -07:00
Aleix Conchillo Flaqué
04bf85ddfe
LLMService: allow executing tasks sequentially and in parallel
2025-05-31 13:57:52 -07:00
Aleix Conchillo Flaqué
4809684a13
LLMService: cancel function calls on interruptions by default
2025-05-31 13:57:50 -07:00
Aleix Conchillo Flaqué
1eb50ad88f
LLMService: pass LLM function calls all at once
2025-05-31 13:57:36 -07:00
Aleix Conchillo Flaqué
52569bcdb2
LLMService: don't allow running functions concurrently for now
2025-05-31 13:57:36 -07:00
Aleix Conchillo Flaqué
a50a407415
LLMService: run function calls sequentially
2025-05-31 13:57:35 -07:00
Aleix Conchillo Flaqué
9f223442c2
Merge pull request #1935 from pipecat-ai/aleix/script-evals
...
improve evals
2025-05-30 19:14:59 -07:00
Mark Backman
c647114bb9
Merge pull request #1927 from pipecat-ai/mb/gemini-tracing
2025-05-30 22:01:44 -04:00
Mark Backman
43719ec737
Update CHANGELOG
2025-05-30 21:36:39 -04:00
Mark Backman
8602557985
Refactor Gemini tracing to more closely match OpenAI Realtime, add TTFB metrics
2025-05-30 21:36:00 -04:00
Mark Backman
dd1f7d0875
Add tracking to OpenAI Realtime
2025-05-30 21:36:00 -04:00
Mark Backman
ec39e794d3
_handle_transcription
2025-05-30 21:36:00 -04:00
Mark Backman
7b1a937d4c
Add tracing for Gemini Live
2025-05-30 21:36:00 -04:00
Mark Backman
0fd38d8115
Merge pull request #1931 from pipecat-ai/mb/num-words
...
Add support for interruption strategies
2025-05-30 21:14:02 -04:00
Mark Backman
7a4efc6212
Code review feedback
2025-05-30 21:09:15 -04:00
Brian Mathiyakom
2eb2c5a413
Use disconnect() because close() doesn't exist
...
SmallWebRTCConnection doesn't have a `close()`. There's a `_close()` but I assume that's private due to its naming. The closest function that uses `_close()` is `disconnect()`. I assume then, that the intended resource freeing function call should be to `disconnect()`.
2025-05-30 17:14:53 -07:00
Aleix Conchillo Flaqué
2fcfb0aa9f
evals: don't use Deepgram's smart formatting
2025-05-30 16:55:55 -07:00
Aleix Conchillo Flaqué
f1df079512
evals: allow running a single eval
2025-05-30 16:55:55 -07:00
getchannel
8070e156d8
Add groundingMetadata events.py
2025-05-30 18:07:09 -04:00
Aleix Conchillo Flaqué
d77bedbafb
evals: move scripts/release to script/evals and add README
2025-05-30 15:04:05 -07:00
getchannel
43c6f1f5cd
Add groundingMetadata and logging gemini.py
2025-05-30 18:01:15 -04:00
getchannel
f53f5445ba
Create 26g-gemini-multimodal-live-groundingMetadata.py
2025-05-30 17:36:36 -04:00
Mark Backman
b34c593c54
Add changelog entry
2025-05-30 16:48:42 -04:00
Mark Backman
62efbc3342
Add foundational example 42
2025-05-30 16:48:42 -04:00
Mark Backman
2d609a0bde
Update LLmUserContextAggregator to conditionally push_aggregation
2025-05-30 16:48:42 -04:00
Mark Backman
6bc4b4a17f
Update BaseInputTransport to not push StartInterruptionFrame when InterruptionConfig is set and bot is speaking
2025-05-30 16:48:42 -04:00
Mark Backman
b489e52080
Add InterruptionConfig
2025-05-30 16:15:20 -04:00
getchannel
7263d11ee4
update correct upload endpoint file_api.py
2025-05-30 13:41:55 -04:00
getchannel
f2d5b9ad69
Create 26f-gemini-multimodal-live-files-api.py
...
This is an example to test usage of the Files API integration. Specifically with the Gemini Multimodal Live Service.
2025-05-30 13:04:52 -04:00
getchannel
40c7e3c52c
Update gemini.py
2025-05-30 12:19:40 -04:00
Aleix Conchillo Flaqué
a8aaeec52b
Merge pull request #1926 from pipecat-ai/aleix/pause-base-input-transport
...
handle StopFrame in base input transport and stop pushing frames
2025-05-30 08:27:20 -07:00
Mark Backman
ad7eec181e
Merge pull request #1923 from philipp-eisen/philipp/fix-ttfb_ms-implementation
...
Fix implementation of ttfb_ms metric
2025-05-30 11:03:42 -04:00
Aleix Conchillo Flaqué
b33897ffb9
SmallWebRTCTransport: don't initialize if a second StartFrame is received
2025-05-30 07:51:51 -07:00
Aleix Conchillo Flaqué
1c3d3f2f4b
WebsocketClientTransport: don't initialize if a second StartFrame is received
2025-05-30 07:51:51 -07:00
Aleix Conchillo Flaqué
9a5a1edb6b
WebsocketServerTransport: don't initialize if a second StartFrame is received
2025-05-30 07:51:51 -07:00
Aleix Conchillo Flaqué
f2eb869b02
FastAPIWebsocketTransport: don't initialize if a second StartFrame is received
2025-05-30 07:51:51 -07:00
Aleix Conchillo Flaqué
0c7e3cfcb2
LiveKitTransport: don't initialize if a second StartFrame is received
2025-05-30 07:51:51 -07:00
Aleix Conchillo Flaqué
24e19db29e
TavusTransport: don't initialize if a second StartFrame is received
2025-05-30 07:51:51 -07:00
Aleix Conchillo Flaqué
bc6d7b7bbd
examples(phone-chatbot): don't show dangling tasks in first pipeline
2025-05-30 07:51:51 -07:00
Aleix Conchillo Flaqué
cad271068e
BaseInputTransport: handle StopFrame and pause pushing frames
2025-05-30 07:51:49 -07:00
Philipp Eisen
3425293115
Ensure correct formatting
2025-05-30 15:41:45 +02:00
Mark Backman
20dbfec3a9
Merge pull request #1876 from m-ods/m-ods/assemblyai-universal-streaming
...
Update AssemblyAI Streaming STT
2025-05-30 08:55:43 -04:00
marcus-daily
170057a75a
Updating dependency version
2025-05-30 12:38:32 +01:00
marcus-daily
b86b761e0b
Fixing Yaml syntax
2025-05-30 12:38:32 +01:00
marcus-daily
da0d2f0266
Small WebRTC transport demo app for Android
2025-05-30 12:38:32 +01:00
Martin Schweiger
321ea27c34
changelog entry
2025-05-30 17:15:58 +08:00
Philipp Eisen
b712e6b9aa
Switch ttfb metric to use seconds instead
2025-05-30 11:13:26 +02:00
Martin Schweiger
b3652e6527
set vad_force_turn_endpoint to True by default
2025-05-30 17:07:54 +08:00
Philipp Eisen
bc97f397ef
Switch to using float instead of int, but keep ms
2025-05-30 10:27:20 +02:00
Martin Schweiger
e5da3f6e68
add tracing
2025-05-30 10:55:19 +08:00
Martin Schweiger
8400539acf
set formatted_finals true by default
2025-05-30 10:40:01 +08:00
Martin Schweiger
b5eac8dfed
add message to TranscriptionFrame result
2025-05-30 10:39:07 +08:00
Martin Schweiger
ba312b5591
Merge branch 'main' into m-ods/assemblyai-universal-streaming
2025-05-30 10:29:49 +08:00
Martin Schweiger
f23572b318
Merge branch 'main' into m-ods/assemblyai-universal-streaming
2025-05-30 10:11:02 +08:00
Martin Schweiger
db838634e7
fix: double finals bug
2025-05-30 10:00:31 +08:00
Martin Schweiger
7f2e848a5c
use FrameProcessor class methods
2025-05-30 09:40:46 +08:00
Martin Schweiger
096e854d50
remove .dict()
2025-05-30 09:31:20 +08:00
Martin Schweiger
3ffe8b3155
remove parse_obj
2025-05-30 09:29:51 +08:00
Mark Backman
a471f49b61
Merge pull request #1889 from pipecat-ai/mb/add-dtmf-aggregator
...
Add DTMFAggregator
2025-05-29 17:13:28 -04:00
Mark Backman
4d2a02f318
Refactor to create task on StartFrame, also cleanup
2025-05-29 17:10:54 -04:00
Mark Backman
0bec7db03b
Emit a BotInterruptionFrame when the first keypress of a sequence is received
2025-05-29 17:07:18 -04:00
Mark Backman
74827f983f
Add tests, improve frame timing
2025-05-29 17:07:18 -04:00
Mark Backman
0ed46f457e
Add DTMFAggregator
2025-05-29 17:07:17 -04:00
Aleix Conchillo Flaqué
36b731be73
Merge pull request #1915 from pipecat-ai/aleix/uvloop-event-loop
...
use uvloop as the new event loop on Linux and macOS
2025-05-29 14:06:44 -07:00
Aleix Conchillo Flaqué
62fbdd4e81
Merge pull request #1922 from pipecat-ai/aleix/output-transport-cleanup
...
output transports cleanup
2025-05-29 14:06:17 -07:00
Aleix Conchillo Flaqué
ca7b0650c2
examples: capture camera or screen. allow setting framerate
2025-05-29 13:16:44 -07:00
Aleix Conchillo Flaqué
67dd146038
output transports cleanup
2025-05-29 13:16:44 -07:00
Aleix Conchillo Flaqué
fb66df2efd
use uvloop as the new event loop on Linux and macOS
2025-05-29 11:24:21 -07:00
Aleix Conchillo Flaqué
2395ca0057
Merge pull request #1921 from pipecat-ai/aleix/transcription-frame-result
...
add STT result field to TranscriptionFrame/InterimTranscriptionFrame
2025-05-29 11:22:38 -07:00
Aleix Conchillo Flaqué
d203789490
add STT result field to TranscriptionFrame/InterimTranscriptionFrame
2025-05-29 11:21:44 -07:00
Aleix Conchillo Flaqué
7ea0e31cd4
Merge pull request #1924 from pipecat-ai/aleix/new-examples-package
...
add new pipecat.examples package and make runner public
2025-05-29 11:18:22 -07:00
Mark Backman
d3bf13a503
Merge pull request #1917 from pipecat-ai/mb/fix-twilio-chatbot-client
...
fix: update websocket_client to use FrameProcessorSetup.task_manager
2025-05-29 14:05:27 -04:00
Mark Backman
ea91970499
Update the twilio-chatbot client to work with the updated server, which requires call_sid
2025-05-29 14:02:49 -04:00
Mark Backman
803b3f2cc4
fix: update websocket_client to use FrameProcessorSetup
2025-05-29 14:02:47 -04:00
Aleix Conchillo Flaqué
1788ba6c5c
add new pipecat.examples package and make runner public
2025-05-29 10:43:12 -07:00
Philipp Eisen
5209bd3d9f
Fix implemetation of ttfb_ms metric
2025-05-29 19:24:04 +02:00
Aleix Conchillo Flaqué
cb9178f1ec
Merge pull request #1914 from pipecat-ai/aleix/base-output-daily-handle-dtmf-frames
...
output transport can now handle DTMF keypress
2025-05-29 09:35:01 -07:00
Aleix Conchillo Flaqué
5676920a6a
BaseOutputTransport/DailyTransport: allow sending DTMF keypress
2025-05-29 09:33:29 -07:00
Aleix Conchillo Flaqué
513221d9fd
added OutputDTMFUrgentFrame
2025-05-29 09:32:57 -07:00
Mark Backman
a33d0b4b53
Merge pull request #1904 from pipecat-ai/mb/aws-bedrock-no-op-tool
...
Add no_op tool to AWSBedrockLLMService
2025-05-29 10:29:19 -04:00
Mark Backman
bee242b781
Safer check when using the no_operation tool
2025-05-29 10:25:20 -04:00
Mark Backman
fa1c98ff29
Add no_op tool to AWSBedrockLLMService
2025-05-29 10:25:19 -04:00
Mark Backman
ae3a7d9bed
Merge pull request #1920 from alexflorensa/alexflorensa/set-deepgram-model-name
...
fix(deepgram-stt): set model name to Deepgram STT
2025-05-29 09:41:56 -04:00
Matej Marinko
ee5fea4221
Fix auto finalization cycle
2025-05-29 14:58:35 +02:00
Matej Marinko
db7b60cfe9
Auto finalize fix
2025-05-29 13:24:53 +02:00
alexflorensa
0c2efb312c
fix(deepgram-stt) Set model name to Deepgram STT
2025-05-29 12:08:16 +02:00
Matej Marinko
51b79bd6a1
Minor code style changes
2025-05-29 10:11:11 +02:00
Matej Marinko
95fe762776
Fix typo
2025-05-29 09:23:37 +02:00
Aleix Conchillo Flaqué
cf8eeaab0b
Merge pull request #1909 from pipecat-ai/aleix/daily-expose-transcription-functions
...
DailyTransport: expose start_transcription/stop_transcription
2025-05-28 17:06:40 -07:00
Vanessa Pyne
2f8cb3ce76
Merge pull request #1804 from pipecat-ai/vp-text-webrtc-chatbot
...
add text chatbot example using small webrtc transport
2025-05-28 14:25:42 -05:00
vipyne
821da723c0
update SmallWebRTCTransport text examples with new run_example
2025-05-28 13:54:45 -05:00
Filipi Fuchter
575b97ba60
Some improvements and cleanups in the SmallWebRTCTransport text examples.
2025-05-28 13:54:45 -05:00
vipyne
cc0819b709
examples: add text and audio over webrtc transport
...
update filenames
add high level comments to 41* examples
2025-05-28 13:54:45 -05:00
vipyne
318d6f042b
examples: add text chatbot example using small webrtc transport
...
examples: send small webrtc UI updates in RTVIServerMessageFrame
add explanation about RTVI server messages being specific to
small-webrtc-prebuilt UI
2025-05-28 13:54:45 -05:00
Aleix Conchillo Flaqué
05ae3a1703
DailyTransport: expose start_transcription/stop_transcription
2025-05-28 11:21:26 -07:00
Aleix Conchillo Flaqué
8e54805e62
Merge pull request #1908 from pipecat-ai/aleix/add-manifest-file-to-reduce-sdist
...
add MANIFEST.in to reduce sdist tarball size
2025-05-28 10:15:38 -07:00
Aleix Conchillo Flaqué
64399a72f3
add MANIFEST.in to reduce sdist tarball size
2025-05-28 10:09:39 -07:00
Aleix Conchillo Flaqué
6c33f0b0bd
Merge pull request #1907 from pipecat-ai/aleix/pipecat-0.0.68
...
update CHANGELOG for pipecat 0.0.68
2025-05-28 09:41:34 -07:00
Aleix Conchillo Flaqué
aca304b395
update CHANGELOG for pipecat 0.0.68
2025-05-28 09:08:08 -07:00
Aleix Conchillo Flaqué
db5c9e67be
Merge pull request #1906 from pipecat-ai/aleix/daily-python-0.19.1
...
pyproject: update daily-python to 0.19.1
2025-05-28 09:05:13 -07:00
Aleix Conchillo Flaqué
2313cec792
pyproject: update daily-python to 0.19.1
2025-05-28 00:36:40 -07:00
Matej Marinko
2968c846ce
Add Soniox STT service
2025-05-28 09:35:21 +02:00
Aleix Conchillo Flaqué
83acaf692a
Merge pull request #1890 from pipecat-ai/aleix/examples-multi-transport
...
add support for multiple transports to foundational examples
2025-05-28 00:27:01 -07:00
Aleix Conchillo Flaqué
e9aeb2662b
scripts: allow specifying a name for the test run
2025-05-28 00:22:55 -07:00
Aleix Conchillo Flaqué
356f4039e4
scripts: allow storing logs for release evals
2025-05-27 21:10:22 -07:00
Aleix Conchillo Flaqué
736c7f1f30
scripts: allow storing audio for release evals
2025-05-27 18:09:25 -07:00
Aleix Conchillo Flaqué
2994448036
introduce release evals
...
This is an initial attempt to implement evals for all (or most) of our
foundational examples. Before we release, we want to make sure all of them work
and reply properly. Until now this has been done manually, hopefully this will
be useful to speed up our release process.
2025-05-27 17:42:52 -07:00
Aleix Conchillo Flaqué
d476d9ea05
examples: remove "on_client_closed"
...
This has been replaced for "on_client_disconnected" in SmallWebRTCTransport to
match other transports and therefore it is not necessary anymore.
2025-05-27 17:42:52 -07:00
Filipi Fuchter
bf31bce440
Updated SmallWebRTCTransport to align with how other transports handle on_client_disconnected
2025-05-27 17:42:52 -07:00
Aleix Conchillo Flaqué
6393e89022
examples(foundational): update handle_signint depending on transport
2025-05-27 17:42:52 -07:00
Aleix Conchillo Flaqué
884268fce3
examples(foundational): allow running examples with twilio
2025-05-27 17:42:52 -07:00
Aleix Conchillo Flaqué
071a9307c9
transport(websocket): do not require a frame serializer
2025-05-27 17:42:52 -07:00
Aleix Conchillo Flaqué
2cdfaa0a82
examples(foundational): support multiple transports
2025-05-27 17:42:52 -07:00
Aleix Conchillo Flaqué
ecf878e14d
DailyTransport: allow requesting video frames with any framerate
2025-05-27 17:42:50 -07:00
Aleix Conchillo Flaqué
4eed335bc7
PipelineTask: check if pipeline has already been cancelled
2025-05-27 17:40:39 -07:00
Aleix Conchillo Flaqué
2e57bb74d2
BaseObject: do not raise exception if event handler not registered
2025-05-27 17:40:35 -07:00
Aleix Conchillo Flaqué
0a39769cd0
Merge pull request #1901 from pipecat-ai/aleix/deepgram-sdk-4.1.0
...
pyproject: update deepgram-sdk to 4.1.0
2025-05-27 17:20:54 -07:00
Aleix Conchillo Flaqué
bdb6a9e5d1
Merge pull request #1903 from pipecat-ai/aleix/openpipe-4.50.0
...
pyproject: update openpipe to 4.50.0
2025-05-27 17:20:30 -07:00
Aleix Conchillo Flaqué
f88e0eb96d
pyproject: update openpipe to 4.50.0
2025-05-27 15:22:55 -07:00
Aleix Conchillo Flaqué
0099f60d29
deepgram: fix an issue with user provided LiveOptions
2025-05-27 15:19:17 -07:00
Filipi da Silva Fuchter
eaf9f20c56
Merge pull request #1898 from pipecat-ai/tavus_transport_fixes
...
Fixing TavusTransport with some TTS services.
2025-05-27 16:33:19 -03:00
Aleix Conchillo Flaqué
e987c4741a
pyproject: update deepgram-sdk to 4.1.0
2025-05-27 10:32:48 -07:00
Aleix Conchillo Flaqué
6242278abd
Merge pull request #1895 from pipecat-ai/aleix/more-avoid-mutable-default-values
...
more avoiding mutable default constructor values
2025-05-27 10:08:42 -07:00
Mark Backman
30850a431a
Merge pull request #1886 from pipecat-ai/mb/add-otel-llm-output
...
Add LLM response tracing to OTel tracing
2025-05-27 11:58:57 -04:00
Mark Backman
1e7407c042
Merge pull request #1899 from pipecat-ai/mb/genai-to-standard-messages
...
fix: Update GoogleLLMContext to_standard_messages to be compatible with google-genai
2025-05-27 11:57:44 -04:00
Mark Backman
6d94f31ff2
Update foundational example 33 to work with google-genai
2025-05-27 11:20:21 -04:00
Mark Backman
ebb3d1cfd3
fix: Update GoogleLLMContext to_standard_messages to be compatible with google-genai
2025-05-27 11:20:21 -04:00
Filipi Fuchter
acce9489d7
Creating the silence based on the chunk size.
2025-05-27 11:26:34 -03:00
Filipi Fuchter
3d442620f9
Removing not used imports.
2025-05-27 10:42:06 -03:00
Martin Schweiger
f1d7eb8565
final touches
2025-05-27 21:29:50 +08:00
Filipi Fuchter
798b935ff6
The remaining audio should not be sent as done.
2025-05-27 10:28:40 -03:00
Filipi Fuchter
3039a1444e
Refactoring the TavusVideoService to match the same the behavior of the bot started speaking and bot stopped speaking.
2025-05-27 10:26:41 -03:00
Mark Backman
aa7d15beb3
fix: move LLM call outside tracing try block to prevent double execution
2025-05-26 22:06:31 -04:00
Filipi Fuchter
2b3d2cb342
Fixing the issue when using the TavusVideoService with some TTS services.
2025-05-26 22:55:20 -03:00
Filipi Fuchter
5a58357429
Fixing the issue when using the TavusTransport with some TTS services.
2025-05-26 18:34:52 -03:00
Mark Backman
366add2536
Merge pull request #1878 from pipecat-ai/mb/add-plivo-serializer
...
Add PlivoFrameSerializer
2025-05-26 11:07:13 -04:00
Mark Backman
e13c9fd42e
Add PlivoFrameSerializer
2025-05-26 11:00:01 -04:00
Mark Backman
2a6c01f634
Merge pull request #1885 from pipecat-ai/mb/update-langfuse-example
2025-05-26 10:14:02 -04:00
Mark Backman
bf29722e78
Merge pull request #1884 from pipecat-ai/mb/readme-otel-twilio-telnyx
2025-05-26 10:13:23 -04:00
Mark Backman
db227ad15f
Merge pull request #1897 from pipecat-ai/mb/fix-websocket-client-example
...
Fix mismatched html tag in websocket client example
2025-05-26 09:26:53 -04:00
Mark Backman
514716042b
Fix mismatched html tag in websocket client example
2025-05-26 08:25:03 -04:00
Aleix Conchillo Flaqué
7a767e680c
more avoiding mutable default constructor values
2025-05-25 21:00:35 -07:00
Martin Schweiger
320b52eb1e
Merge branch 'm-ods/assemblyai-universal-streaming' of https://github.com/m-ods/pipecat into m-ods/assemblyai-universal-streaming
2025-05-26 09:13:08 +08:00
Martin Schweiger
428cee75c5
Add User-Agent header to AssemblyAI websocket connection
2025-05-26 09:10:55 +08:00
Martin Schweiger
5479a55b2c
Add websockets dependency to assemblyai extra
2025-05-26 09:08:56 +08:00
Mark Backman
d1f2a5d04f
Merge pull request #1868 from aristid/google-streaming-tts
...
Add Google streaming TTS as a base TTS service
2025-05-24 12:42:47 -04:00
aristid
09ba319f3e
Merge branch 'main' into google-streaming-tts
2025-05-24 17:16:22 +02:00
ezun-kim
3da711ba8b
Fix SSE server connection handling for MCP client
...
### Summary
This PR improves the MCP (Model Context Protocol) client's SSE (Server-Sent Events) server connection handling by replacing the generic string parameter with a proper `SseServerParameters` class.
### Changes
- **Breaking Change**: Changed `server_params` type from `Union[StdioServerParameters, str]` to `Union[StdioServerParameters, SseServerParameters]`
- Added import for `SseServerParameters` from `mcp.client.session_group`
- Updated SSE client connection to use structured parameters instead of a simple URL string
- Fixed error message to correctly reflect the expected parameter types
- Improved logging by changing info-level log to debug-level for consistency
### Details
#### Before
The SSE client connection only accepted a URL string:
```python
async with self._client(self._server_params) as (read, write):
```
#### After
Now properly unpacks SSE server parameters:
```python
async with self._client(
url=self._server_params.url,
headers=self._server_params.headers,
timeout=self._server_params.timeout,
sse_read_timeout=self._server_params.sse_read_timeout
) as (read, write):
```
### Benefits
- **Type Safety**: Stronger type checking with dedicated `SseServerParameters` class
- **Extended Configuration**: Support for custom headers (authentication), timeouts, and SSE-specific settings
- **Better Error Messages**: Clear type error messages when incorrect parameters are provided
- **Improved Debugging**: Debug logging of SSE server parameters for troubleshooting
### Migration Guide
Users need to update their SSE server initialization:
```python
# Before
client = MCPClient("https://example.com/sse ")
# After
from mcp.client.session_group import SseServerParameters
client = MCPClient(SseServerParameters(
url="https://example.com/sse ",
headers={"Authorization": "Bearer token"},
timeout=30,
sse_read_timeout=60
))
```
### Testing
- [ ] Tested with StdioServerParameters (unchanged behavior)
- [ ] Tested with SseServerParameters with various configurations
- [ ] Verified error handling for invalid parameter types
---
This is a necessary change to support production-ready SSE connections with proper authentication and timeout handling.
2025-05-24 22:35:57 +09:00
Mark Backman
6f524fb816
Add LLM response to OTel tracing
2025-05-24 09:15:39 -04:00
unknown
d3e2a9e5c0
Change default voice and fix formatting
2025-05-24 15:14:39 +02:00
Mark Backman
b4cd7d7941
Langfuse OTel env.example improvements
2025-05-24 08:17:10 -04:00
Mark Backman
cd03b91115
Update README: Add OTel, Add serializers
2025-05-24 07:23:59 -04:00
Aleix Conchillo Flaqué
f86d002ceb
Merge pull request #1881 from pipecat-ai/aleix/daily-input-audio-and-video-task-fix
...
daily input audio and video task fix
2025-05-23 19:39:25 -07:00
Aleix Conchillo Flaqué
940926b5ec
TavusVideoService: no need to enable audio/video outputs
2025-05-23 19:29:34 -07:00
Aleix Conchillo Flaqué
85c096df0b
DailyTransport: create audio/video input tasks when input flag is enabled
2025-05-23 19:28:18 -07:00
Filipi da Silva Fuchter
76d93522ac
Merge pull request #1820 from pipecat-ai/tavus_video_service
...
Tavus improvements
2025-05-23 23:11:00 -03:00
Filipi Fuchter
31492831cc
Updating the changelog and readme to reflect the Tavus changes.
2025-05-23 23:04:04 -03:00
Filipi Fuchter
8221dd594e
Creating a Tavus example using the DailyTransport.
2025-05-23 23:03:40 -03:00
Filipi Fuchter
6346ca1a84
Creating a Tavus example using the SmallWebRTCTransport.
2025-05-23 23:03:24 -03:00
Filipi Fuchter
4a3404883f
Creating a Tavus example using the new TavusTransport.
2025-05-23 23:03:16 -03:00
Filipi Fuchter
1ebca35313
Queuing the app messages if the SmallWebrtcTransport is not connected yet.
2025-05-23 23:03:04 -03:00
Filipi Fuchter
e0d1381f87
Refactoring the TavusVideoService to allow to work with any transport.
2025-05-23 23:02:49 -03:00
Filipi Fuchter
86e6841569
Creating TavusTransport and TavusTransportClient.
2025-05-23 23:02:37 -03:00
Aleix Conchillo Flaqué
28b7a92a00
Merge pull request #1880 from pipecat-ai/aleix/daily-resize-event-loop-fix
...
BaseOutputTransport: don't block event loop during image resize
2025-05-23 18:32:00 -07:00
Aleix Conchillo Flaqué
4db5b18694
BaseOutputTransport: don't block event loop during image resize
2025-05-23 18:30:28 -07:00
Aleix Conchillo Flaqué
a628e921c0
Merge pull request #1879 from pipecat-ai/aleix/daily-fix-video-task
...
DailyTransport: fix video task variable
2025-05-23 17:56:08 -07:00
Aleix Conchillo Flaqué
6ca6ff37c9
DailyTransport: fix video task variable
2025-05-23 17:54:25 -07:00
Aleix Conchillo Flaqué
456db3710a
Merge pull request #1828 from pipecat-ai/aleix/daily-use-audio-renderers
...
DailyTransport: replace virtual speaker and microphones
2025-05-23 13:31:51 -07:00
Aleix Conchillo Flaqué
50f024c6f9
LiveKitTransport: use UserAudioRawFrame instead of InputAudioRawFrame
2025-05-23 11:27:53 -07:00
Aleix Conchillo Flaqué
a4de75a8c0
Merge pull request #1867 from pipecat-ai/aleix/user-bot-latency-log-observer
...
observers: added UserBotLatencyLogObserver
2025-05-23 09:23:03 -07:00
Aleix Conchillo Flaqué
88e8fcdaca
observers: added UserBotLatencyLogObserver
2025-05-23 09:17:53 -07:00
unknown
bfe9952c9a
Remove sleep(0), add doc string etc.
2025-05-23 12:11:08 +02:00
Martin Schweiger
7f568e3e7e
Merge branch 'main' into m-ods/assemblyai-universal-streaming
2025-05-23 17:39:00 +08:00
Martin Schweiger
9b8800ac1d
update stt.py
2025-05-23 17:32:31 +08:00
Martin Schweiger
fd53712567
add models for new streaming service
2025-05-23 17:32:12 +08:00
Aleix Conchillo Flaqué
7f74c2465c
SileroVADAnalyzer: improve non-matching sample rate log
2025-05-23 01:47:09 -07:00
Aleix Conchillo Flaqué
30d67a78eb
examples(chatbot-audio-recording): use same sample rate to avoid downsampling
2025-05-23 01:47:09 -07:00
Aleix Conchillo Flaqué
c3cfd1f0ce
DailyTransport: process audio, video and event callbacks in separate tasks
2025-05-23 01:47:09 -07:00
Aleix Conchillo Flaqué
69ac70eed8
DailyTransport: replace virtual microphone with custom microphone track
2025-05-23 01:47:09 -07:00
Aleix Conchillo Flaqué
fcf49e79cc
DailyTransport: use participant audio renderers instead of virtual speaker
2025-05-23 01:47:09 -07:00
Aleix Conchillo Flaqué
8d4894846d
pyproject: update to daily-python 0.19.0
2025-05-23 01:47:09 -07:00
Nischal Jain
ffa16dd136
added deepwiki badge for weekly repo refresh
2025-05-22 20:08:48 -07:00
Vanessa Pyne
a809b710c5
Merge pull request #1844 from pipecat-ai/vp-docsinreadme
...
add docs link at top of readme
2025-05-22 21:52:18 -05:00
vipyne
f6289e9db2
add docs link at top of readme
2025-05-22 21:51:29 -05:00
Mark Backman
26b4c4df22
Merge pull request #1870 from pipecat-ai/mb/gemini-2.5-flash-update
...
Update GeminiMultimodalLiveLLMService to use Gemini 2.5 Flash Native …
2025-05-22 18:19:55 -04:00
Mark Backman
f3a9844295
Merge pull request #1860 from pipecat-ai/mb/organize-otel-demos
...
Reorganize OpenTelemetry demos, add top-level README
2025-05-22 18:15:20 -04:00
Mark Backman
692821bdae
Merge pull request #1873 from pipecat-ai/mb/readme-sarvam
...
Add SarvamTTSService to README
2025-05-22 18:14:40 -04:00
Mark Backman
ee143d5b3a
Update GeminiMultimodalLiveLLMService to use Gemini 2.5 Flash Native Audio Dialog model
2025-05-22 18:13:41 -04:00
Mark Backman
7e178a634a
Merge pull request #1871 from pipecat-ai/mb/claude-sonnet-4-update
...
Update default model for Anthropic to Claude Sonnet 4
2025-05-22 18:12:47 -04:00
Mark Backman
fe88a3d80b
Add SarvamTTSService to README
2025-05-22 18:11:11 -04:00
Mark Backman
a196eac290
Merge pull request #1872 from pipecat-ai/mb/add-sarvam-tts
...
Add SarvamTTSService
2025-05-22 18:02:36 -04:00
Mark Backman
3c819955a2
Add SarvamTTSService
2025-05-22 16:23:08 -04:00
Mark Backman
ca0d7bbbed
Update default model for Anthropic to Claude Sonnet 4
2025-05-22 15:13:33 -04:00
Mark Backman
f93bd1e817
Merge pull request #1864 from pipecat-ai/mb/fix-11lab-set-model-voice
...
Fix: ElevenLabsTTSService, change voice and model
2025-05-22 14:36:24 -04:00
Mark Backman
415bc6ca0a
Fix: ElevenLabsTTSService, change voice and model
2025-05-22 14:28:50 -04:00
Mark Backman
8543c8d11d
Merge pull request #1869 from pipecat-ai/mb/update-readme-nova-sonic
...
Add AWS Nova Sonic to README
2025-05-22 14:07:35 -04:00
Mark Backman
bf5ad64575
Add AWS Nova Sonic to README
2025-05-22 14:03:28 -04:00
unknown
d42d02d809
Add Google streaming TTS as a base TTS service. Rename non-streaming service to GoogleHttpTTSService.
2025-05-22 11:21:06 +02:00
Aleix Conchillo Flaqué
0718f79ff2
Merge pull request #1866 from pipecat-ai/aleix/base-observers-are-base-objects
...
BaseObserver: inherit from BaseObject so we can have events
2025-05-21 16:07:38 -07:00
Aleix Conchillo Flaqué
9bbce225ce
BaseObserver: inherit from BaseObject so we can have events
2025-05-21 16:04:44 -07:00
Mark Backman
fb35fd6d71
Merge pull request #1859 from pipecat-ai/mb/otel-attribute-naming
...
Update OTel attribute names
2025-05-21 12:10:15 -04:00
Mark Backman
b4fd92aed6
Merge pull request #1862 from marctorsoc/clean-links-in-md-text-filter
...
Add link cleaning in MD text filter
2025-05-21 09:20:27 -04:00
Mark Backman
36931825b3
Merge pull request #1854 from sklinglernv/fix/elevenlab-tts
...
fix(elevenlabs tts): message parameter naming
2025-05-21 09:17:29 -04:00
marc.torsoc
ca35299dcd
add link cleaning and a test for it
2025-05-21 12:08:53 +02:00
Severin Klingler
e74b900914
revert most of the changes except keyword naming fix
2025-05-21 09:24:03 +02:00
Mark Backman
25115668a7
Reorganize OpenTelemetry demos, add top-level README
2025-05-20 23:30:46 -04:00
Mark Backman
fb94db3e64
Update to use GenAI naming
2025-05-20 22:56:02 -04:00
Mark Backman
c4778e770e
Merge pull request #1835 from marcklingen/langfuse-tracing
...
Add examples/open-telemetry-tracing-langfuse
2025-05-20 18:22:55 -04:00
Mark Backman
3860cdf97b
Update OTel attribute names
2025-05-20 18:00:46 -04:00
Aleix Conchillo Flaqué
f3aec0c4ac
Merge pull request #1829 from pipecat-ai/aleix/pipeline-task-add-observer
...
PipelineTask: add add_observer()
2025-05-20 13:18:24 -07:00
Aleix Conchillo Flaqué
d333094149
PipelineTask: add add_observer() and remove_observer()
2025-05-20 13:16:06 -07:00
Aleix Conchillo Flaqué
609ff4e66c
Merge pull request #1841 from pipecat-ai/aleix/base-text-aggregator-async
...
make BaseTextAggregator and BaseTextFilter functions async
2025-05-20 13:13:54 -07:00
Aleix Conchillo Flaqué
cbccbcd9e7
BaseTextFilter: make functions async
2025-05-20 13:11:44 -07:00
Aleix Conchillo Flaqué
54b1d7fcc1
BaseTextAggregator: make functions async
2025-05-20 13:11:42 -07:00
Aleix Conchillo Flaqué
54388c0d9b
Merge pull request #1850 from pipecat-ai/aleix/transcription-message-user-id
...
TranscriptionMessage: add user_id field
2025-05-20 13:10:42 -07:00
Aleix Conchillo Flaqué
228c866aaa
Merge pull request #1857 from pipecat-ai/aleix/avoid-mutable-default-values
...
avoid mutable default constructor values
2025-05-20 13:10:24 -07:00
Aleix Conchillo Flaqué
a09bd648af
avoid mutable default constructor values
2025-05-20 11:59:28 -07:00
Vanessa Pyne
3e4ae61c75
Merge pull request #1856 from pipecat-ai/vp-mcp-debug
...
mcp: fix typo in tool call response
2025-05-20 13:59:11 -05:00
vipyne
7655c432c2
mcp: fix typo in tool call response
2025-05-20 11:16:59 -05:00
Aleix Conchillo Flaqué
25dd651757
TranscriptionMessage: add user_id field
2025-05-19 15:47:54 -07:00
Mark Backman
462aecea3e
Merge pull request #1839 from pipecat-ai/mb/cartesia-speed
...
Add support for Cartesia's speed parameter, update clients and APIs, deprecate emotion
2025-05-19 17:57:25 -04:00
Mark Backman
5f37df790b
Merge pull request #1848 from pipecat-ai/mb/fix-word-wrangler-transport-params
...
Fix: Add audio_in_enabled to Word Wrangler TransportParams
2025-05-19 17:52:05 -04:00
Mark Backman
8e4e03541c
Update CHANGELOG
2025-05-19 17:51:27 -04:00
Aleix Conchillo Flaqué
c1252fc7eb
Merge pull request #1840 from pipecat-ai/aleix/base-object-dont-create-tasks
...
BaseObject: don't create event handler tasks if none is registered
2025-05-19 14:12:31 -07:00
Mark Backman
ed1077cc9a
Fix: Add audio_in_enabled to Word Wrangler TransportParams
2025-05-19 15:53:29 -04:00
Mark Backman
4c761a7b22
Merge pull request #1847 from pipecat-ai/mb/update-otel
...
Keep span identifiers in attributes only
2025-05-19 14:37:42 -04:00
Mark Backman
9bc3df7803
Keep span identifiers in attributes only
2025-05-19 12:25:13 -04:00
Aleix Conchillo Flaqué
5e5060a6fe
BaseObject: don't create event handler tasks if none is registered
2025-05-19 09:24:56 -07:00
Aleix Conchillo Flaqué
2b66eddaa1
Merge pull request #1830 from pipecat-ai/aleix/pipeline-task-frame-events
...
PipelineTask: add new started/stopped/ended/cancelled events
2025-05-19 08:32:28 -07:00
Mark Backman
916b9d6c6d
Add an example for CartesiaHttpTTSService
2025-05-19 11:31:47 -04:00
Mark Backman
bd09ccd608
Update CartesiaHttpTTSService to work with the new cartesia 2.0 client
2025-05-19 11:31:28 -04:00
Mark Backman
682f8e4d45
Bump the cartesia_version for CartesiaTTSService, and cartesia package for CartesiaHttpTTSService
2025-05-19 11:10:03 -04:00
Mark Backman
c9d0af9ee0
Deprecate emotion, add new speed parameter
2025-05-19 09:43:24 -04:00
Severin Klingler
e1299d59bf
fix(elevenlabs tts): Fix message paramter naming and make use of contexts to send out TTSStoppedFrames()
2025-05-19 15:22:13 +02:00
Mark Backman
61da6437ea
Merge pull request #1834 from pipecat-ai/mb/gemini-live-tokens
...
Fix: Make LLMTokenUsage more robust
2025-05-19 09:04:07 -04:00
Marc Klingen
798705469b
Update README.md
2025-05-18 21:11:20 +02:00
Marc Klingen
459a753de3
add reference to main otel example
2025-05-18 19:56:12 +02:00
Marc Klingen
1092ce70b3
add video of langfuse trace
2025-05-18 19:46:38 +02:00
Marc Klingen
9511c189bd
revert original folder
2025-05-18 19:42:13 +02:00
Marc Klingen
66fea9e2ee
create new example folder
2025-05-18 19:41:17 +02:00
Marc Klingen
69ae83516e
use http exporter
2025-05-18 19:11:06 +02:00
Mark Backman
144ea36c81
Fix: Make LLMTokenUsage more robust
2025-05-18 07:41:16 -04:00
Mark Backman
7a8ab9a900
Merge pull request #1672 from golbin/main
...
Use "use_original_timestamps" only for sonic-2 model
2025-05-18 07:24:58 -04:00
Jin Kim
c4b35055b4
Update CHANGELOG.md
2025-05-18 16:54:29 +09:00
Jin Kim
a4c04e7c17
Opt out Sonic models from use_original_timestamps
2025-05-18 16:52:37 +09:00
Jin Kim
a6f7e7fc30
Merge branch 'pipecat-ai:main' into main
2025-05-18 16:48:24 +09:00
Aleix Conchillo Flaqué
d5ebc883b3
PipelineTask: add new started/stopped/ended/cancelled events
2025-05-17 22:46:22 -07:00
Mark Backman
deb43df0a4
Merge pull request #1824 from pipecat-ai/mb/gemini-live-transcribe-user-audio
...
Update GeminiMultimodalLiveLLMService to use Gemini's user transcription
2025-05-16 22:51:04 -04:00
Mattie Ruth
88e472b3f1
Update Modal Readme ( #1825 )
2025-05-16 17:40:57 -04:00
Mark Backman
f59fb8167d
Merge pull request #1784 from thsunkid/thu/handle-transcript-gpt4o-audio
...
Handle audio transcript from gpt-4o-audio and clean up logs
2025-05-16 13:20:16 -04:00
Mark Backman
fac6f526f7
Add comments and docstrings
2025-05-16 10:54:50 -04:00
Mark Backman
2f78d74ce6
Change Gemini Live to use Gemini provided usage metrics
2025-05-16 10:53:01 -04:00
Mark Backman
d3942dda52
Gemini Live to transcribe user audio
2025-05-16 10:53:01 -04:00
Mark Backman
c00e9a8d3a
Merge pull request #1819 from kaikato/lmnt-model-langs
...
LmntTTSService: add model param and additional languages
2025-05-16 08:49:55 -04:00
kaikato
c3b95767f3
LmntTTSService: add model param and additional languages
2025-05-16 04:24:57 +00:00
Mark Backman
90f27a3090
Merge pull request #1816 from pipecat-ai/mb/add-minimax-tts
...
Add MiniMax TTS
2025-05-15 18:05:13 -04:00
Mark Backman
b6f09defc9
Add MiniMax TTS
2025-05-15 18:02:29 -04:00
Aleix Conchillo Flaqué
172813bcfb
Merge pull request #1815 from pipecat-ai/aleix/remove-silerovad-processor
...
remove SileroVAD() frame processor
2025-05-15 13:44:44 -07:00
Aleix Conchillo Flaqué
95c25efab7
remove SileroVAD() frame processor
2025-05-15 11:55:20 -07:00
Aleix Conchillo Flaqué
a51af35024
Merge pull request #1814 from pipecat-ai/aleix/examples-dependabot-05142025
...
examples: updates for dependabot 05/14/2025
2025-05-15 11:38:45 -07:00
Mark Backman
119fd5ba7d
Merge pull request #1025 from fatwang2/main
...
added hailuo tts service
2025-05-15 14:29:24 -04:00
Aleix Conchillo Flaqué
0718a812bd
examples: updates for dependabot 05/14/2025
2025-05-14 22:51:08 -07:00
Mark Backman
3814501b48
Merge pull request #1811 from pipecat-ai/mb/dont-require-tracing-dep
...
Fix: Resolve an issue where tracing imports were required
2025-05-14 12:35:47 -04:00
Mark Backman
7a5205dbda
Fix: Resolve an issue where tracing imports were required
2025-05-14 12:29:08 -04:00
Thu Nguyen
15a5028d23
Revert log changes
2025-05-14 22:28:25 +08:00
Thu Nguyen
fee2648ac0
Handle audio transcript from gpt-4o-audio and clean up logs
2025-05-14 13:02:22 +07:00
Varun Singh
04c02c9a20
Merge pull request #1810 from pipecat-ai/vr000m-receiving-custom-sip-headers
...
added handling for sipHeaders
2025-05-13 23:02:14 -07:00
getchannel
e27da96cdc
Rename file_api to file_api.py
...
added proper .py to file name.
2025-05-13 22:01:02 -04:00
Varun Singh
0ff7195a83
Update README.md
...
updating docs
2025-05-13 19:08:43 -04:00
Varun Singh
3b91aa013a
added handling for sipHeaders
2025-05-13 16:00:05 -07:00
Mark Backman
50f6235edb
Add support for OpenTelemetry tracing ( #1729 )
...
* Also added TurnTrackingObserver, TurnTraceObserver, foundational 29, open-telemetry-example
2025-05-13 17:18:11 -04:00
Aleix Conchillo Flaqué
6f4d94f91b
Merge pull request #1800 from pipecat-ai/aleix/frame-processors-setup
...
introduce frame processors setup
2025-05-13 13:18:06 -07:00
Aleix Conchillo Flaqué
83a4c7d443
RTVIProcessor: remove unused code
2025-05-13 11:26:37 -07:00
Aleix Conchillo Flaqué
8171fec925
SmallWebRTCConnection: complain if av package not found
2025-05-13 11:26:37 -07:00
Aleix Conchillo Flaqué
175f352ea7
add FrameProcessor.setup() to setup processors before StartFrame
2025-05-13 11:26:35 -07:00
Filipi da Silva Fuchter
5290161ac4
Merge pull request #1746 from pipecat-ai/simple_chatbot-react-native
...
Simple chatbot: React Native client
2025-05-13 10:48:09 -03:00
Filipi Fuchter
8762019ed7
Not setting the local audio level when the user stopped speaking.
2025-05-13 10:46:30 -03:00
Filipi Fuchter
61a59fa158
Fixing useNavigation typescript warning.
2025-05-13 10:36:39 -03:00
Filipi Fuchter
55eea20c8e
Renaming expo environment variable
2025-05-13 10:32:27 -03:00
kompfner
9a621f0c54
Merge pull request #1805 from pipecat-ai/pk/aws-nova-sonic-aggregate-user-transcription-text
...
AWS Nova Sonic service - aggregate user transcription text; it was fr…
2025-05-13 09:13:58 -04:00
Paul Kompfner
55fc24e933
AWS Nova Sonic service - aggregate user transcription text; it was fragmented across many conversation history messages before
2025-05-13 09:13:28 -04:00
Filipi da Silva Fuchter
b14608f09b
Merge pull request #1799 from pipecat-ai/daily_audio_source
...
Using audio source for capturing Daily's participant audio
2025-05-13 08:15:10 -03:00
Mark Backman
4a25c57337
Merge pull request #1806 from pipecat-ai/aleix/run-test-observers
...
tests: allow passing observers to run_test()
2025-05-12 22:10:44 -04:00
Aleix Conchillo Flaqué
f800e35ccb
tests: allow passing observers to run_test()
2025-05-12 17:53:02 -07:00
Vanessa Pyne
12d49a9b9d
Merge pull request #1801 from pipecat-ai/vp-fix-typo
...
update examples
2025-05-12 15:33:56 -05:00
vipyne
b25b251a44
update examples
2025-05-12 14:07:17 -05:00
Mattie Ruth
64b2a75a94
Update Modal App: ( #1755 )
...
* Update Modal App:
Updated Modal App to include:
1. Latest Modal API usage
2. Ability to launch different Pipecat pipelines, much like the
simple chatbot example
3. Ability to choose which pipeline is launched via the
/connect endpoint
4. Added a pipeline option for connecting to a self-hosted LLM
on Modal
5. Improved READMEs
6. Added a web client for interacting with the Modal deployment
tmp
* Update README
2025-05-12 12:45:43 -05:00
Aleix Conchillo Flaqué
b33a60f3a5
Merge pull request #1793 from pipecat-ai/khk/deepgram-async-fix
...
Fix Deepgram TTS streaming
2025-05-12 09:59:46 -07:00
Filipi Fuchter
d22dbb1a6d
Fixing ruff format.
2025-05-12 10:36:21 -03:00
Filipi Fuchter
983199a6cd
New example capturing the audio from the participant using the custom audio source.
2025-05-12 10:18:43 -03:00
Filipi Fuchter
133d7ee33a
Fixing the default audio source for capture_participant_audio
2025-05-12 10:16:32 -03:00
Mark Backman
0bd888afc7
Merge pull request #1796 from nikp06/patch-1
...
Wrong deprecation warning when importing ai_services.py
2025-05-12 09:12:48 -04:00
nikp06
537bd1c58d
Update ai_services.py
...
fix: correct deprecation warning format in ai_services module
2025-05-12 12:01:13 +02:00
Kwindla Hultman Kramer
5ef519fe2c
Fix Deepgram TTS to use stream_raw()
2025-05-11 15:40:31 -07:00
Mark Backman
20498fb47f
Merge pull request #1790 from AngeloGiacco/angelo/fix-api-key
...
[elevenlabs tts ] fix api key
2025-05-10 19:16:27 -04:00
Angelo Giacco
b57dfb3b5d
fix lint
2025-05-10 16:36:26 +01:00
Angelo Giacco
0355ed4aa1
move api key to ws header
2025-05-10 16:34:01 +01:00
Angelo Giacco
1e76cc7bdc
fix: elevenlabs api key
2025-05-10 16:09:20 +01:00
Vanessa Pyne
18c0374126
Merge pull request #1785 from pipecat-ai/vp-small-filenmae-change
...
39-aws-nova-sonic.py -> 40-aws-nova-sonic.py
2025-05-09 12:19:09 -05:00
Aleix Conchillo Flaqué
7072fba7e7
Merge pull request #1780 from pipecat-ai/aleix/deprecate-google-generativeai
...
GoogleLLMService: deprecate google-generativeai
2025-05-09 09:18:30 -07:00
Aleix Conchillo Flaqué
3d702a5c39
minor examples cleanup
2025-05-09 09:16:10 -07:00
Aleix Conchillo Flaqué
f31efa42c9
GoogleLLMService: deprecate google-generativeai
2025-05-09 09:14:43 -07:00
getchannel
d86502e79a
add file_api __init__.py
2025-05-09 10:53:31 -04:00
getchannel
59c7744590
add FileData class events.py
2025-05-09 10:52:04 -04:00
getchannel
949971dea9
Create file_api
2025-05-09 10:51:24 -04:00
getchannel
cd4a893c65
add FileAPI to gemini.py
2025-05-09 10:50:27 -04:00
vipyne
74b369ff20
39-aws-nova-sonic.py -> 40-aws-nova-sonic.py
2025-05-09 08:30:59 -05:00
Filipi Fuchter
46eed0a59a
Bumping to use the latest version of @pipecat-ai/react-native-daily-transport, and removing code not needed.
2025-05-08 18:18:00 -03:00
kompfner
9643296e29
Merge pull request #1779 from pipecat-ai/pk/aws-nova-sonic-missing-params-export
...
Add missing `Params` export to AWS Nova Sonic module
2025-05-08 16:04:38 -04:00
Paul Kompfner
c83c5b5a34
Add missing Params export to AWS Nova Sonic module
2025-05-08 15:23:25 -04:00
Filipi Fuchter
277e2d7fc0
Merge branch 'main' into simple_chatbot-react-native
2025-05-08 09:03:16 -03:00
Mark Backman
7280e390d9
Merge pull request #1774 from pipecat-ai/mb/moondream-ex-server
...
Add load_dotenv to moondream example server
2025-05-07 19:02:30 -04:00
Mark Backman
4efc3f0a39
Merge pull request #1775 from pipecat-ai/mb/patient-ex-env
...
Add load_dotenv to patient-intake server file
2025-05-07 19:02:20 -04:00
Mark Backman
cb7e7a8aa3
Add load_dotenv to patient-intake server file
2025-05-07 18:40:04 -04:00
Mark Backman
9136402846
Add load_dotenv to moondream example server
2025-05-07 18:29:27 -04:00
Aleix Conchillo Flaqué
260fc76137
Merge pull request #1773 from pipecat-ai/aleix/pipecat-0.0.67
...
update CHANGELOG for 0.0.67
2025-05-07 15:05:55 -07:00
Aleix Conchillo Flaqué
7cfb9a4d15
update CHANGELOG for 0.0.67
2025-05-07 14:59:16 -07:00
Mark Backman
2089e0c974
Merge pull request #1768 from pipecat-ai/mb/update-observers
...
Add DebugLogObserver
2025-05-07 17:30:49 -04:00
Mark Backman
9e0b4fe5d1
Replace list with tuple
2025-05-07 17:21:09 -04:00
Mark Backman
75ce632f84
Add DebugLogObserver
2025-05-07 17:21:08 -04:00
Mark Backman
efeb96c4e8
Remove unused imports
2025-05-07 17:20:42 -04:00
kompfner
fb5438e9c2
Merge pull request #1770 from pipecat-ai/pk/amazon-nova-sonic-interruption-reliability
...
AWS Nova Sonic service - make interruption handling more reliable, in…
2025-05-07 17:16:06 -04:00
Mark Backman
7da9f66e1c
Merge pull request #1761 from pipecat-ai/mb/elevenlabs-context-id
...
Update ElevenLabsTTSService to use the new websocket API
2025-05-07 17:12:06 -04:00
Mark Backman
9e16e3d614
Update ElevenLabsTTSService to use the new websocket API
2025-05-07 17:09:52 -04:00
Paul Kompfner
84d040c6d0
AWS Nova Sonic service - make interruption handling more reliable, in terms of:
...
- not getting the conversation into a "stuck" state
- not losing assistant text that should've made it into the context
2025-05-07 16:34:18 -04:00
Mark Backman
f3e0beb8f1
Merge pull request #1762 from pipecat-ai/iss-1734-rtvi-function-call-breakage
...
Revert breaking change in RTVI protocol for function calling
2025-05-07 15:25:22 -04:00
Aleix Conchillo Flaqué
e00a1196ef
Merge pull request #1767 from pipecat-ai/aleix/daily-python-0.18.2
...
pyproject: update daily-python to 0.18.2
2025-05-07 12:19:59 -07:00
Aleix Conchillo Flaqué
3867c0f8e7
Merge pull request #1766 from pipecat-ai/aleix/daily-fix-multiple-audio-video-sources
...
fix multiple audio video sources
2025-05-07 12:19:46 -07:00
Aleix Conchillo Flaqué
cdf0953722
pyproject: update daily-python to 0.18.2
2025-05-07 11:56:36 -07:00
Aleix Conchillo Flaqué
ed00f7d071
add video_source field to UserImageRequestFrame
2025-05-07 11:50:21 -07:00
Aleix Conchillo Flaqué
a3038afa02
DailyTransport: fix multiple audio/video sources
2025-05-07 11:50:00 -07:00
kompfner
f9ca0b8cc6
Merge pull request #1704 from pipecat-ai/pk/amazon-nova-sonic
...
Amazon Nova Sonic LLM service
2025-05-07 14:45:28 -04:00
Paul Kompfner
2920aa5af4
[WIP] AWS Nova Sonic service - pull AWS Nova Sonic support out of the aws optional dependency in pyproject.toml and into its own aws-nova-sonic optional dependency. That's because it requires Python >= 3.12, a higher version than the base project's 3.10. This change allows anyone using any of the other AWS services (including our own unit tests) to continue using the lower Python version.
2025-05-07 14:32:32 -04:00
Paul Kompfner
93c9cc4a0e
[WIP] AWS Nova Sonic service - minor fix
2025-05-07 13:54:06 -04:00
Paul Kompfner
b53f9235e4
[WIP] AWS Nova Sonic service - remove unnecessary _context_available state, instead just relying on the presence of _context
2025-05-07 13:54:06 -04:00
Paul Kompfner
1491462d15
[WIP] AWS Nova Sonic service - remove _handling_bot_stopped_speaking, which no longer seems to be necessary; I'm no longer observing back-to-back BotStoppedSpeaking frames
2025-05-07 13:54:06 -04:00
Paul Kompfner
c78f779800
[WIP] AWS Nova Sonic service - log an error message if you try to use AWS Nova Sonic without the proper dependency (e.g. without having done pip install pipecat-ai[aws])
2025-05-07 13:54:06 -04:00
Paul Kompfner
b013e375fb
[WIP] AWS Nova Sonic service - simplify a bit of logic (and do the same simplification in the OpenAI Realtime service)
2025-05-07 13:54:06 -04:00
Paul Kompfner
52036138c1
[WIP] AWS Nova Sonic service - remove unnecessary (no-op) code
2025-05-07 13:54:06 -04:00
Paul Kompfner
4ba9a42861
[WIP] AWS Nova Sonic service - add more accurate typing
2025-05-07 13:54:06 -04:00
Paul Kompfner
27bff7a759
[WIP] AWS Nova Sonic service - fix comment
2025-05-07 13:54:06 -04:00
Paul Kompfner
896f8d85f7
[WIP] AWS Nova Sonic service - remove out-of-date TODO comment
2025-05-07 13:54:06 -04:00
Paul Kompfner
ed06cdd2c7
[WIP] AWS Nova Sonic service - add CHANGELOG entry
2025-05-07 13:54:02 -04:00
Paul Kompfner
8473647269
[WIP] AWS Nova Sonic service - update persistent-context example to better avoid saving "transitional", as opposed to meaningful, context messages
2025-05-07 13:52:51 -04:00
Paul Kompfner
5579145a06
[WIP] AWS Nova Sonic service - post-rebase, update examples to play nicely with recent pipecat changes
2025-05-07 13:52:51 -04:00
Paul Kompfner
35848d10b3
[WIP] AWS Nova Sonic service - remove various TODO comments
2025-05-07 13:52:51 -04:00
Paul Kompfner
c7e223e85a
[WIP] AWS Nova Sonic service - remove print statements in favor of logger
2025-05-07 13:52:51 -04:00
Paul Kompfner
885b2d1d2f
[WIP] AWS Nova Sonic service - make parameters configurable
2025-05-07 13:52:51 -04:00
Paul Kompfner
73020be511
[WIP] AWS Nova Sonic service - minor fix: only try to read received JSON if we have it
2025-05-07 13:52:51 -04:00
Paul Kompfner
d388c057c0
[WIP] AWS Nova Sonic service - recover from unwanted disconnection due to an error
2025-05-07 13:52:51 -04:00
Paul Kompfner
c4d0f91a7f
[WIP] AWS Nova Sonic service - remove some old code that was accidentally still there, possibly sending a duplicate system instruction
2025-05-07 13:52:51 -04:00
Paul Kompfner
467233be04
[WIP] AWS Nova Sonic service - support multi-line system prompt
2025-05-07 13:52:51 -04:00
Paul Kompfner
2b02d08f4c
[WIP] AWS Nova Sonic service - add comments to examples pointing out the us-east-1 is the only supported region so far
2025-05-07 13:52:51 -04:00
Paul Kompfner
9fe265ea64
[WIP] AWS Nova Sonic service - implement ability to persist and load conversations
2025-05-07 13:52:51 -04:00
Paul Kompfner
cc1f4ba81c
[WIP] AWS Nova Sonic service - add a hacky way of programmatically triggering an assistant response
2025-05-07 13:52:51 -04:00
Paul Kompfner
3784bdbd27
[WIP] AWS Nova Sonic service - in our hacky direct manipulation of the context, aggregate assistant text rather than recording every chunk as a separate message
2025-05-07 13:52:51 -04:00
Paul Kompfner
4ffdc3b77c
[WIP] AWS Nova Sonic service - do hacky direct manipulation of the context for now, since I can't seem to get assistant context aggregation working properly with frames, grr
2025-05-07 13:52:51 -04:00
Paul Kompfner
38c9fa681a
[WIP] AWS Nova Sonic service - Protect against back-to-back BotStoppedSpeaking calls, which I've observed
2025-05-07 13:52:51 -04:00
Paul Kompfner
c477039954
[WIP] AWS Nova Sonic service - just for safety, add a short delay after BotStoppedSpeaking before sending LLMFullResponseEndFrame + TTSStoppedFrame, to give a bit of leeway for the LLM to deliver the "FINAL" text block describing what was said
2025-05-07 13:52:51 -04:00
Paul Kompfner
d6ef3d64ac
[WIP] AWS Nova Sonic service - fix context problems of double-counting LLM text, and mis-categorizing user text as LLM text
2025-05-07 13:52:51 -04:00
Paul Kompfner
6938152db6
[WIP] AWS Nova Sonic service - fix comment
2025-05-07 13:52:51 -04:00
Paul Kompfner
2154db07f0
[WIP] AWS Nova Sonic service - remove unnecessary error log
2025-05-07 13:52:51 -04:00
Paul Kompfner
5e0803479e
[WIP] AWS Nova Sonic service - add send_transcription_frames option
2025-05-07 13:52:51 -04:00
Paul Kompfner
3960c604a4
[WIP] AWS Nova Sonic service - fix empty assistant conversation history item in the context after tool use
2025-05-07 13:52:51 -04:00
Paul Kompfner
394648f1c9
[WIP] AWS Nova Sonic service - fix user utterances not making it into the context
2025-05-07 13:52:51 -04:00
Paul Kompfner
da5c4953d5
[WIP] AWS Nova Sonic service - allow passing in tools into initializer
2025-05-07 13:52:51 -04:00
Paul Kompfner
2b7e1cb5b1
[WIP] AWS Nova Sonic service - add tool calling
2025-05-07 13:52:51 -04:00
Paul Kompfner
f182eafb40
[WIP] AWS Nova Sonic service - add ability to pass in OpenAILLMContext
2025-05-07 13:52:51 -04:00
Paul Kompfner
9f7f42e885
[WIP] AWS Nova Sonic service
2025-05-07 13:52:51 -04:00
Paul Kompfner
9b8bce1914
[WIP] AWS Nova Sonic service - add voice_id
2025-05-07 13:52:51 -04:00
Paul Kompfner
96d05e12fc
[WIP] AWS Nova Sonic service
2025-05-07 13:52:51 -04:00
Paul Kompfner
68c1069548
[WIP] AWS Nova Sonic service
2025-05-07 13:52:51 -04:00
Paul Kompfner
5b64613f65
[WIP] AWS Nova Sonic service
2025-05-07 13:52:51 -04:00
Paul Kompfner
1f9baefba8
[WIP] AWS Nova Sonic service - added stubs for handling interruption and user-started-speaking frames
2025-05-07 13:52:51 -04:00
Paul Kompfner
0c255d2618
[WIP] AWS Nova Sonic service - added TTSTextFrame and reworked/cleaned up some bookkeeping logic
2025-05-07 13:52:51 -04:00
Paul Kompfner
a38206de9c
[WIP] AWS Nova Sonic service - added TranscriptionFrame
2025-05-07 13:52:51 -04:00
Paul Kompfner
260f7c9b85
[WIP] AWS Nova Sonic service - format
2025-05-07 13:52:51 -04:00
Paul Kompfner
de294caed9
[WIP] AWS Nova Sonic service - added LLMFullResponseStartFrame, LLMTextFrame, and LLMFullResponseEndFrame
2025-05-07 13:52:51 -04:00
Paul Kompfner
e40aa4f99a
[WIP] AWS Nova Sonic service - added TTSStartedFrame and TTSStoppedFrame
2025-05-07 13:52:51 -04:00
Paul Kompfner
b1d413b9be
[WIP] AWS Nova Sonic service
2025-05-07 13:52:51 -04:00
Paul Kompfner
8cbad070ad
[WIP] AWS Nova Sonic service
2025-05-07 13:52:51 -04:00
Paul Kompfner
13569a5a5a
[WIP] AWS Nova Sonic service
2025-05-07 13:52:51 -04:00
Paul Kompfner
d789334a60
[WIP] AWS Nova Sonic service
2025-05-07 13:52:51 -04:00
Paul Kompfner
7668b27fc0
[WIP] AWS Nova Sonic service
2025-05-07 13:52:51 -04:00
Paul Kompfner
6d30f441e8
[WIP] AWS Nova Sonic service
2025-05-07 13:52:51 -04:00
Paul Kompfner
a9e395b366
[WIP] AWS Nova Sonic service
2025-05-07 13:52:51 -04:00
Paul Kompfner
5e5626f04f
[WIP] AWS Nova Sonic service
2025-05-07 13:52:47 -04:00
Aleix Conchillo Flaqué
d80aa5b44e
Merge pull request #1753 from pipecat-ai/aleix/add-bedrock-support
...
Add support for Amazon Bedrock LLMs
2025-05-07 09:31:48 -07:00
Aleix Conchillo Flaqué
80ef6dc4de
update README with AWS Bedrock and Transcribe
2025-05-07 09:26:26 -07:00
Aleix Conchillo Flaqué
458549f7df
AWSBedrockLLMService: fix function calling
2025-05-07 09:26:26 -07:00
Aleix Conchillo Flaqué
a8405649d0
aws: use AWS prefix for all services
2025-05-07 09:26:26 -07:00
Aleix Conchillo Flaqué
ce1a72850b
tests: add bedrock context aggregator tests
2025-05-07 09:26:26 -07:00
Aleix Conchillo Flaqué
58de381746
AWS: add missing utils
2025-05-07 09:26:26 -07:00
Aleix Conchillo Flaqué
bed2e894a2
BedrockLLMService: pull initial system frame from messages
2025-05-07 09:26:26 -07:00
Aleix Conchillo Flaqué
b4de98cfb7
AWS: various cleanups (logs, imports...)
2025-05-07 09:26:26 -07:00
Aleix Conchillo Flaqué
a4b9db9e07
fix formatting
2025-05-07 09:26:26 -07:00
Adithya Suresh
664111a3c9
Added cache related info to metrics
2025-05-07 09:26:26 -07:00
Adithya Suresh
aa964847f3
System param to be a list
2025-05-07 09:26:26 -07:00
Adithya Suresh
fa5cac7e0a
Bug fix in content format
2025-05-07 09:26:26 -07:00
Adithya Suresh
b2b01861b2
Remove model restriction
2025-05-07 09:26:26 -07:00
Adithya Suresh
f014f718eb
Restructured STT and enabled prosody tags for generative Polly
2025-05-07 09:26:26 -07:00
Adithya Suresh
05ae8d3ffa
Removed OpenAI based context formatting
2025-05-07 09:26:26 -07:00
Adithya Suresh
88c9e08bd8
Updated tools parsing logic
2025-05-07 09:26:26 -07:00
Adithya Suresh
844f61dfea
Initial implementation
2025-05-07 09:26:26 -07:00
Tico Ballagas
acb7d597cb
Change example to use generative voices
2025-05-07 09:19:49 -07:00
Tico Ballagas
2b18f60261
Initial implementation of AWS Transcribe TTS
2025-05-07 09:19:49 -07:00
mattie ruth backman
5b66133a6c
Revert breaking change in RTVI protocol for function calling
2025-05-07 12:08:28 -04:00
Mark Backman
0c5bc6a57a
Merge pull request #1760 from WebinarGeek/wg/daily-active-speaker-event
...
DailyTransport: added on_active_speaker_changed event handler
2025-05-07 11:17:49 -04:00
Mark Backman
7981e00955
Merge pull request #1759 from pipecat-ai/mb/readme-nvidia-riva
...
Update README with Riva services
2025-05-07 11:13:51 -04:00
Dan Berg
5e39c0cfeb
DailyTransport: added on_active_speaker_changed event handler
2025-05-07 15:22:30 +02:00
Mark Backman
a444701929
Update README with Riva services
2025-05-07 09:02:08 -04:00
Mark Backman
f6c1eb5d9d
Merge pull request #1757 from pipecat-ai/mb/remove-canonical
...
Removing CanonicalMetricsService
2025-05-06 21:38:03 -04:00
Mark Backman
a1d46cb26b
Removing CanonicalMetricsService
2025-05-06 21:23:23 -04:00
Aleix Conchillo Flaqué
99ab148d88
Merge pull request #1739 from pipecat-ai/aleix/observers-frame-pushed-class
...
BaseObserver: add FramePushed class and deprecate multiple arguments
2025-05-06 15:29:05 -07:00
Aleix Conchillo Flaqué
d69fa5dba5
update CHANGELOG with UltravoxSTTService fix
2025-05-06 15:26:25 -07:00
Aleix Conchillo Flaqué
0d30b000af
BaseObserver: add FramePushed class and deprecated multiple arguments
2025-05-06 15:26:23 -07:00
Mark Backman
e7c0e742d2
Merge pull request #1752 from pipecat-ai/mb/deepgram-tts-aura-2
...
Update Deepgram TTS default voice to Aura 2 voice
2025-05-06 16:26:26 -04:00
Mark Backman
2aff2dcca3
Merge pull request #1751 from pipecat-ai/mb/11labs-enable_ssml_parsing
...
Add enable_ssml_parsing and enable_logging to ElevenLabsTTSService
2025-05-06 16:25:20 -04:00
Mark Backman
288f8865c8
Add enable_logging to ElevenLabsTTSService
2025-05-06 12:13:26 -04:00
Mark Backman
8691870bcb
Update Deepgram TTS default voice to Aura 2 voice
2025-05-06 11:29:32 -04:00
Mark Backman
e06146c237
Add enable_ssml_parsing to ElevenLabsTTSService
2025-05-06 11:06:57 -04:00
Aleix Conchillo Flaqué
c68e990cda
Merge pull request #1748 from pipecat-ai/aleix/task-manager-dictionary
...
task manager dictionary and cleanup PipelineTask
2025-05-06 07:57:53 -07:00
Aleix Conchillo Flaqué
4583905313
PipelineTask: cleanup if task is cancelled from outside Pipecat
2025-05-05 21:33:21 -07:00
Aleix Conchillo Flaqué
9cc498b1fa
TaskManager: use a dictionary instead of a set to store tasks
2025-05-05 21:27:49 -07:00
Mark Backman
b3c5dc4045
Merge pull request #1443 from adithyaxx/anthropic-client-bug-fixes
...
Handle missing token counts in AsyncAnthropicBedrock client properly
2025-05-05 21:13:11 -04:00
Filipi Fuchter
56ca7360ae
Fixing versions
2025-05-05 19:11:59 -03:00
Filipi Fuchter
d5ab3251f0
Bumping the dependencies, updating readme, adding .gitignore.
2025-05-05 18:43:04 -03:00
Filipi Fuchter
915c284420
Fixing readme
2025-05-05 18:32:04 -03:00
Aleix Conchillo Flaqué
3824da7261
Merge pull request #1745 from pipecat-ai/aleix/make-sure-transports-are-ready
...
only send data to transports after they are really ready
2025-05-05 14:21:36 -07:00
Filipi Fuchter
40154824e8
Creating a RN example for simple-chatbot
2025-05-05 18:17:39 -03:00
Aleix Conchillo Flaqué
855d567b1e
only send data to transports after they are really ready
2025-05-05 14:06:58 -07:00
Mark Backman
b323a7bd88
Merge pull request #1742 from pipecat-ai/mb/pcc-krisp-filter
...
Update pipecat-cloud-example to use Krisp in PCC deployment only
2025-05-05 15:46:12 -04:00
Mark Backman
fa011d0018
Update pipecat-cloud-example to use Krisp in PCC deployment only
2025-05-05 15:09:29 -04:00
Aleix Conchillo Flaqué
e15fa8777a
Merge pull request #1737 from CerebriumAI/kyle/fix-ultravox-spacing
...
[Fix] Ultravox frame spacing issue
2025-05-05 09:34:49 -07:00
Aleix Conchillo Flaqué
2143a6d927
Merge pull request #1732 from pipecat-ai/aleix/daily-remote-custom-tracks
...
DailyTransport: remove custom tracks before leaving
2025-05-05 08:44:11 -07:00
Aleix Conchillo Flaqué
044e2d3e73
DailyTransport: remove custom tracks before leaving
2025-05-05 08:35:35 -07:00
Kyle Gani
be112ec63f
Merge branch 'kyle/fix-ultravox-performance' of github.com:CerebriumAI/pipecat into kyle/fix-ultravox-performance
2025-05-05 17:13:26 +02:00
Kyle Gani
d2f56c4e8f
Fix: Spacing issue
2025-05-05 17:13:21 +02:00
Mark Backman
ddc6a9c695
Merge pull request #1670 from pipecat-ai/mb/daily-twilio-sip-example
...
Add standalone Daily + Twilio SIP example
2025-05-05 10:57:16 -04:00
Mark Backman
2bebdbc371
Merge pull request #1671 from pipecat-ai/khk/rime-arcana
...
support for rime arcana model
2025-05-05 10:54:50 -04:00
Mark Backman
8b9f1f0608
Add a changelog entry
2025-05-05 10:51:46 -04:00
Kwindla Hultman Kramer
b25f3b2ed2
support for rime arcana model
2025-05-05 10:50:46 -04:00
Mark Backman
a995cf81b6
Merge pull request #1724 from pipecat-ai/mb/demo-fixes
...
Demo fixes
2025-05-05 08:44:57 -04:00
Aleix Conchillo Flaqué
75d261639f
Merge pull request #1726 from pipecat-ai/aleix/pipecat-0.0.66
...
update CHANGELOG for pipecat 0.0.66
2025-05-02 20:54:57 -07:00
Aleix Conchillo Flaqué
f720d795d0
update CHANGELOG for pipecat 0.0.66
2025-05-02 20:29:51 -07:00
Aleix Conchillo Flaqué
f6fe83e358
Merge pull request #1725 from pipecat-ai/aleix/update-daily-python-0.18.1
...
update to daily-python 0.18.1
2025-05-02 20:27:50 -07:00
Mark Backman
0513d0b6a8
Update README
2025-05-02 22:44:50 -04:00
Mark Backman
0679bb217d
Remove Twilio from phone-chatbot directory
2025-05-02 22:18:50 -04:00
Mark Backman
38bd55e518
Update README
2025-05-02 22:18:50 -04:00
Mark Backman
65c7423280
Add other dial-in event handlers
2025-05-02 22:18:50 -04:00
Mark Backman
f24a85cc94
Add logic to only forward the first on_dialin_ready event
2025-05-02 22:18:50 -04:00
Mark Backman
53887b7c98
Display phone number in WebRTC call
2025-05-02 22:18:50 -04:00
Mark Backman
523c012c38
Use a Twilio asset to ring the phone throughout
2025-05-02 22:18:50 -04:00
Mark Backman
97c28989c1
Add standalone Daily + Twilio SIP example
2025-05-02 22:18:50 -04:00
Mark Backman
c19be6ebb2
Demo fixes
2025-05-02 20:58:10 -04:00
Aleix Conchillo Flaqué
54971a0735
update to daily-python 0.18.1
2025-05-02 17:47:44 -07:00
Mark Backman
4513e81e13
Merge pull request #1723 from pipecat-ai/mb/base-output-bot-speaking-log
...
Only display the destination in the bot started/stopped speaking log …
2025-05-02 17:32:47 -04:00
Mark Backman
872204b795
Only display the destination in the bot started/stopped speaking log when there is a desintation
2025-05-02 17:29:28 -04:00
Aleix Conchillo Flaqué
a94cbfe6f5
Merge pull request #1722 from pipecat-ai/aleix/base-output-transport-audio-task-fix
...
BaseOutputTransport: always initialize audio task
2025-05-02 14:26:30 -07:00
Aleix Conchillo Flaqué
7152faafb2
BaseOutputTransport: always initialize audio task
...
We also use the audio task to also send synchronized images with audio.
2025-05-02 14:23:15 -07:00
Mark Backman
e6aadaccd8
Merge pull request #1721 from pipecat-ai/mb/simli-silent-frames
...
Fix: SimliVideoService was continuously emitting audio, preventing Bo…
2025-05-02 16:44:39 -04:00
Mark Backman
3a73aa71b8
Merge pull request #1613 from pipecat-ai/mb/improve-storybot-readme
...
demo: Restructure storytelling-chatbot directory, update README steps…
2025-05-02 16:39:59 -04:00
Mark Backman
814e7509e1
demo: Restructure storytelling-chatbot directory, update README steps, link to vercel demo
2025-05-02 16:37:37 -04:00
Vanessa Pyne
e0cf5ec016
Merge pull request #1705 from pipecat-ai/vp-update-nvidia-models
...
Riva Service: add magpie-tts-multilingual model
2025-05-02 15:34:23 -05:00
vipyne
667bd32e6a
Riva: remove deprecated lines in example
2025-05-02 15:33:10 -05:00
vipyne
b2ecd83706
update CHANGELOG with Riva details
2025-05-02 15:33:10 -05:00
vipyne
b2754117c8
Riva: refactor function_id and model_name
2025-05-02 15:33:10 -05:00
vipyne
6c428c303b
update magpie voice
2025-05-02 15:33:10 -05:00
Mark Backman
e7d889a143
Update RivaSTTService to use by default
2025-05-02 15:33:10 -05:00
Mark Backman
da60e7069b
Update pyproject.toml to use nvidia-riva-client 2.19.1
2025-05-02 15:33:10 -05:00
Mark Backman
c14406a3b9
Demos use the latest services
2025-05-02 15:33:10 -05:00
Mark Backman
725ab5ec21
Small fixes: No default api_key of None, ParakeetSTTService uses RivaSTTService.InputParams
2025-05-02 15:33:10 -05:00
Mark Backman
daf9d47e58
Update RivaSegmentedSTTService
2025-05-02 15:33:10 -05:00
vipyne
63a65627a2
Riva Service: add magpie-tts-multilingual model
2025-05-02 15:33:10 -05:00
Mark Backman
02c07755b0
Add Changelog entry for PR 1707
2025-05-02 15:33:10 -05:00
Matt Kim
15cbd18acc
[Rime] Add phonemizeBetweenBrackets and pauseBetweenBrackets to RimeTTSService (ws)
...
There is a fix incoming in
2025-05-02 15:33:10 -05:00
Kwindla Hultman Kramer
93c40b87dc
small groq updates
2025-05-02 15:33:10 -05:00
Mark Backman
eeaa9f67a1
Fix: SimliVideoService was continuously emitting audio, preventing BotStoppedSpeakingFrame from being sent
2025-05-02 16:32:42 -04:00
Mark Backman
b60691c7b2
Merge pull request #1720 from pipecat-ai/mb/changelog-pr-1707
...
Add Changelog entry for PR 1707
2025-05-02 16:13:40 -04:00
Mark Backman
2bb1b0b343
Add Changelog entry for PR 1707
2025-05-02 16:09:50 -04:00
Mark Backman
047ef9f86c
Merge pull request #1707 from rimelabs/matt/rime/url_param_serialization
...
[Rime] Add new params to RimeTTSService
2025-05-02 16:08:01 -04:00
Kwindla Hultman Kramer
9a2c603c91
Merge pull request #1711 from pipecat-ai/khk/groq-updates
2025-05-02 12:21:15 -07:00
Filipi da Silva Fuchter
94c4169407
Merge pull request #1717 from pipecat-ai/local_smart_turn_torch
...
Local smart turn torch
2025-05-02 15:53:30 -03:00
Filipi Fuchter
cb8a551db8
Mentioning the new LocalSmartTurnAnalyzer in the changelog.
2025-05-02 14:32:18 -03:00
Filipi Fuchter
779f09af70
Fixing lint.
2025-05-02 14:22:38 -03:00
Filipi Fuchter
19dc0f2bfb
New example using the local smart turn
2025-05-02 14:21:42 -03:00
Filipi Fuchter
f0709e22ba
Creating a local smart turn using torch.
2025-05-02 14:21:29 -03:00
Mark Backman
8250736f5e
Merge pull request #1708 from pipecat-ai/mb/gemini-user-context
...
Push GeminiMultimodalLiveLLMService TranscriptionFrame Upstream, remo…
2025-05-02 13:10:27 -04:00
Mark Backman
83348a9f93
Merge pull request #1714 from pipecat-ai/mb/fix-gemini-text-modality
...
Restore TEXT modalities support to GeminiMultimodalLiveLLMService
2025-05-02 10:41:05 -04:00
Mark Backman
96d40903a9
Only send TTSStoppedFrame from Gemini when in AUDIO mode, only send one LLMFullResponseEndFrame
2025-05-02 10:18:53 -04:00
Aleix Conchillo Flaqué
2560811805
Merge pull request #1697 from pipecat-ai/aleix/daily-custom-audio-tracks
...
add support for multiple transport destinations
2025-05-02 06:34:09 -07:00
Mark Backman
2b8c44c008
Merge pull request #1710 from pipecat-ai/mb/openai-context-aggregation
...
fix: OpenAIRealtimeBetaLLMService writes two assistant messages to th…
2025-05-02 07:43:35 -04:00
Mark Backman
38e2d37674
Restore TEXT modalities support to GeminiMultimodalLiveLLMService
2025-05-02 07:36:12 -04:00
Vanessa Pyne
6278561f88
Merge pull request #1709 from pipecat-ai/vp-fix-fastpitch-params-update
...
Riva TTS: update FastPitch params
2025-05-01 21:23:10 -05:00
Aleix Conchillo Flaqué
750e79c1ce
DailyParams: rename to camera/microphone_out_enabled
2025-05-01 19:17:14 -07:00
Aleix Conchillo Flaqué
71eb2963c5
examples: added daily-custom-tracks
2025-05-01 19:17:14 -07:00
Aleix Conchillo Flaqué
f44e2c86ea
BaseOutputTransport: compute sample_rate and audio_chunk_size in main class
2025-05-01 19:17:14 -07:00
Aleix Conchillo Flaqué
afe1f0df8c
DailyTransport: make sure we can write audio frames to destination
2025-05-01 19:17:14 -07:00
Aleix Conchillo Flaqué
458fddfb48
update CHANGELOG with new Daily and Transport features
2025-05-01 19:17:14 -07:00
Aleix Conchillo Flaqué
8d915c5ccb
DailyParams: allow enabling/disabling camera/microphone tracks
2025-05-01 19:17:14 -07:00
Aleix Conchillo Flaqué
304153dd03
TTSService: set transport destination to all TTS frames
2025-05-01 19:17:14 -07:00
Aleix Conchillo Flaqué
a6781b7352
rename destination to transport_destination
2025-05-01 19:17:14 -07:00
Aleix Conchillo Flaqué
5ad0058303
update CHANGELOG with frame source/destination support
2025-05-01 19:11:13 -07:00
Aleix Conchillo Flaqué
75c039de33
examples: add daily-multi-translation
2025-05-01 19:11:13 -07:00
Aleix Conchillo Flaqué
74e3c3677e
DailyTransport: fix audio/video renderers registration
2025-05-01 18:58:44 -07:00
Aleix Conchillo Flaqué
dc20327f10
DailyTransport: register audio destination and use custom tracks
2025-05-01 18:58:44 -07:00
Aleix Conchillo Flaqué
e738affd29
BaseOutputTransport: allow sending audio/video to multiple destinations
2025-05-01 18:58:44 -07:00
Aleix Conchillo Flaqué
ef3d732607
DailyTransport: allow capturing multiple simultaneous audio/video sources
2025-05-01 18:58:44 -07:00
Aleix Conchillo Flaqué
6d63cff1bf
DailyTransport: custom audio tracks support
2025-05-01 18:58:44 -07:00
Aleix Conchillo Flaqué
12f42605a1
pyproject: update daily-python to 0.18.0
2025-05-01 18:58:44 -07:00
Kwindla Hultman Kramer
fac3337927
small groq updates
2025-05-01 17:09:15 -07:00
Mark Backman
76d198151c
Push GeminiMultimodalLiveLLMService TranscriptionFrame Upstream, remove direct context addition
2025-05-01 15:41:04 -04:00
Mark Backman
6a907058de
fix: OpenAIRealtimeBetaLLMService writes two assistant messages to the context
2025-05-01 15:37:39 -04:00
vipyne
6e1f531f64
Riva TTS: update FastPitch params
...
91138c3f66 (diff-ece228577b1d233ce600a948243f90cece53e3a9b89554a0b27a48bc4d6e0fdfR45)
2025-05-01 11:14:41 -05:00
Matt Kim
4232cca5b6
[Rime] Add phonemizeBetweenBrackets and pauseBetweenBrackets to RimeTTSService (ws)
...
There is a fix incoming in
2025-04-30 18:09:22 -07:00
Mark Backman
a6a4d3d71f
Merge pull request #1706 from rimelabs/matt/rime/update_url
...
[Rime] - Update url for Websockets API
2025-04-30 19:14:04 -04:00
Mark Backman
c52de0f5de
Merge pull request #1696 from pipecat-ai/mb/fix-gemini-live-context
...
Fix: GeminiMultimodalLiveLLMService was appending tokens to the context
2025-04-30 19:12:06 -04:00
Mark Backman
a1e1255f16
Strip newlines from generated user transcript
2025-04-30 18:27:46 -04:00
Mark Backman
c4f758725e
Ignore TranscriptionFrames too
2025-04-30 18:22:43 -04:00
Aleix Conchillo Flaqué
7bc9a78ce6
udpate CHANGELOG with RTVIObserverParams
2025-04-30 15:13:14 -07:00
Aleix Conchillo Flaqué
f8be71b32c
Merge pull request #1688 from pipecat-ai/aleix/add-rtvi-observer-params
...
RTVIObserver: add RTVIObserverParams to configure what to send
2025-04-30 15:11:18 -07:00
Aleix Conchillo Flaqué
957fa5546d
RTVIObserver: add RTVIObserverParams to configure what to send
2025-04-30 15:09:02 -07:00
Aleix Conchillo Flaqué
039cb8fcae
Merge pull request #1690 from pipecat-ai/aleix/rtvi-function-call-single-param
...
RTVIProcessor: use single FunctionCallParams
2025-04-30 15:04:05 -07:00
Mark Backman
8e05f2f1a1
Merge pull request #1702 from pipecat-ai/mb/stt-mute-transcription-frames
...
Add InterimTranscriptionFrame and TranscriptionFrame to STTMuteFilter…
2025-04-30 17:54:24 -04:00
Matt Kim
8467aa1ed3
[Rime] - Update url for Websockets API
...
Rime has migrated their Websockets api to the base url `user.rime.ai` along with all other tts endpoints.
See the [docs](https://docs.rime.ai/api-reference/endpoint/websockets )
`users-ws.rime.ai` is deprecated and will not reflect upgrades to the rime ws api.
2025-04-30 14:20:13 -07:00
Mark Backman
9c5878af3d
OpenAI Realtime and Gemini Live push LLMTextFrame again, overwrite the assitant context aggregator for LLMTextFrame
2025-04-30 17:18:20 -04:00
Mark Backman
ef29800fe9
Update the changelog
2025-04-30 16:28:17 -04:00
Mark Backman
7e09933070
OpenAI Realtime should push TTSTextFrame only
2025-04-30 16:28:17 -04:00
Mark Backman
82a9d7f992
Gemini Mulitmodal Live to push TTSTextFrame only
2025-04-30 16:28:17 -04:00
Mark Backman
facbebb15f
Transcribe user audio in 26b
2025-04-30 16:28:16 -04:00
Mark Backman
2ba60fc41f
Update TranscriptProcessor to handle GeminiMultimodalLiveLLMService changes
2025-04-30 16:28:16 -04:00
Mark Backman
685f951ae2
Fix: GeminiMultimodalLiveLLMService was appending tokens to the context
2025-04-30 16:28:16 -04:00
Mark Backman
27d4c927a8
Merge pull request #1701 from pipecat-ai/mb/gemini-extend-session
...
Add context_window_compression support to GeminiMultimodalLiveLLMService
2025-04-30 14:35:50 -04:00
Mark Backman
20a59e8c56
Add InterimTranscriptionFrame and TranscriptionFrame to STTMuteFilter frame processing
2025-04-30 10:50:56 -04:00
Mark Backman
d9a0a93667
Add context_window_compression support to GeminiMultimodalLiveLLMService
2025-04-30 09:55:34 -04:00
Mark Backman
154d5d1859
Merge pull request #1699 from pipecat-ai/mb/more-docs-mocks
...
Additional import mocks to fix docs failure
2025-04-30 08:36:57 -04:00
Mark Backman
a192217256
Additional import mocks to fix docs failure
2025-04-29 21:45:27 -04:00
Mark Backman
10cdc47e05
Merge pull request #1689 from pipecat-ai/mb/handle-http-smart-turn-errors
...
Handle case where Fal Smart Turn returns a 500 error
2025-04-29 14:21:45 -04:00
Mark Backman
2b4d41a548
Merge pull request #1693 from flixoflax/bump-modal-example-dependencies
...
Bump modal deployment example dependencies
2025-04-29 14:21:31 -04:00
Filipi da Silva Fuchter
962f8062a5
Merge pull request #1581 from pipecat-ai/voice_agent_ice_servers
...
Configuring the voice-agent example to wait for all the ice candidates.
2025-04-29 13:30:12 -03:00
Filipi Fuchter
d80d385b2f
Adding a section explaining about ice servers.
2025-04-29 12:19:59 -03:00
Filipi Fuchter
b347ca472f
Checking the state again to avoid any eventual race condition
2025-04-29 12:04:20 -03:00
Filipi Fuchter
c3c4952abf
Reducing the timeout to 2 seconds for gathering the ice candidates.
2025-04-29 11:34:58 -03:00
Filipi Fuchter
f369ab4c1a
Printing each new ice candidate.
2025-04-29 11:23:33 -03:00
flixoflax
62b41c6789
removed aiohttp from deps, and version constraint from pipecat-ai
2025-04-29 16:14:51 +02:00
Filipi da Silva Fuchter
2872bc7902
Merge pull request #1587 from pipecat-ai/improving_ice_servers
...
Updated `SmallWebRTCConnection` to support `ice_servers` with credentials.
2025-04-29 11:07:32 -03:00
Filipi Fuchter
9658b75a10
Configuring the voice-agent example to use ice-servers and wait for all the ice candidates.
2025-04-29 10:52:07 -03:00
flixoflax
63de9039e6
Bumb modal deployment example deps
2025-04-29 15:50:56 +02:00
Filipi Fuchter
9352396d7e
Mentioning the new feature in the changelog.
2025-04-29 10:40:09 -03:00
Filipi Fuchter
d1ab1d38b7
Fixing the examples to use the new IceServer structure.
2025-04-29 10:33:19 -03:00
Filipi Fuchter
080f70d91c
Allowing to define the username and credential for the ice servers.
2025-04-29 10:32:42 -03:00
Mark Backman
ebed1fc6ea
Restructure _send_raw_request to raise errors early, then process the successful response
2025-04-29 09:05:14 -04:00
Aleix Conchillo Flaqué
6821b1cdab
RTVIProcessor: use single FunctionCallParams
2025-04-29 05:56:23 -07:00
Mark Backman
144ae9b611
Handle case where Fal Smart Turn returns a 500 error
2025-04-29 08:53:02 -04:00
Aleix Conchillo Flaqué
a2e7331ce2
Merge pull request #1680 from pipecat-ai/aleix/local-input-select-stt-update
...
examples: update local-input-select-stt
2025-04-28 12:01:12 -07:00
Aleix Conchillo Flaqué
8accd3e387
Merge pull request #1681 from pipecat-ai/aleix/tts-service-llm-full-response-end-fix
...
TTSService: do not push LLMFullResponseEndFrame if not needed
2025-04-28 12:00:55 -07:00
Mark Backman
3d05a74dc0
Merge pull request #1678 from Dev-Khant/integrate-mem0-oss
...
Integrate with Mem0 OSS
2025-04-28 14:15:40 -04:00
Aleix Conchillo Flaqué
e3c965f4d5
TTSService: do not push LLMFullResponseEndFrame if not needed
2025-04-28 11:03:22 -07:00
Dev-Khant
5354e5d891
formatting
2025-04-28 22:57:18 +05:30
Aleix Conchillo Flaqué
5784e91cff
update .gitignore
2025-04-28 09:34:45 -07:00
Aleix Conchillo Flaqué
bc5f098aaa
examples: update local-input-select-stt
2025-04-28 09:28:26 -07:00
Aleix Conchillo Flaqué
93534b4692
Merge pull request #1679 from pipecat-ai/aleix/update-package-lock-apr-28
...
examples: update package-lock.json
2025-04-28 09:27:01 -07:00
Aleix Conchillo Flaqué
b23d54c609
examples: update package-lock.json
2025-04-28 09:15:14 -07:00
Dev-Khant
aa23a7b1e6
update changelog
2025-04-28 20:03:20 +05:30
Dev-Khant
c0c41789ab
Integrate with Mem0 OSS
2025-04-28 17:15:53 +05:30
Jin Kim
cf2f249f8a
Use "use_original_timestamps" only for sonic-2 model
2025-04-27 19:33:14 +09:00
Aleix Conchillo Flaqué
029ef4f8c2
Merge pull request #1667 from pipecat-ai/aleix/function-call-single-parameter
...
function call single parameter
2025-04-25 13:53:10 -07:00
Aleix Conchillo Flaqué
9cad6dfce9
RTVIProcessor: simplify handle_function_call() and depreacted handle_function_call_start()
2025-04-25 13:34:05 -07:00
Aleix Conchillo Flaqué
4df6444832
examples: update with single FunctionCallParams parameter
2025-04-25 13:34:05 -07:00
Aleix Conchillo Flaqué
944bc23135
LLMService: use a single FunctionCallParams parameter for function calls
2025-04-25 13:34:03 -07:00
Aleix Conchillo Flaqué
1d863ee7de
Merge pull request #1669 from pipecat-ai/aleix/short-utterances-fixes
...
short utterances fixes
2025-04-25 13:25:15 -07:00
Vanessa Pyne
9ca775d1ab
Merge pull request #1668 from pipecat-ai/vp-update-transport-params-in-ex
...
Update examples with new transport param names
2025-04-25 15:24:28 -05:00
Aleix Conchillo Flaqué
03002ad685
LLMUserContextAggregator: reduce aggregation_timeout to 0.5
2025-04-25 13:21:00 -07:00
Aleix Conchillo Flaqué
99a4154cbc
LLMUserContextAggregator: ignore short uterrances while bot speaking
2025-04-25 13:21:00 -07:00
vipyne
0f68cc182d
Update examples with new transport param names
2025-04-25 15:18:56 -05:00
Aleix Conchillo Flaqué
3ac50b9902
Merge pull request #1664 from CerebriumAI/kyle/fix-ultravox-performance
...
Improved: Ultravox performance
2025-04-25 12:59:25 -07:00
Michael Louis
9557705b53
Changed warmup to internal function
2025-04-25 14:40:19 -04:00
Mark Backman
a7718926e9
Merge pull request #1666 from pipecat-ai/mb/add-vad-start-stop-events
...
Add VADUserStartedSpeakingFrame and VADUserStoppedSpeakingFrame
2025-04-25 10:49:17 -04:00
Mark Backman
dfa10af6ed
Simplify VAD events to be detected and emitted from BaseInputTransport
2025-04-25 10:28:44 -04:00
Mark Backman
8485ea6c5e
Merge pull request #1650 from pipecat-ai/mb/fal-smart-turn-readme
...
Add hosted demo link to Fal smart turn README
2025-04-25 09:39:54 -04:00
Mark Backman
b298376766
Add VADUserStartedSpeakingFrame and VADUserStoppedSpeakingFrame
2025-04-25 09:06:54 -04:00
Mark Backman
7cfefe4f84
Merge pull request #1593 from WebinarGeek/wg/gladia-translations
...
Push gladia translations as a TranscriptionFrame
2025-04-25 08:35:36 -04:00
Mark Backman
71c7373987
Update CHANGELOG
2025-04-25 08:26:40 -04:00
Mark Backman
d1086914fe
Add TranslationFrame and use in GladiaSTTService; add 13c-gladia-translation.py
2025-04-25 08:25:39 -04:00
Dan Berg
2fb85941d3
Add hint installing test requirements
2025-04-25 08:24:51 -04:00
Dan Berg
be8788e4da
Push gladia translations as a TranscriptionFrame
2025-04-25 08:24:51 -04:00
Mark Backman
acb6abd761
Merge pull request #1644 from pipecat-ai/mb/add-transport-examples
...
Add transports examples to foundational examples
2025-04-25 08:22:26 -04:00
Mark Backman
a528aad957
Merge pull request #1642 from pipecat-ai/mb/foundational-requirements
...
Add deepgram and cartesia to foundational example requirements to mak…
2025-04-25 08:22:08 -04:00
Mark Backman
5c13252801
Merge pull request #1658 from pipecat-ai/mb/update-fal-smart-turn-version
...
Update daily-transport version in fal-smart-turn demo
2025-04-25 08:21:50 -04:00
Mark Backman
a4422ac6c2
Add transports examples to foundational examples
2025-04-25 08:20:04 -04:00
Mark Backman
985a031353
Merge pull request #1657 from pipecat-ai/mb/word-wrangler-example
...
Add Word Wrangler demos
2025-04-25 08:16:02 -04:00
Kyle Gani
5c4079b286
Cleaned up: layout
2025-04-25 13:18:03 +02:00
Kyle Gani
5489ac5a73
Merge branch 'main' into kyle/fix-ultravox-performance
2025-04-25 13:16:48 +02:00
Kyle Gani
49fbcc86ac
Improved: Ultravox performance
2025-04-25 13:12:08 +02:00
Aleix Conchillo Flaqué
d20c3307b9
Merge pull request #1648 from pipecat-ai/aleix/always-push-audio
...
input transports now always push audio frames
2025-04-24 18:59:09 -07:00
Aleix Conchillo Flaqué
9fd76923fd
STTService: passthrough audio frames by default
2025-04-24 17:14:18 -07:00
Aleix Conchillo Flaqué
a753a623d4
examples: allow setting custom program arguments
2025-04-24 17:14:18 -07:00
Aleix Conchillo Flaqué
4ee6c4b59e
BaseOutputTransport: reword camera with video
2025-04-24 17:14:18 -07:00
Aleix Conchillo Flaqué
e79a002e5a
examples: update camera_* with video_*
2025-04-24 17:14:18 -07:00
Aleix Conchillo Flaqué
420912dd4b
transports: deprecate TransportParams.camera_* in favor of video_*
2025-04-24 17:14:18 -07:00
Aleix Conchillo Flaqué
de7185e8db
examples: remove vad_enabled=True
2025-04-24 17:14:18 -07:00
Aleix Conchillo Flaqué
8bfcfe8b1d
transports: deprecate TransportParams.vad_enabled
2025-04-24 17:14:18 -07:00
Aleix Conchillo Flaqué
26d2ce5926
examples: remove vad_audio_passthrough=True
2025-04-24 17:14:18 -07:00
Aleix Conchillo Flaqué
9ee56bff9e
transports: push audio by default. s/vad_audio_passthrough/audio_in_passthrough/
2025-04-24 17:14:16 -07:00
Vanessa Pyne
2e0d77e4f0
Merge pull request #1627 from pipecat-ai/vp-mcp-take-3
...
MCP Service
2025-04-24 18:16:19 -05:00
vipyne
4cc8a4312c
Revert "update 39* examples as per #1648 "
...
This reverts commit b29ffeef29 .
2025-04-24 18:11:35 -05:00
vipyne
cb7cb381aa
Add MCPClient changelog line
2025-04-24 18:05:20 -05:00
vipyne
b29ffeef29
update 39* examples as per #1648
2025-04-24 17:19:50 -05:00
vipyne
b7b2a5b7a1
mcp service fix and add multiple mcp example
2025-04-24 17:13:40 -05:00
vipyne
3384598e07
mcp_service: pr notes
2025-04-24 17:13:40 -05:00
vipyne
c420dbe57f
MCP Service
...
WIP getting mcp.run to work
add mcp[cli] to toml and lint
mcp stdio example
mcp sse example
mcp_run POC
ruff formatting
2025-04-24 17:13:40 -05:00
Mark Backman
fa8aafc7a5
Merge pull request #1660 from pipecat-ai/mb/foundational-examples-readme
...
Update foundational README with ToC
2025-04-24 18:12:27 -04:00
Mark Backman
4b364dda29
Update foundational README with ToC
2025-04-24 18:04:36 -04:00
Mark Backman
6bb765e40f
Update daily-transport version in fal-smart-turn demo
2025-04-24 15:06:08 -04:00
Mark Backman
c80d09f66c
Add Word Wrangler demos
2025-04-24 14:31:48 -04:00
Mark Backman
f8ff10c5d5
Add hosted demo link to Fal smart turn README
2025-04-23 21:27:53 -04:00
Mark Backman
09ff836ef6
Merge pull request #1640 from pipecat-ai/mb/fal-smart-turn-example
...
Fal Smart Turn example
2025-04-23 17:27:27 -04:00
Mark Backman
e446ecac14
Merge pull request #1649 from pipecat-ai/mb/fix-smart-turn-metrics
...
fix: SmartTurnMetricsData was reporting 0 for inference and processin…
2025-04-23 17:23:16 -04:00
Mark Backman
8c0c8a6153
Code review fixes
2025-04-23 17:22:19 -04:00
Mark Backman
70033ae00b
fix: SmartTurnMetricsData was reporting 0 for inference and processing time
2025-04-23 17:17:46 -04:00
Mark Backman
ac9dce63ae
README updates
2025-04-23 16:55:35 -04:00
Mark Backman
8b2df48fab
Fix DailyTransport bot name
2025-04-23 16:43:54 -04:00
Mark Backman
156a5690fc
Merge pull request #1647 from mattmatters/fix-typo
...
Fix wating -> waiting typo
2025-04-23 16:27:00 -04:00
Matt Lewis
d42c618398
Fix wating -> waiting typo
2025-04-23 15:55:14 -04:00
Mark Backman
b23ca5a4a8
Merge pull request #1641 from pipecat-ai/mb/11labs-input-params
...
ElevenLabs: InputParams can be set individually
2025-04-23 14:31:37 -04:00
Mark Backman
63a6697a90
ElevenLabs: InputParams can be set individually
2025-04-23 14:28:38 -04:00
Aleix Conchillo Flaqué
f1e45d0f02
Merge pull request #1646 from pipecat-ai/aleix/pipecat-0.0.65
...
update CHANGELOG for 0.0.65
2025-04-23 11:27:25 -07:00
Mark Backman
4ad227ca2d
Merge pull request #1643 from pipecat-ai/mb/gladia-keepalive
...
Add a keepalive task to GladiaSTTService
2025-04-23 14:27:15 -04:00
Aleix Conchillo Flaqué
66cc18194b
update CHANGELOG for 0.0.65
2025-04-23 11:25:32 -07:00
Mark Backman
7d65132c93
Add a keepalive task to GladiaSTTService
2025-04-23 14:21:44 -04:00
Mark Backman
db7d7a4204
Merge pull request #1645 from pipecat-ai/mb/telnyx-auto-hang-up
...
Add auto_hang_up to Telnyx serializer
2025-04-23 14:20:28 -04:00
Mark Backman
7bbac11084
Add docstrings to TelnyxFrameSerializer
2025-04-23 14:13:20 -04:00
Mark Backman
76c8322b57
Make call_sid optional in TwilioFrameSerializer
2025-04-23 14:08:50 -04:00
Mark Backman
7b1cd3523d
Twilio: send only one hangup command
2025-04-23 13:41:36 -04:00
Mark Backman
6bd821ac9a
Add auto_hang_up to Telnyx serializer
2025-04-23 13:29:54 -04:00
Mark Backman
a6d51c343e
Add deepgram and cartesia to foundational example requirements to make quickstart smoother
2025-04-23 08:47:47 -04:00
Mark Backman
1a5cf7a521
Add local run and deployment steps to README
2025-04-22 21:37:35 -04:00
Mark Backman
69491417ec
Fal Smart Turn example
2025-04-22 21:16:41 -04:00
Aleix Conchillo Flaqué
b91780ced2
Merge pull request #1638 from pipecat-ai/aleix/pipecat-0.0.64
...
update CHANGELOG for 0.0.64
2025-04-22 17:35:25 -07:00
Aleix Conchillo Flaqué
8ded666958
update CHANGELOG for 0.0.64
2025-04-22 17:32:06 -07:00
Filipi da Silva Fuchter
2490c804a5
Merge pull request #1631 from pipecat-ai/smart_turn_timeout
...
Returning the turn as complete if the request don’t return a result within SmartTurnParams stop_secs
2025-04-22 19:51:10 -03:00
Filipi Fuchter
dd8856a673
Merge branch 'main' into smart_turn_timeout
...
# Conflicts:
# dot-env.template
2025-04-22 19:49:32 -03:00
Aleix Conchillo Flaqué
e7da08dab1
move smart turn files to audio.turn.smart_turn package
2025-04-22 15:29:31 -07:00
Aleix Conchillo Flaqué
ae60d42016
s/SmartTurnAnalyzer/HttpSmartTurnAnalyzer/ and add FalSmartTurnAnalyzer
2025-04-22 15:13:12 -07:00
Aleix Conchillo Flaqué
50e8d82ece
SmartTurn: some linting cleanup
2025-04-22 14:39:02 -07:00
Mark Backman
cc9901a82f
Replace httpx with aiohttp
2025-04-22 17:14:19 -04:00
Aleix Conchillo Flaqué
1fd43e8a3f
Merge pull request #1636 from pipecat-ai/aleix/examples-logging
...
examples: always use loguru for logging
2025-04-22 13:06:40 -07:00
Aleix Conchillo Flaqué
fdc508a1a5
examples: always use loguru for logging
2025-04-22 11:51:49 -07:00
Mark Backman
37269db247
Merge pull request #1634 from pipecat-ai/mb/twilio-end-call
...
Automatically hangup Twilio calls
2025-04-22 14:05:10 -04:00
Mark Backman
51269aabbd
Added cancel method to WebsocketServerOutputTransport
2025-04-22 13:58:39 -04:00
Mark Backman
74ecc19e09
Code review feedback
2025-04-22 13:54:12 -04:00
Mark Backman
c6d48c16df
Add twilio to pyproject.toml, update demo to use twilio option
2025-04-22 13:01:56 -04:00
Mark Backman
873d84aa09
Twilio serializer to return None
2025-04-22 12:50:11 -04:00
Mark Backman
7360866c97
Add docstrings
2025-04-22 12:49:17 -04:00
Mark Backman
81f4768661
Automatically hangup Twilio calls
2025-04-22 12:45:34 -04:00
Vanessa Pyne
972d65f61b
Merge pull request #1628 from pipecat-ai/vp-typo-fixes
...
typo fixes in phone-chatbot example
2025-04-22 10:05:56 -05:00
Mark Backman
1da9d398e3
Merge pull request #1619 from pipecat-ai/mb/grok-3-beta
...
GrokLLMService uses grok-3-beta as default model
2025-04-22 10:33:32 -04:00
Filipi Fuchter
7358bc6428
Returning the turn as complete if the request don’t return a result within SmartTurnParams stop_secs
2025-04-22 10:35:14 -03:00
vipyne
a6af499f84
typo fixes in phone-chatbot example
2025-04-21 23:49:13 -05:00
Aleix Conchillo Flaqué
f9d1a53e28
Merge pull request #1609 from pipecat-ai/aleix/pyproject-py-typed
...
pyproject: fix license fields
2025-04-21 16:14:22 -07:00
Mark Backman
3f3010af79
Add a SmartTurnMetricsData class, emitted by Metrics Frame in response to smart turn responses
2025-04-21 18:56:14 -04:00
Aleix Conchillo Flaqué
a02d47ddbd
Merge pull request #1625 from 0xPatryk/patch-1
...
Fixed AttributeError: object has no attribute '_sample_rate"
2025-04-21 15:40:54 -07:00
Patryk
a649aff3e7
Fixed AttributeError: 'OpenAITTSService' object has no attribute '_sample_rate'
2025-04-21 11:03:45 +02:00
Mark Backman
a9b551d73e
GrokLLMService uses grok-3-beta as default model
2025-04-19 08:05:59 -04:00
Mark Backman
747a821943
Merge pull request #1614 from pipecat-ai/mb/changelog-for-1525
...
Add CHANGELOG entry for PR 1525
2025-04-19 07:10:13 -04:00
Aleix Conchillo Flaqué
010db3ccd5
README: minor update
2025-04-18 20:57:05 -07:00
Aleix Conchillo Flaqué
db773b8b93
Merge pull request #1616 from pipecat-ai/aleix/new-readme
...
make README more fun
2025-04-18 18:15:35 -07:00
Mark Backman
16b7bf71b4
Additional README changes
2025-04-18 21:00:57 -04:00
Aleix Conchillo Flaqué
82d19508a4
make README more fun
2025-04-18 14:37:28 -07:00
Mark Backman
dc3646f0e7
Merge pull request #1615 from pipecat-ai/mb/issue-template
...
Add issue templates and move the pull request template to .github
2025-04-18 14:58:09 -04:00
Mark Backman
62e659cd3a
Update to .yml templates so that types are used
2025-04-18 13:21:01 -04:00
Mark Backman
b2945f44fd
Add issue templates and move the pull request template to .github
2025-04-18 12:17:46 -04:00
Mark Backman
618fbef81c
Add CHANGELOG entry for PR 1525
2025-04-18 11:32:34 -04:00
Mark Backman
70c42dfa6e
Merge pull request #1525 from shaiyon/google-default-creds
...
Enable usage of Application Default Credentials in Google services
2025-04-18 11:31:08 -04:00
Mark Backman
9ab374dd1f
Merge pull request #1612 from pipecat-ai/mb/07g-stt-model
...
examples: Fix 07g by changing STT model
2025-04-18 08:04:20 -04:00
Mark Backman
cc6d284417
examples: Fix 07g by changing STT model
2025-04-18 07:13:34 -04:00
Filipi da Silva Fuchter
f77d8f0b6f
Merge pull request #1611 from pipecat-ai/smart_turn_changelog
...
Mentioning the Smart Turn Detection into the changelog.
2025-04-17 23:02:57 -03:00
Varun Singh
9c0beb05cf
Merge pull request #1597 from pipecat-ai/vr000m-opus-added
...
Changing default codec to OPUS for telephony
2025-04-17 18:42:12 -07:00
Aleix Conchillo Flaqué
858981c404
Merge pull request #1610 from pipecat-ai/aleix/add-base-turn-analyzer
...
audio: add BaseTurnAnalyzer class
2025-04-17 18:38:08 -07:00
Aleix Conchillo Flaqué
9eed225aa2
audio: add BaseTurnAnalyzer class
2025-04-17 18:37:52 -07:00
Filipi Fuchter
9f7371e485
Mentioning the Smart Turn Detection into the changelog.
2025-04-17 22:31:40 -03:00
Aleix Conchillo Flaqué
d77c37ff14
pyproject: add py.typed (PEP 561)
2025-04-17 17:29:04 -07:00
Aleix Conchillo Flaqué
b4916f9dae
pyproject: fix license fields
2025-04-17 17:28:14 -07:00
Aleix Conchillo Flaqué
004a920920
Merge pull request #1563 from Bnowako/packaging-type-information
...
Add marker file for static type checkers
2025-04-17 17:26:15 -07:00
Filipi da Silva Fuchter
203c5a3a60
Merge pull request #1592 from pipecat-ai/smart_turn
...
Smart turn
2025-04-17 18:21:47 -03:00
Filipi Fuchter
7f6fb1754b
Merge remote-tracking branch 'origin/smart_turn' into smart_turn
2025-04-17 17:53:53 -03:00
Filipi Fuchter
a390ce13a4
Removing the UserEndOfTurnFrame
2025-04-17 17:53:31 -03:00
Filipi da Silva Fuchter
61d31d1c40
Restoring stop_secs to default value.
...
Co-authored-by: Mark Backman <mark@daily.co >
2025-04-17 17:44:47 -03:00
Filipi da Silva Fuchter
e872ff943a
Using the default model for OpenAi.
...
Co-authored-by: Mark Backman <mark@daily.co >
2025-04-17 17:43:39 -03:00
Filipi da Silva Fuchter
c71005e249
Using the default model for OpenAi.
...
Co-authored-by: Mark Backman <mark@daily.co >
2025-04-17 17:43:23 -03:00
Filipi Fuchter
6e06bf97c0
Preventing emitting the UserStartedSpeaking event multiple times.
2025-04-17 17:21:29 -03:00
Filipi Fuchter
a80dc94e91
Fixing ruff format.
2025-04-17 16:47:17 -03:00
Filipi Fuchter
3ea9cfd251
Keeping the _speech_triggered as true if the state is incomplete.
2025-04-17 16:46:15 -03:00
Filipi Fuchter
a80f82cdb6
Moving the environment variables to inside the demo.
2025-04-17 16:28:50 -03:00
Aleix Conchillo Flaqué
d24bab354f
Merge pull request #1607 from pipecat-ai/aleix/fix-websocket-disconnects
...
services: fix TTS websocket services disconnections
2025-04-17 12:27:52 -07:00
Filipi Fuchter
53ee3fb64c
Changing the log levels used in smart_turn
2025-04-17 16:14:13 -03:00
Filipi Fuchter
3599761e4e
Changing the default behavior to only use the last vad segment, and increasing the default stop_secs to 3
2025-04-17 16:07:03 -03:00
Aleix Conchillo Flaqué
c0b3fe3985
services: only read from TTS websocket if websocket connection established
2025-04-17 11:54:07 -07:00
Aleix Conchillo Flaqué
497d48b6c8
services: fix TTS websocket services disconnections
...
Fixes #1467
2025-04-17 11:29:49 -07:00
Filipi Fuchter
e179916c9c
Creating a new param use_only_last_vad_segment
2025-04-17 11:49:51 -03:00
Filipi Fuchter
b0b38beb19
Returning the max duration back to 8 seconds.
2025-04-17 11:39:48 -03:00
Filipi Fuchter
8577139d21
Fixing to keep the last max samples.
2025-04-17 11:39:06 -03:00
Filipi Fuchter
e2fbbb4b40
Renaming the smart turn classes.
2025-04-17 10:43:21 -03:00
Filipi Fuchter
88ce117e84
Changing the max duration default value to 16 seconds.
2025-04-17 10:35:13 -03:00
Filipi Fuchter
266537c3f4
Fixing to respect the stop_secs.
2025-04-17 10:07:08 -03:00
Filipi Fuchter
230d2f80fa
Merge branch 'main' into smart_turn
2025-04-17 09:36:30 -03:00
Filipi Fuchter
3f0688aefa
Testing smart turn using stop_secs as 5 seconds
2025-04-17 09:36:03 -03:00
Filipi da Silva Fuchter
5be3e6979e
Merge pull request #1533 from pipecat-ai/daily_small_webrtc
...
Example interoping between SmallWebRTC and Daily
2025-04-17 09:19:23 -03:00
Mark Backman
9c19cff818
Merge pull request #1585 from ArmanJR/main
...
Troubleshooting SSL error
2025-04-16 22:46:45 -04:00
Mark Backman
95f3537bde
Merge pull request #1598 from pipecat-ai/mb/11labs-http-timestamps
...
Added word/timestamp pairs to ElevenLabsHttpTTSService
2025-04-16 22:38:26 -04:00
Mark Backman
7ff748defd
Merge pull request #1600 from pipecat-ai/mb/11labs-previous-text
...
Add previous_text context to ElevenLabsHttpTTSService
2025-04-16 22:33:38 -04:00
Mark Backman
2dafbee2aa
Code review fixes
2025-04-16 22:29:33 -04:00
Mark Backman
1e0a9d7b06
Add previous_text context to ElevenLabsHttpTTSService
2025-04-16 22:22:08 -04:00
Mark Backman
4a23e138b1
Added word/timestamp pairs to ElevenLabsHttpTTSService
2025-04-16 22:20:51 -04:00
Mark Backman
384f80983f
Added word/timestamp pairs to ElevenLabsHttpTTSService
2025-04-16 21:55:00 -04:00
Aleix Conchillo Flaqué
f6f01ea7e4
Merge pull request #1588 from pipecat-ai/aleix/llm-aggregator-params
...
LLM aggregator params
2025-04-16 15:25:21 -07:00
Aleix Conchillo Flaqué
f385cc0460
pyproject: add websockets as google dependency
2025-04-16 15:19:25 -07:00
Aleix Conchillo Flaqué
e97de43de2
add LLMUserAggregatorParams and LLMAssistantAggregatorParams
2025-04-16 15:19:19 -07:00
Aleix Conchillo Flaqué
8299c96ad4
Merge pull request #1603 from pipecat-ai/aleix/deepgram-tavus-fixes
...
deepgram/tavus fixes
2025-04-16 14:55:45 -07:00
Aleix Conchillo Flaqué
e9af585edd
DeepgramTTSService: re-add base_url to constructor
2025-04-16 14:54:02 -07:00
Aleix Conchillo Flaqué
31f7082d12
DeepgramTTSService: use Deepgram's asyncrest instead of asyncio.to_thread
2025-04-16 14:40:59 -07:00
Aleix Conchillo Flaqué
6cea71270e
tts: use smaller audio chunk sizes
2025-04-16 14:40:59 -07:00
Aleix Conchillo Flaqué
d05b2d0e8d
TavusVideoService: fix rate limiting and max size
2025-04-16 14:40:59 -07:00
Filipi Fuchter
a458c1e92b
Improving the README and fixing the env.example
2025-04-16 18:38:48 -03:00
Filipi Fuchter
5bbf1d0209
Example interoping between SmallWebRTC and Daily.
2025-04-16 17:14:12 -03:00
Mark Backman
235cd9cecc
Merge pull request #1586 from rahultayal22/rah_google_vertex_issue
...
Fixed params issue in Google Vertex ai
2025-04-16 14:56:46 -04:00
Mark Backman
829f3ed2db
Merge pull request #1601 from pipecat-ai/mb/eject-at-exp-token
...
Add eject_at_token_exp to Daily REST helpers, modify default values
2025-04-16 14:54:41 -04:00
Rahul Tayal
ac64f0ba91
Run ruff on code
2025-04-16 23:19:09 +05:30
Rahul Tayal
ce41a7585b
Resolved comment to update change log
2025-04-16 22:24:25 +05:30
Mark Backman
ce92dfb5ec
Add eject_at_token_exp to Daily REST helpers, modify default values
2025-04-16 12:26:33 -04:00
Mark Backman
ee132a2188
Merge pull request #1596 from pipecat-ai/mb/gpt-4.1
...
Update services and examples to use gpt-4.1 by default
2025-04-16 08:37:48 -04:00
Mark Backman
5f3bbf9828
Rely on default OpenAI model for examples and tests
2025-04-16 08:33:34 -04:00
Mark Backman
55d1d81430
Merge pull request #1595 from pipecat-ai/mb/rtvi-start-convo
...
Update client/server demos to kick off conversation in on_client_read…
2025-04-16 08:23:16 -04:00
Filipi Fuchter
8e36bdbed7
Adding some comments to the code.
2025-04-16 09:11:27 -03:00
Filipi Fuchter
cd8bd7f487
Adding some comments to the code.
2025-04-16 08:58:40 -03:00
Filipi Fuchter
5fa47b7a5c
Adding the dependencies for the remote smart turn
2025-04-16 08:45:01 -03:00
Filipi Fuchter
616961b487
Stop removing segments from the end
2025-04-16 08:04:38 -03:00
Filipi Fuchter
650d4d9ee2
Changing the start speech time and adding logs.
2025-04-16 07:55:20 -03:00
Filipi Fuchter
2627cb6bf2
Allowing to define SmartTurnParams
2025-04-16 07:13:13 -03:00
Filipi Fuchter
0e4115049b
Refactoring to use keep alive sessions.
2025-04-16 06:44:57 -03:00
Filipi Fuchter
3ebef9346f
Adding support for RemoteSmartTurn
2025-04-16 06:33:42 -03:00
Filipi Fuchter
3e2d21779f
Refactoring the BaseEndOfTurnAnalyzer to include most of the logic
2025-04-16 06:11:56 -03:00
Filipi Fuchter
cfefcac35f
Resetting the silence frames when the user speaks.
2025-04-15 20:51:36 -03:00
Filipi Fuchter
57b39c084f
Triggering to check if the turn is complete based on the maximum timeout
2025-04-15 20:42:41 -03:00
Filipi Fuchter
11b6de0900
Triggering to check if the turn is complete each time the user stops speaking based on the vad
2025-04-15 17:28:00 -03:00
Varun Singh
824bc9bf16
Update dial.js
2025-04-15 12:48:33 -07:00
Varun Singh
d0ddef6c12
Update server.py
2025-04-15 12:37:33 -07:00
Mark Backman
ad40a0f076
Update OpenAILLMService and OpenPipeLLMService to use gpt-4.1 by default
2025-04-15 15:11:05 -04:00
Filipi Fuchter
e6325a8229
Integrating with the smart turn model to predict
2025-04-15 16:01:09 -03:00
Mark Backman
6d10732889
Update OpenAILLMService examples to use gpt-4.1
2025-04-15 14:59:55 -04:00
Mark Backman
fdb46a0fa9
Update client/server demos to kick off conversation in on_client_ready handler
2025-04-15 14:50:38 -04:00
Filipi Fuchter
3588b06718
Adding missing torch dependency.
2025-04-15 12:28:36 -03:00
Filipi Fuchter
73874f6ec0
Loading the smart turn model.
2025-04-15 12:11:06 -03:00
Filipi Fuchter
6ab9a8ad7f
Starting to create a local smart turn
2025-04-15 11:24:39 -03:00
Filipi Fuchter
821e303249
Bringing Aleix initial implementation for the smart turn.
2025-04-15 10:21:40 -03:00
chadbailey59
efae26a5a8
Client connect/disconnect events for DailyTransport ( #1544 )
...
* added multi transport example
* added working example
* restructured example and added readme
* removed image
* cleanup
* changed data type of callback signature
* removed pipecat example
* added changelog
2025-04-14 15:56:41 -05:00
Aleix Conchillo Flaqué
d16ace22ac
Merge pull request #1583 from pipecat-ai/aleix/soundfilemixer-constructor-updates
...
SoundfileMixer: add mixing argument and require keywords
2025-04-14 10:59:30 -07:00
Rahul Tayal
001c26b79c
Fixed params issue in Google Vertex ai
2025-04-14 23:29:16 +05:30
Arman
8dc4f1cda0
Troubleshooting SSL error
2025-04-14 13:39:53 -04:00
Aleix Conchillo Flaqué
ab6be11a0e
SoundfileMixer: add mixing argument and require keywords
2025-04-14 08:30:56 -07:00
Filipi da Silva Fuchter
054158b0ff
Merge pull request #1579 from pipecat-ai/fixing_smallwebrtc_issue
...
Fixed an issue in `SmallWebRTCTransport`
2025-04-14 10:44:22 -03:00
Filipi da Silva Fuchter
174cf13abd
Merge pull request #1580 from pipecat-ai/fixing_voice_agent_example
...
Fixing the voice agent example to always create the video transceiver.
2025-04-14 10:44:07 -03:00
Filipi Fuchter
099d2c02e1
Fixing the voice agent example to always create the video transceiver.
2025-04-14 10:41:39 -03:00
Filipi Fuchter
e1108466f6
Fixed an issue in SmallWebRTCTransport where an error was thrown if the client did not create a video transceiver.
2025-04-14 10:36:25 -03:00
Mark Backman
edd53d425e
Merge pull request #1577 from pipecat-ai/hush/trackStoppedSimpleChatbot
...
docs: Fix TrackStopped typo in SimpleChatbot
2025-04-14 08:32:58 -04:00
James Hush
b160cf34e9
Remove formatting
2025-04-14 15:13:45 +08:00
James Hush
dae3b927e1
docs: Fix TrackStopped typo in SimpleChatbot
2025-04-14 15:12:17 +08:00
Mark Backman
bd3d30111a
Merge pull request #1569 from pipecat-ai/pipecat-0.0.63
...
Update CHANGELOG for 0.0.63
2025-04-11 20:09:58 -04:00
Mark Backman
8c7e16e717
Update CHANGELOG for 0.0.63
2025-04-11 20:04:50 -04:00
Mark Backman
f6accbd510
Updating foundation examples to use SmallWebRTCTransport and pipecat-ai-small-webrtc-prebuilt ( #1534 )
...
Co-authored-by: Filipi Fuchter <filipi@daily.co >
2025-04-11 19:44:16 -04:00
Mark Backman
8186219879
Merge pull request #1513 from pipecat-ai/mb/gemini-context-formatting
...
Fix: GeminiMultimodalLiveLLMService, add spaces between words in assi…
2025-04-11 15:30:51 -04:00
Mark Backman
b9a2ed5b58
Fix: GeminiMultimodalLiveLLMService, add spaces between words in assistant context messages
2025-04-11 15:14:52 -04:00
Mark Backman
7ac12ffc85
Merge pull request #1550 from pipecat-ai/mb/cartesia-spelling-timestamps
...
Fix: Cartesia's spelling feature adds whole word to context
2025-04-11 15:13:55 -04:00
Filipi da Silva Fuchter
f623cf96f7
Merge pull request #1560 from pipecat-ai/bot_left_signalling
...
Bot left signalling message
2025-04-11 16:08:01 -03:00
Mark Backman
06be20eb16
Fix: Cartesia's spelling feature adds whole word to context
2025-04-11 15:04:58 -04:00
Filipi Fuchter
816b3a9545
Fixing ruff format
2025-04-11 15:37:16 -03:00
Filipi Fuchter
255666925b
Sending a new signalling message peerLeft.
2025-04-11 15:35:50 -03:00
Mark Backman
0df065fda4
Merge pull request #1566 from pipecat-ai/mb/gemini-live-beta
...
Add Gemini Live support for languages, native model transcriptions, media resolution, and VAD settings
2025-04-11 12:40:04 -04:00
Mark Backman
241a947b8b
Add CHANGELOG entries
2025-04-11 11:46:48 -04:00
Mark Backman
e28c199dd1
Add GeminiMultimodalLiveLLMService support for VAD Params
2025-04-11 11:46:48 -04:00
Filipi da Silva Fuchter
6220ee4efb
Merge pull request #1565 from pipecat-ai/fixing_video_transform_demo
...
Fixing the video transform demo to use 20ms audio.
2025-04-11 11:45:29 -03:00
Filipi Fuchter
b650d043bf
Fixing the video transform demo to use 20ms audio.
2025-04-11 11:22:41 -03:00
Mark Backman
121e6d2157
Add media resolution support to GeminiMultimodalLiveLLMService
2025-04-11 10:18:29 -04:00
Mark Backman
dbd7869de7
Add model transcription support
2025-04-11 10:02:52 -04:00
Mark Backman
b7d56d5ff0
Add language support for Gemini Live
2025-04-11 09:21:14 -04:00
Bnowako
61cba0136f
Add marker file for static type checkers
2025-04-11 11:00:57 +02:00
Filipi da Silva Fuchter
ed743b55d4
Merge pull request #1561 from pipecat-ai/fixing_voice_agent
...
Fixing voice agent example
2025-04-10 23:33:35 -03:00
Filipi Fuchter
fb074895f5
Fixing ruff format.
2025-04-10 23:19:31 -03:00
Filipi Fuchter
d916865ccc
Fixing voice agent example to work with the last released version of pipecat.
2025-04-10 23:10:50 -03:00
Filipi Fuchter
6378a8ccd3
Starting to implement a signalling message to when the bot has left
2025-04-10 23:02:27 -03:00
Aleix Conchillo Flaqué
5dbb5f176b
Merge pull request #1551 from pipecat-ai/aleix/daily-python-0.17.0
...
pyproject: update daily-python to 0.17.0
2025-04-10 09:06:55 -07:00
Filipi da Silva Fuchter
b89f2611f7
Merge pull request #1539 from pipecat-ai/small_wbertc_mute_state
...
SmallWebRTC mute state
2025-04-10 11:26:53 -03:00
Filipi Fuchter
db0f783c55
Updating the video-transform demo to use the latest version of the SmallWebRTCTransport.
2025-04-10 11:23:28 -03:00
Filipi Fuchter
20ec323647
Refactoring the video-transform demo to be able to enable or disable the cam.
2025-04-10 11:23:05 -03:00
Filipi Fuchter
f71c09a4fd
Added support in SmallWebRTCTransport to detect when remote tracks are muted.
2025-04-10 11:22:37 -03:00
Mark Backman
cba4ebfcf9
Merge pull request #1555 from pipecat-ai/mb/gemini-beta-base
2025-04-10 09:01:16 -04:00
Mark Backman
3b9a8946f9
Update GeminiMultimodalLiveLLMService base_url
2025-04-10 08:17:52 -04:00
Mark Backman
db3620c4be
Merge pull request #1553 from balaji-atoa/main
...
feat: change default model name on live api
2025-04-10 08:10:35 -04:00
Mark Backman
11338ea92d
Merge pull request #1552 from pipecat-ai/mb/p2p-capture-image
...
Add image capture to SmallWebRTCTransport
2025-04-10 07:52:13 -04:00
Filipi da Silva Fuchter
90563a4091
Merge pull request #1542 from pipecat-ai/small_webrtc_prebuilt_ui
...
Using the small-webrtc-prebuilt-ui
2025-04-10 07:39:26 -03:00
Filipi da Silva Fuchter
937f5f7cb7
Update examples/p2p-webrtc/video-transform/server/requirements.txt
...
Co-authored-by: Mark Backman <mark@daily.co >
2025-04-10 07:37:23 -03:00
Filipi da Silva Fuchter
4f221b817a
Update examples/p2p-webrtc/video-transform/README.md
...
Co-authored-by: Mark Backman <mark@daily.co >
2025-04-10 07:37:07 -03:00
balaji-atoa
c79c1f65fc
feat: change default model name on live api
2025-04-10 11:59:11 +05:30
Mark Backman
8ad2ad0e59
Add image capture to SmallWebRTCTransport
2025-04-09 23:01:06 -04:00
Aleix Conchillo Flaqué
499b258bf9
pyproject: update daily-python to 0.17.0
2025-04-09 18:59:10 -07:00
Filipi Fuchter
05b6a5ae4b
Improving the video-transform readme
2025-04-09 15:55:13 -03:00
Filipi Fuchter
65fcea28ce
Using the small-webrtc-prebuilt-ui
2025-04-09 15:45:30 -03:00
Kwindla Hultman Kramer
005c0b55b6
Merge pull request #1545 from pipecat-ai/khk/gem-live-0408
...
Gemini Multimodal Live API base_url format fix
2025-04-08 21:46:30 -07:00
Kwindla Hultman Kramer
1828127f41
small fix to wss base_url
2025-04-08 20:22:26 -07:00
Filipi da Silva Fuchter
77ab841cab
Merge pull request #1532 from pipecat-ai/p2p_ios_demo
...
iOS demo for the p2p-webrtc video-transform example
2025-04-07 16:58:06 -03:00
Filipi Fuchter
3bbc75110a
Mentioning the iOS client inside the changelog and fixing the readme.
2025-04-07 16:54:26 -03:00
Filipi Fuchter
b2ce1d9378
Merge branch 'main' into p2p_ios_demo
2025-04-07 16:50:58 -03:00
Filipi Fuchter
58714865df
Using the public version of pipecat-client-ios-small-webrtc
2025-04-07 16:48:18 -03:00
Mark Backman
03b3635b0a
Merge pull request #1521 from pipecat-ai/mb/increase-bot-vad-stop-secs
...
Increase BOT_VAD_STOP_SECS for services with slower speech patterns
2025-04-07 14:44:31 -04:00
Mark Backman
aaa7b5e626
Merge pull request #1524 from pipecat-ai/mb/tts-generate-with-text
...
TTS: Skip generation when there is no text
2025-04-07 14:44:18 -04:00
Varun Singh
0b8486ce39
Merge pull request #1418 from pipecat-ai/vr000m-pcc-dialin-webhook-server
...
Pipecat Cloud: Companion server to handle webhooks for pinless dial-in
2025-04-07 09:00:38 -07:00
Mark Backman
d4ae091ddd
Update port in FastAPI README, add run steps to nextjs README
2025-04-07 11:09:43 -04:00
Mark Backman
9e0a57a6de
Rename directories
2025-04-07 10:44:41 -04:00
Mark Backman
fc4c1e4110
README updates
2025-04-07 10:33:18 -04:00
Mark Backman
9b740d9e72
Merge pull request #1537 from pipecat-ai/mb/azure-tts-lang
...
Fix: Set language for Azure TTS services
2025-04-07 09:46:08 -04:00
Mark Backman
b03563765f
Fix: Set language for Azure TTS services
2025-04-07 09:24:31 -04:00
Filipi Fuchter
a1578bd67a
iOS demo for the p2p-webrtc video-transform example
2025-04-04 16:40:52 -03:00
Filipi da Silva Fuchter
6466573b84
Merge pull request #1498 from pipecat-ai/aiortc_example_ios
...
Improvements for the SmallWebRTCTransport
2025-04-04 16:39:06 -03:00
Filipi Fuchter
b42dc83696
Improvements for the SmallWebRTCTransport:
...
- Wait until the pipeline is ready before triggering the `connected` event.
- Queue messages if the data channel is not ready.
- Update the aiortc dependency to fix an issue where the 'video/rtx' MIME type
was incorrectly handled as a codec retransmission.
- Avoid initial video delays.
2025-04-04 16:33:57 -03:00
Filipi Fuchter
fe5931b884
Updating aiortc to fix an issue where 'video/rtx' MIMEType retransmission incorrectly handled as a codec
2025-04-04 16:28:54 -03:00
Filipi Fuchter
4b438ff7d7
Allowing ngrok connections to the video-transform demo
2025-04-04 16:28:37 -03:00
Filipi da Silva Fuchter
89a8c16676
Merge pull request #1531 from pipecat-ai/fix_chunk_default_value
...
Fixed SmallWebRTCTransport to support dynamic chunk values.
2025-04-04 16:04:05 -03:00
Filipi Fuchter
c4c92585f9
Fixed SmallWebRTCTransport to support dynamic chunk values.
2025-04-04 15:38:12 -03:00
Prem Adithya
c510870736
Merge branch 'pipecat-ai:main' into anthropic-client-bug-fixes
2025-04-04 16:41:04 +11:00
Shaiyon Hariri
af23200511
Use default google creds as fallback when not provided in llm_vertex,stt, and tts
2025-04-03 16:42:58 -04:00
Mark Backman
63146d6f85
TTS: Skip generation when there is no text
2025-04-03 16:15:58 -04:00
Mattie Ruth
ec00edc893
Update client examples to use latest versions ( #1523 )
2025-04-03 15:47:03 -04:00
Mark Backman
a21be058e2
Increase BOT_VAD_STOP_SECS for services with slower speech patterns
2025-04-03 15:25:48 -04:00
Mark Backman
c226c20e12
Merge pull request #1519 from pipecat-ai/mb/ref-docs-toc
...
Docs: Update ToC With Adapters and Observers
2025-04-03 15:19:35 -04:00
Aleix Conchillo Flaqué
78e6669105
Merge pull request #1514 from pipecat-ai/aleix/producer-consumer-processors
...
processors: add ProducerProcessor and ConsumerProcessor
2025-04-03 12:18:49 -07:00
Aleix Conchillo Flaqué
79f29e14dd
processors: add ProducerProcessor and ConsumerProcessor
2025-04-03 09:44:56 -07:00
Mark Backman
d4a00fd080
Merge pull request #1517 from pipecat-ai/mb/update-simple-chatbot-packages
...
Update client packages for simple-chatbot JS and React
2025-04-03 10:07:40 -04:00
Mark Backman
d4186fa115
Merge pull request #1518 from pipecat-ai/mb/openai-verse
...
Add verse voice and bump the OpenAI version
2025-04-03 09:48:09 -04:00
Mark Backman
3536cbcd13
Add docstrings to FunctionSchema, update CONTRIBUTING.md with docstrings guidance, ignore __init__ docstrings if a class is sufficiently documented
2025-04-03 09:21:26 -04:00
Mark Backman
e3bcb70b13
Update ToC With Adapters and Observers
2025-04-03 09:02:09 -04:00
Mark Backman
19a82f9522
Add verse voice and bump the OpenAI version
2025-04-03 08:23:59 -04:00
Mark Backman
8c0a847449
Update client packages for simple-chatbot JS and React
2025-04-03 07:43:25 -04:00
Dominic Stewart
e3704cd1a1
Updated imports to work with pipecat 0.62 ( #1515 )
2025-04-03 15:07:02 +08:00
Dominic Stewart
1ba037865b
Call Transfer demo ( #1348 )
...
* Updated code to dial out to an operator, keep track of operator conversation while escalated and then return to conversation when finished
* Removed unnecessary imports
* Updated bot runner code, added call routing file and then updated the call transfer and voicemail detection examples
* Updated the bot files
* Made prompt one level higher in the body and an array
* Updated call transfer examples to work correctly
* Updated gemini voicemail detection example to work
* Added twilio bot support back to the bot_runner
* Moved some state management, participant management and other logic to the helper file.
* Updated comments
* Updated env and requirements file
* Ran the examples and made sure code works. Still need to work on the prompts a bit
* Fixed format issue
* Add support to disable summary in call transfer
* Added support for operator transfer mode
* Updated readme file
* Updated readme based on feedback, and handling of various properties in the json to be more flexible for future examples
* Updated number of endpoints
* Updated readme to remove fly deployment text and replaced with Pipecat Cloud
* Starting to tweak function calls and prompts
* Updated examples to more consistently call the functions and say what they need to say
* Updated examples
* Updated examples
* Updated examples to work correctly
* Add simple bot versions of dialin and dialout
* Refactored the bot runner file to make adding future examples easier
* Based on feedback, removed examples for multiple LLMs and also adjusted voicemail detection code to be simpler
* Made sure to only capture the users transcription once
* Updated readme with latest changes
* Forgot to update the order of examples in one place
* Fixed formatting issue
* Adjusted based on james feedback
* Changed default_mode to default_calltransfer_mode
2025-04-03 09:03:23 +09:00
Aleix Conchillo Flaqué
909520f76e
Merge pull request #1508 from pipecat-ai/mb/gemini-push-stop-speaking-frame
...
LLMAssistantContextAggregator should push BotStoppedSpeakingFrames
2025-04-02 16:25:08 -07:00
Mark Backman
d06cfcd597
Merge pull request #1512 from pipecat-ai/mb/fix-gemini-examples
...
Examples: Fix context_aggregator.assistant() pipeline position
2025-04-02 19:07:09 -04:00
Mark Backman
2579d0cf57
Examples: Fix context_aggregator.assistant() pipeline position
2025-04-02 16:11:03 -04:00
Mark Backman
1ec20b2e74
Merge pull request #1509 from pipecat-ai/mb/openia-voices
...
Add new voices to OpenAITTSService
2025-04-02 15:50:39 -04:00
Mark Backman
55a6e5aa4c
Add new voices to OpenAITTSService
2025-04-02 12:09:36 -04:00
Varun Singh
2229730169
moving to appropriate directory
2025-04-01 23:45:09 -07:00
Varun Singh
24b54c66ee
fixes review comments
2025-04-01 23:39:21 -07:00
Varun Singh
a14205415f
replaced dailyAPIKey with pccApiKey, also allow handling of messages when hmac is missing
2025-04-01 23:34:24 -07:00
Varun Singh
18b56d4a10
Fix README.md
2025-04-01 23:32:50 -07:00
Mark Backman
b85bd91d08
LLMAssistantContextAggregator should push BotStoppedSpeakingFrames
2025-04-01 23:35:09 -04:00
Aleix Conchillo Flaqué
23f3285a7d
Merge pull request #1507 from pipecat-ai/aleix/pipecat-0.0.62
...
update CHANGELOG for 0.0.62
2025-04-01 19:00:06 -07:00
Aleix Conchillo Flaqué
94f6436619
update CHANGELOG for 0.0.62
2025-04-01 18:55:04 -07:00
Aleix Conchillo Flaqué
480692971c
Merge pull request #1506 from pipecat-ai/aleix/websockets-mixer-loop-fixes
...
transports(websocket): close connection from last transport
2025-04-01 18:52:47 -07:00
Aleix Conchillo Flaqué
5df5f6ae4c
transports(websocket): close connection from last transport
2025-04-01 18:32:03 -07:00
Aleix Conchillo Flaqué
6940112ab9
Merge pull request #1504 from pipecat-ai/aleix/base-output-transport-audio-10ms-chunk-update
...
TransportParams: set audio_out_10ms_chunks to 4
2025-04-01 15:15:24 -07:00
Aleix Conchillo Flaqué
80584e9138
TransportParams: set audio_out_10ms_chunks to 4
2025-04-01 15:13:28 -07:00
Aleix Conchillo Flaqué
1fd01e715d
Merge pull request #1503 from pipecat-ai/aleix/function-call-result-system-frame
...
frames: make FunctionCallResultFrame a SystemFrame
2025-04-01 15:08:26 -07:00
Aleix Conchillo Flaqué
a7a1cd0cde
Merge pull request #1502 from pipecat-ai/aleix/test-user-idle-py310
...
tests: fix test_user_idle_processor for python 3.10
2025-04-01 15:08:10 -07:00
Aleix Conchillo Flaqué
e5a6b9d2b4
Merge pull request #1500 from pipecat-ai/aleix/base-output-transport-optimize-bot-speaking
...
BaseOutputTransport: optimize BotSpeakingFrames
2025-04-01 14:59:25 -07:00
Aleix Conchillo Flaqué
169b50af61
frames: make FunctionCallResultFrame a SystemFrame
2025-04-01 14:42:22 -07:00
Aleix Conchillo Flaqué
31311d8ac5
tests: fix test_user_idle_processor for python 3.10
2025-04-01 13:54:59 -07:00
Aleix Conchillo Flaqué
bfd06b321d
BaseOutputTransport: optimize BotSpeakingFrames
2025-04-01 11:11:49 -07:00
Aleix Conchillo Flaqué
3efbcab39c
Merge pull request #1499 from pipecat-ai/aleix/base-output-transport-set-chunks-size
...
BaseOutputTransport: allow setting 10ms output audio chunks
2025-04-01 11:10:34 -07:00
Aleix Conchillo Flaqué
b40ca391f5
BaseOutputTransport: allow setting 10ms output audio chunks
2025-04-01 10:48:36 -07:00
Aleix Conchillo Flaqué
43008c8c5b
Merge pull request #1501 from pipecat-ai/aleix/transcription-processor-interruption
...
TranscriptProcessor: send TranscriptionUpdateFrame after interruption
2025-04-01 10:46:16 -07:00
Aleix Conchillo Flaqué
3a37b11e56
TranscriptProcessor: send TranscriptionUpdateFrame after interruption
2025-04-01 10:21:21 -07:00
Mark Backman
9ea81bc982
Merge pull request #1497 from pipecat-ai/mb/gladia-languages
...
Align languages with Gladia's supported languages, remove audio_enhancer option
2025-04-01 11:54:24 -04:00
Mark Backman
98b499e2e9
Remove audio_enhancer option
2025-04-01 10:26:28 -04:00
Mark Backman
72c8f6c8c3
Update GladiaSTTService language list
2025-04-01 10:17:42 -04:00
Mark Backman
ea61256ddc
Merge pull request #1496 from pipecat-ai/mb/gladia-model
...
Update GladiaSTTService default model
2025-04-01 08:52:13 -04:00
Mark Backman
babafadbe4
Merge pull request #1494 from pipecat-ai/mb/p2p-examples-gitignore
...
Add .gitignore to p2p video-transform example
2025-04-01 07:39:35 -04:00
Mark Backman
a5660f6dc7
Add .gitignore to p2p video-transform example
2025-04-01 07:20:39 -04:00
Aleix Conchillo Flaqué
64ad916c5f
Merge pull request #1492 from pipecat-ai/aleix/downgrade-to-aiohttp-3.11.12
...
pyproject: downgrade to aiohttp 3.11.12
2025-03-31 19:01:04 -07:00
Aleix Conchillo Flaqué
13d0563298
pyproject: downgrade to aiohttp 3.11.12
...
See https://pypi.org/project/aiohttp/#history
2025-03-31 18:59:41 -07:00
Mark Backman
20a1dd066d
Update GladiaSTTService default model
2025-03-31 19:02:28 -04:00
Mark Backman
56f6e3ceb4
Merge pull request #1490 from pipecat-ai/fix_ruff_format
...
Fixing ruff format.
2025-03-31 18:37:19 -04:00
Mark Backman
3afab63870
Merge pull request #1488 from pipecat-ai/mb/stt-mute-filter-logline
...
Clarify the mute/unmute log line in STTMuteFilter
2025-03-31 18:35:47 -04:00
Filipi Fuchter
d3b9a0aab0
Fixing ruff format.
2025-03-31 19:17:40 -03:00
Filipi da Silva Fuchter
6b21081a7d
Merge pull request #1487 from pipecat-ai/smallwebrtc_ios_support
...
SmallWebRTCTransport: Improvements to work with mobile
2025-03-31 19:10:03 -03:00
Aleix Conchillo Flaqué
648bdea64c
fix formatting
2025-03-31 15:04:45 -07:00
milo157
ed387e876a
Merge pull request #1486 from CerebriumAI/feature/ultravox
...
Feature/ultravox - bug fixes
2025-03-31 15:03:26 -07:00
Aleix Conchillo Flaqué
2fb9aa4d76
Merge pull request #1489 from pipecat-ai/aleix/base-ai-services-restructure
...
services: restructure base AI services into modules
2025-03-31 15:00:13 -07:00
Aleix Conchillo Flaqué
9eba8f1637
services: restructure base AI services into modules
2025-03-31 13:53:36 -07:00
Mark Backman
43c255f58a
Clarify the mute/unmute log line in STTMuteFilter
2025-03-31 16:45:02 -04:00
Filipi Fuchter
121e70a029
Improvements on the video transform example to work on mobile.
2025-03-31 17:11:38 -03:00
Filipi Fuchter
70e28a0547
Adding support to yuvj420p which is the format that we receive from mobile iOS.
2025-03-31 13:12:20 -03:00
Mark Backman
c9a93f2504
Merge pull request #1469 from pipecat-ai/mb/update-gladia
...
Refactor GladiaSTTService to support addition params
2025-03-31 11:18:32 -04:00
Adithya Suresh
e8783f6a33
Handle cache token counts being none
2025-03-31 15:25:11 +11:00
Mark Backman
8a12470efd
Reorganize into a directory
2025-03-30 20:01:40 -04:00
Mark Backman
05d53bc66f
Refactor GladiaSTTService; add support for additional params
2025-03-30 19:54:55 -04:00
Aleix Conchillo Flaqué
e763cd7bee
Merge pull request #1471 from pipecat-ai/aleix/services-restructure
...
services: restructure services into folders
2025-03-30 16:23:26 -07:00
Aleix Conchillo Flaqué
94ec5118e6
track already reported deprecated modules (mark's update)
2025-03-30 16:21:00 -07:00
Aleix Conchillo Flaqué
7203ef6885
examples: use new services packages
2025-03-30 16:21:00 -07:00
Aleix Conchillo Flaqué
3074a62bb1
services: restructure services into folders
2025-03-30 16:21:00 -07:00
Mark Backman
31712b84ac
Merge pull request #1479 from pipecat-ai/mb/qwen-pyproject-entry
2025-03-29 22:36:40 -04:00
Mark Backman
c99ec0b0b7
Add placeholder entry for qwen to pyproject.toml
2025-03-29 20:20:48 -04:00
Mark Backman
cd7abd2962
Merge pull request #1478 from pipecat-ai/mb/alibaba-cloud-offerings
...
Add QwenLLMService
2025-03-29 20:13:21 -04:00
Mark Backman
c7544954cf
Merge pull request #1476 from pipecat-ai/mb/ref-docs-mem0-mlx-whisper
...
Update reference docs generation for mem0 and mlx-whisper
2025-03-29 20:12:58 -04:00
Mark Backman
4f390b15a3
Merge pull request #1477 from pipecat-ai/mb/fix-mem0-example-number
...
Renumber mem0 example, small changelog updates
2025-03-29 20:04:45 -04:00
Mark Backman
f2a05b065d
Add QwenLLMService
2025-03-29 19:43:37 -04:00
Mark Backman
5d5041eb2b
Renumber mem0 example, small changelog updates
2025-03-29 18:45:39 -04:00
Mark Backman
f4dc66cb13
Update reference docs generation for mem0 and mlx-whisper
2025-03-29 18:42:08 -04:00
Mark Backman
b88744b18d
Merge pull request #1475 from pipecat-ai/khk/whisper-mlx-example
...
Example and CHANGELOG for WhisperSTTServiceMLX service
2025-03-29 18:09:17 -04:00
Kwindla Hultman Kramer
209de2638d
WhisperSTTServiceMLX example and CHANGELOG
2025-03-29 18:04:07 -04:00
Mark Backman
5d829fb6a9
Merge pull request #1474 from pipecat-ai/khk/mem0-changelog
...
Changelog entry for mem0 service
2025-03-29 18:02:32 -04:00
Mark Backman
a978a5cd4a
Fix Whisper formatting
2025-03-29 17:57:50 -04:00
Mark Backman
b9ea3f0fd9
Update README, organize pyproject.toml
2025-03-29 17:56:17 -04:00
Kwindla Hultman Kramer
d2f5ee2915
Changelog entry for mem0 service
2025-03-29 17:55:26 -04:00
Mark Backman
acddddc508
Merge pull request #1472 from pipecat-ai/mb/small-webrtc-readme
...
Add README link for SmallWebRTCTransport
2025-03-29 17:38:15 -04:00
Kwindla Hultman Kramer
0c2c6fa771
Merge pull request #1383 from zboyles/add-mlx-whisper
...
Added Support for MLX Whisper models on Apple M-Series
2025-03-29 14:25:37 -07:00
Mark Backman
80088c6138
Merge pull request #1473 from pipecat-ai/mb/ref-docs-updates
...
Update packages for auto-generating docs
2025-03-29 17:20:46 -04:00
Kwindla Hultman Kramer
766639a9a4
Merge pull request #1388 from deshraj/user/dyadav/mem0-integration
...
Added mem0 service.
2025-03-29 13:12:58 -07:00
Mark Backman
675e2b1498
Update packages for auto-generating docs
2025-03-29 08:21:58 -04:00
Mark Backman
af6c23f7b1
Add README link for SmallWebRTCTransport
2025-03-28 21:29:24 -04:00
Aleix Conchillo Flaqué
d212e88030
Merge pull request #1468 from pipecat-ai/aleix/smallwebrtc-updates
...
transports(webrtc): some SmallWebRTC updates
2025-03-28 14:41:45 -07:00
Aleix Conchillo Flaqué
d6758bf2ad
transports(webrtc): rename appMessage to app-message
2025-03-28 14:35:11 -07:00
Filipi Fuchter
5abfb15300
Registering the event handlers and fixing the examples.
2025-03-28 17:30:06 -03:00
Aleix Conchillo Flaqué
f576254d61
transports(webrtc): some SmallWebRTC updates
2025-03-28 13:19:23 -07:00
Aleix Conchillo Flaqué
a90807a3d2
Merge pull request #1465 from roey-priel/main
...
Tavus / Deepgram TTS compatibility
2025-03-28 08:43:09 -07:00
roey
a06fc4ce50
yield outside of the loop
2025-03-28 08:41:36 -07:00
roey
80cb4497f0
Merge pull request #1 from roey-priel/deepgram-tts-tavus-compatibility
...
Update deepgram.py
2025-03-27 17:06:33 -07:00
roey
8aa878c5e9
Update deepgram.py
2025-03-27 17:05:29 -07:00
Filipi da Silva Fuchter
e982b3d919
Merge pull request #1290 from pipecat-ai/aiortc_example
...
P2P WebRTC transport option to Pipecat
2025-03-27 18:29:44 -03:00
Filipi Fuchter
8945fd1fc6
Starting the server by default as localhost.
2025-03-27 18:27:56 -03:00
Filipi Fuchter
16b97d151b
Adding the SmallWebRTCTransport to the changelog.
2025-03-27 17:56:12 -03:00
Filipi Fuchter
f7ac142ad2
Merge branch 'main' into aiortc_example
2025-03-27 17:50:46 -03:00
Filipi da Silva Fuchter
2355067f61
Merge pull request #1441 from pipecat-ai/aiortc_example_small_webrtc_transport
...
P2P WebRTC transport - example improvements.
2025-03-27 17:49:12 -03:00
Filipi Fuchter
76f9626d35
Using the @pipecat-ai/small-webrtc-transport from npm.
2025-03-27 17:48:32 -03:00
Filipi da Silva Fuchter
f82c2566e8
Merge pull request #1270 from pipecat-ai/improve_protobuf_serializer
...
Added support to `ProtobufFrameSerializer` to send the transport messages
2025-03-27 17:28:37 -03:00
Filipi Fuchter
b6007bb3d6
Added support to ProtobufFrameSerializer to send the transport messages
2025-03-27 17:26:03 -03:00
Filipi Fuchter
311a5360ad
Renaming the example to p2p-webrtc
2025-03-27 16:46:00 -03:00
Filipi Fuchter
62cb0376f2
Changing the file types.
2025-03-27 16:34:40 -03:00
Filipi Fuchter
91a69b7029
Improving the readmes for the webrtc examples.
2025-03-27 16:32:46 -03:00
Mark Backman
1d4d7f28a1
Merge pull request #1463 from pipecat-ai/mb/add-piper-readme
...
Add Piper to README
2025-03-27 08:52:31 -04:00
Mark Backman
a55a7bbb96
Add Piper to README
2025-03-27 08:03:16 -04:00
Mark Backman
a394b35e85
Merge pull request #1459 from pipecat-ai/mb/issue-1454
...
Fix: GoogleTTSService was emitting two TTSStoppedFrames
2025-03-27 08:00:16 -04:00
Mark Backman
aa85df4fd6
Fix: GoogleTTSService was emitting two TTSStoppedFrames
2025-03-27 07:55:19 -04:00
Filipi da Silva Fuchter
3bb1f5f7a8
Merge pull request #1130 from pedro-a-n-moreira/piper-tts
...
Add support for Piper TTS
2025-03-27 08:08:05 -03:00
Filipi Fuchter
7c115f9d59
Merge branch 'main' into piper-tts
...
# Conflicts:
# CHANGELOG.md
2025-03-27 08:01:38 -03:00
Filipi Fuchter
a82b847971
Fixing ruff format.
2025-03-27 07:58:53 -03:00
Filipi Fuchter
50515aa842
Adding PiperTTSService to the changelog.
2025-03-27 07:50:47 -03:00
Filipi Fuchter
b348fde32b
Refactoring PiperTTSService to match the others TTS services provided by Pipecat and fixing noise issue due to wav header.
2025-03-27 07:46:38 -03:00
Filipi Fuchter
45787520b2
Refactoring the piper test to use run_test provided by Pipecat
2025-03-27 07:45:28 -03:00
Filipi Fuchter
053bf72da2
Adding pytest-aiohttp to the dev requirements.
2025-03-27 07:44:46 -03:00
Filipi Fuchter
ca4893397a
Creating a foundational example which uses the piper service.
2025-03-27 07:44:26 -03:00
Filipi Fuchter
c1f6a4e079
Adding PIPER_BASE_URL to the env template.
2025-03-27 07:44:05 -03:00
Aleix Conchillo Flaqué
135ed811f1
Merge pull request #1460 from pipecat-ai/aleix/segmented-tts-ignore-emulated-frames
...
segmented tts ignore emulated frames
2025-03-26 16:03:59 -07:00
Aleix Conchillo Flaqué
055a3f1c53
LLMAssistantContextAggregator: stop emulations if the user starts speaking
2025-03-26 14:39:12 -07:00
Aleix Conchillo Flaqué
750bb88586
SegmentedSTTService: ignore emulated frames
2025-03-26 14:38:48 -07:00
Aleix Conchillo Flaqué
c4f9171fe1
frames: indicate if UserStartedSpeakingFrame/UserStoppedSpeakingFrame are emulated
2025-03-26 14:37:36 -07:00
Filipi Fuchter
d223201c3f
Merge branch 'main' into piper-tts
...
# Conflicts:
# test-requirements.txt
2025-03-26 16:47:45 -03:00
Mark Backman
86701fd3c7
Merge pull request #1457 from pipecat-ai/mb/fix-rtvi-observer-gemini
...
Fix: Resolve an issue where Google LLM context messages were causing …
2025-03-26 14:18:37 -04:00
Mark Backman
b414077a07
Fix: Resolve an issue where Google LLM context messages were causing a TypeError
2025-03-26 13:55:42 -04:00
kompfner
15f23929e9
Merge pull request #1455 from pipecat-ai/prepare-0.0.61
...
Update CHANGELOG for 0.0.61
2025-03-26 13:50:29 -04:00
Mark Backman
cc9e4047d0
Merge pull request #1447 from nicougou/feat/support_tts_instruct
...
feature/support instructions in OpenAITTSService
2025-03-26 13:35:41 -04:00
Paul Kompfner
4ef4dcefce
Update CHANGELOG for 0.0.61
2025-03-26 13:06:31 -04:00
kompfner
f3caa8cf7a
Merge pull request #1452 from pipecat-ai/daily-python-0.16.1
...
Bump daily-python dependency to 0.16.1 to pick up a bugfix
2025-03-26 13:01:38 -04:00
Mark Backman
e5470fec7a
Merge pull request #1453 from pipecat-ai/khk/groq
...
New GroqTTSService
2025-03-26 12:49:18 -04:00
Mark Backman
887c197bce
Add sample_rate to the constructor
2025-03-26 12:29:40 -04:00
Kwindla Hultman Kramer
f5d49fea81
try/catch import of groq SDK
2025-03-26 12:29:40 -04:00
Kwindla Hultman Kramer
e087f6ec5d
GroqTTSService added to CHANGELOG.md
2025-03-26 12:29:39 -04:00
Kwindla Hultman Kramer
406f5a395b
fix class heirarchy and audio chunking
2025-03-26 12:29:18 -04:00
Kwindla Hultman Kramer
060bb4c26b
wip
2025-03-26 12:29:18 -04:00
Nico
499e69846d
review: add changelog entries
2025-03-26 17:13:30 +01:00
Paul Kompfner
e6e339a02e
Bump daily-python dependency to 0.16.1 to pick up a bugfix
2025-03-26 11:22:23 -04:00
Nico
dc2ee2bf0a
review: remove websocket_base_url
2025-03-26 15:41:42 +01:00
Nico
d982fc35d8
fix: formatter
2025-03-26 15:41:42 +01:00
Nico
72d373e565
feature/support instructions in OpenAITTSService
2025-03-26 15:41:42 +01:00
Aleix Conchillo Flaqué
59fdfe697d
Merge pull request #1449 from pipecat-ai/aleix/google-assistant-aggregator-function-call-result
...
GoogleAssistantContextAggregator: allow any value as function call result
2025-03-26 07:25:34 -07:00
Filipi da Silva Fuchter
97c9e0676e
Merge pull request #1451 from pipecat-ai/set-tool-choice-from-context-aggregator
...
Set tool choice from context aggregator
2025-03-26 09:12:26 -03:00
Filipi Fuchter
aeac40312e
Added the feature to change dynamically the tool choice to the changelog.
2025-03-26 09:06:29 -03:00
Filipi Fuchter
ce9f75a851
Fixing the tool choice extra type to be a dict instead of string.
2025-03-26 08:17:50 -03:00
Filipi Fuchter
c45d852f6b
Merge branch 'main' into set-tool-choice-from-context-aggregator
...
# Conflicts:
# src/pipecat/processors/aggregators/llm_response.py
2025-03-26 07:14:57 -03:00
Deshraj Yadav
55cc1fe9f6
Fix import lines
2025-03-25 23:35:47 -07:00
Deshraj Yadav
1ba7e2d6fa
Format imports properly
2025-03-25 23:30:01 -07:00
Deshraj Yadav
1b8d326b49
Run ruff
2025-03-25 23:15:35 -07:00
Aleix Conchillo Flaqué
077952b658
GoogleAssistantContextAggregator: allow any value as function call result
2025-03-25 19:11:27 -07:00
Deshraj Yadav
e694971423
Merge pull request #2 from pipecat-ai/khk/mem0
...
small changes to make 35-mem0.py
2025-03-25 18:10:36 -07:00
Kwindla Hultman Kramer
d00ae492e5
small changes to make 35-mem0.py like the other foundational single-file examples.
2025-03-25 15:51:38 -07:00
Aleix Conchillo Flaqué
9450b07ec5
Merge pull request #1442 from pipecat-ai/aleix/on-context-updated-as-task
...
LLMAssistantContextAggregator: create a task to run on_context_updated
2025-03-25 15:39:36 -07:00
Aleix Conchillo Flaqué
19b464ba23
tests: add assistant aggregator function call frame handling
2025-03-25 15:37:06 -07:00
Aleix Conchillo Flaqué
8aebf00c2d
GoogleAssistantContextAggregator: function call result should be a JSON object
2025-03-25 15:37:06 -07:00
Aleix Conchillo Flaqué
01458895c2
LLMAssistantContextAggregator: create a task to run on_context_updated
2025-03-25 14:37:11 -07:00
kompfner
2082d023ef
Merge pull request #1448 from pipecat-ai/daily-python-0.16.0
...
Bump daily-python dependency to 0.16.0 to pick up support in `DailyTr…
2025-03-25 17:32:38 -04:00
Paul Kompfner
c99436b80e
Bump daily-python dependency to 0.16.0 to pick up support in DailyTransport for updating remote participants' canReceive permission via the update_remote_participants() method
2025-03-25 17:29:48 -04:00
Filipi Fuchter
f884c93826
Refactoring the video-transform example to use pipecat client.
2025-03-25 17:32:25 -03:00
Deshraj Yadav
2780c6eed6
Incorporate suggestions
2025-03-25 10:45:08 -07:00
Deshraj Yadav
7ad36eeaf4
Add mem0 as a service integration
2025-03-25 10:44:12 -07:00
Filipi Fuchter
67a93d09c2
Merge branch 'main' into aiortc_example
2025-03-25 10:31:53 -03:00
Aleix Conchillo Flaqué
f3b50bc3c4
Revert "LLMAssistantContextAggregator: create a task to run on_context_updated"
...
This reverts commit 397bae29f7 .
2025-03-24 15:40:26 -07:00
Aleix Conchillo Flaqué
397bae29f7
LLMAssistantContextAggregator: create a task to run on_context_updated
2025-03-24 15:39:35 -07:00
Mark Backman
3b3fdd0da1
Merge pull request #1439 from pipecat-ai/mb/fix-rtvi-bot-speaking-events
...
Fix: RTVIObserver now outputs a single bot started and stopped speaki…
2025-03-24 11:44:31 -04:00
Mark Backman
a9b1298f3b
Fix: RTVIObserver now outputs a single bot started and stopped speaking event per turn
2025-03-24 10:25:31 -04:00
Filipi Fuchter
2fcf4e6d70
Fixing ruff format
2025-03-24 11:23:55 -03:00
Filipi Fuchter
fcb8b9a5b3
Refactoring how we are creating the answer so we don't need to wait for the client gathering all ice candidates.
2025-03-24 11:12:41 -03:00
Filipi Fuchter
fee0409f63
Logging if the remote peer supports trickle ice.
2025-03-24 08:59:21 -03:00
Filipi Fuchter
3be6973e2c
Adding support to define ice servers.
2025-03-24 08:57:24 -03:00
Filipi Fuchter
5184d178ef
Merge branch 'main' into aiortc_example
2025-03-24 08:37:08 -03:00
Thomas B.
48e8d3968a
fix: recognition language correctly set for Azure STT ( #1436 )
2025-03-23 19:29:52 -07:00
Aleix Conchillo Flaqué
59644a939a
Merge pull request #1434 from pipecat-ai/aleix/examples-07-interruptible-local
...
examples: add foundational 07x-interruptible-local.py
2025-03-23 05:44:40 -07:00
Aleix Conchillo Flaqué
3311afc581
examples: add foundational 07x-interruptible-local.py
2025-03-22 21:58:55 -07:00
Filipi da Silva Fuchter
a3ccbf91f7
Merge pull request #1429 from pipecat-ai/fixing_set_tool_issue
...
Only checking the length if tools is a list.
2025-03-21 13:56:45 -03:00
Filipi Fuchter
3ed764a769
Only checking the length if tools is a list.
2025-03-21 12:56:05 -03:00
Mark Backman
be8d5a31f5
Merge pull request #1425 from Allenmylath/patch-25
...
Update env.example
2025-03-21 08:39:03 -04:00
Mark Backman
480bcc1ab1
Merge pull request #1424 from Allenmylath/patch-24
...
Update requirements.txt
2025-03-21 08:38:54 -04:00
allenmylath
dd81048ddb
Update env.example
...
EXAMPLE USES CARTESI NOT ELEVNE LABS
2025-03-21 10:11:28 +05:30
allenmylath
04d462ff02
Update requirements.txt
...
example uses cartesia not elevenlabs
2025-03-21 10:09:09 +05:30
Aleix Conchillo Flaqué
7e7aaeddd9
Merge pull request #1423 from pipecat-ai/aleix/elevenlabs-pcm-8000
...
ElevenLabs: add support for a sample rate of 8000
2025-03-20 19:34:16 -07:00
Aleix Conchillo Flaqué
e77f7c8456
update ruff and pyright versions
2025-03-20 19:19:08 -07:00
Aleix Conchillo Flaqué
442f18d47b
ultravox: fix formatting
2025-03-20 19:19:08 -07:00
Aleix Conchillo Flaqué
fc78e6fc5a
ElevenLabs: add support for a sample rate of 8000
2025-03-20 19:13:23 -07:00
Aleix Conchillo Flaqué
d71b520153
update CHANGELOG.md and fix formatting
2025-03-20 18:58:06 -07:00
milo157
3b4d91e1c1
Fixed ultravox service bugs ( #1420 )
2025-03-20 18:55:43 -07:00
Aleix Conchillo Flaqué
09c62d939a
Merge pull request #1422 from pipecat-ai/aleix/pipecat-0.0.60
...
update CHANGELOG for 0.0.60
2025-03-20 16:25:52 -07:00
Aleix Conchillo Flaqué
f2b9789acf
update CHANGELOG for 0.0.60
2025-03-20 16:17:34 -07:00
Aleix Conchillo Flaqué
1592703e77
Merge pull request #1421 from pipecat-ai/aleix/rollback-deepgram-to-3.8.0
...
pyproject: rollback deepgram-sdk to 3.8.0
2025-03-20 16:16:08 -07:00
Aleix Conchillo Flaqué
66e42ae410
pyproject: rollback deepgram-sdk to 3.8.0
2025-03-20 16:15:43 -07:00
Mark Backman
8d6dbbe293
Merge pull request #1417 from pipecat-ai/mb/update-realtime-transcription
...
Update InputAudioTranscription to use gpt-4o-transcribe model, update…
2025-03-20 18:49:06 -04:00
Mark Backman
2ac8f2ec2d
Fix linting
2025-03-20 18:40:16 -04:00
Paul Kompfner
41688205be
Provide new settings in OpenAI Realtime example
2025-03-20 18:23:25 -04:00
Mark Backman
541a4b6063
Update InputAudioTranscription to use gpt-4o-transcribe model, update 19 examples to use FunctionSchema
2025-03-20 18:23:24 -04:00
Aleix Conchillo Flaqué
8f6d92ce7d
update CHANGELOG with BaseOpenAILLMService default_headers
2025-03-20 13:47:15 -07:00
Aleix Conchillo Flaqué
96fa6c19a8
Merge pull request #1398 from nicougou/feature/openai_custom_headers
...
feature: add custom headers to AsyncOpenAI
2025-03-20 13:45:57 -07:00
Varun Singh
c9f7882728
initial commit
2025-03-20 12:31:08 -07:00
Aleix Conchillo Flaqué
0fdd577ae7
Merge pull request #1416 from pipecat-ai/aleix/pipecat-0.0.59
...
update CHANGELOG for 0.0.59
2025-03-20 11:48:14 -07:00
Aleix Conchillo Flaqué
2133152e5b
update CHANGELOG for 0.0.59
2025-03-20 11:42:54 -07:00
Aleix Conchillo Flaqué
c3f3f4603d
Merge pull request #1413 from pipecat-ai/aleix/llm-user-aggregator-emulate-fixes
...
LLMUserContextAggregator: fix emulated user started/stopped speaking issues
2025-03-20 11:41:26 -07:00
Aleix Conchillo Flaqué
b20ce7d655
examples: move 07u-interruptible-neuphonic to 07v
2025-03-20 11:38:29 -07:00
Aleix Conchillo Flaqué
66ba1116a4
pyproject: rollback azure to 1.42.0
2025-03-20 11:23:40 -07:00
Aleix Conchillo Flaqué
08956e914a
livekit: remove unnecessary transport cleanup() function
2025-03-20 11:23:40 -07:00
Aleix Conchillo Flaqué
5a39f146f6
LLMUserContextAggregator: fix emulated user started/stopped speaking issues
2025-03-20 11:23:40 -07:00
kompfner
de8a831ee1
Merge pull request #1414 from pipecat-ai/march-main
...
March OpenAI updates
2025-03-20 14:22:09 -04:00
Aleix Conchillo Flaqué
efa5f133d7
openai_realtime: fix and update function calling
2025-03-20 11:14:59 -07:00
Paul Kompfner
44380bc8c0
Remove duplicate changelog entry due to rebase mistake
2025-03-20 13:51:16 -04:00
Paul Kompfner
721ee75887
Comment tweak
2025-03-20 13:43:00 -04:00
Paul Kompfner
ada68f0699
More robust handling of conversation item retrieval errors in OpenAIRealtimeBetaLLMService
2025-03-20 13:43:00 -04:00
Mark Backman
70dbf0d6fc
Updated default models for OpenAISTTService and OpenAITTSService to gpt-4o based models
2025-03-20 13:42:56 -04:00
Paul Kompfner
f0774268cc
Rename gpt-4o-transcribe-latest to gpt-4o-transcribe in OpenAIRealtimeBetaLLMService
2025-03-20 13:39:40 -04:00
Chad Bailey
2ae5bdd8a9
lets talk about dogs
2025-03-20 13:39:40 -04:00
Chad Bailey
0d74bcacb7
updated models in the 07g example
2025-03-20 13:39:40 -04:00
Paul Kompfner
f94a099111
Revert the default model to be "gpt-4o-realtime-preview-2024-12-17" In OpenAIRealtimeBetaLLMService
2025-03-20 13:39:36 -04:00
Paul Kompfner
3dd4ef7230
Tweak changelog entries describing slate of recent updates to OpenAIRealtimeBetaLLMService
2025-03-20 13:36:22 -04:00
Paul Kompfner
e707efbffa
Update changelog with slate of recent updates to OpenAIRealtimeBetaLLMService
2025-03-20 13:35:12 -04:00
Paul Kompfner
7b594093dd
Handle the possibility of multiple concurrent calls to retrieve_conversation_item() in the OpenAIRealtimeBetaLLMService
2025-03-20 13:31:28 -04:00
Paul Kompfner
31317ce77d
Add error handling to the retrieve_conversation_item() method of the OpenAIRealtimeBetaLLMService
2025-03-20 13:31:28 -04:00
Paul Kompfner
f693a3c70f
Add retrieve_conversation_item() method to OpenAIRealtimeBetaLLMService, using the new conversation.item.retrieve introspection message.
2025-03-20 13:31:28 -04:00
Paul Kompfner
39ca607bbb
Add on_conversation_item_created and on_conversation_item_updated events to OpenAIRealtimeBetaLLMService.
...
The hope is that this will expose to the user conversation item ids at relevant times for them to use with the new `conversation.item.retrieve` introspection message.
2025-03-20 13:31:28 -04:00
Paul Kompfner
9840abd85b
Make it so you specifying model=None when creating a InputAudioTranscription results in a validation error
2025-03-20 13:31:28 -04:00
Paul Kompfner
1075c25055
Add new semantic turn detection option to OpenAIRealtimeBetaLLMService
2025-03-20 13:31:28 -04:00
Paul Kompfner
e91610c69e
linter fix
2025-03-20 13:31:28 -04:00
Paul Kompfner
1a20d9bed7
Add new input_audio_noise_reduction option to OpenAIRealtimeBetaLLMService
2025-03-20 13:31:28 -04:00
Paul Kompfner
d009b80438
Add new GPT-4o transcription option to OpenAIRealtimeBetaLLMService
2025-03-20 13:31:28 -04:00
kompfner
fe5fc30211
Revert "Add new GPT-4o transcription option to OpenAIRealtimeBetaLLMService"
2025-03-20 13:31:28 -04:00
Paul Kompfner
be2cf6d556
formatting fix
2025-03-20 13:31:28 -04:00
Paul Kompfner
e80bfe22de
Add new GPT-4o transcription option to OpenAIRealtimeBetaLLMService
2025-03-20 13:31:28 -04:00
Paul Kompfner
214c8f79eb
linter fix
2025-03-20 13:31:28 -04:00
Paul Kompfner
16accafa6d
formatting fix
2025-03-20 13:31:28 -04:00
Kwindla Hultman Kramer
4449e9a25b
add response.done status=failed error
2025-03-20 13:31:28 -04:00
Kwindla Hultman Kramer
bfdf52bd69
change examples/foundational/19-openai-realtime-beta.py to use the new preview model
2025-03-20 13:31:28 -04:00
Kwindla Hultman Kramer
2b4debec11
add support for conversation.item.input_audio_transcription.delta
2025-03-20 13:31:28 -04:00
Mark Backman
f4626287cd
Merge pull request #1411 from pipecat-ai/mb/add-fal-wizper
...
Add FalSTTService
2025-03-20 13:08:08 -04:00
Mark Backman
e4bb4aacb4
Example: Rename 07 ultravox example
2025-03-20 12:46:00 -04:00
Mark Backman
f298febacf
Add FalSTTService
2025-03-20 12:45:16 -04:00
Aleix Conchillo Flaqué
c51291190b
Merge pull request #1394 from pipecat-ai/aleix/function-calls-as-tasks
...
function calls as tasks
2025-03-20 09:34:37 -07:00
Aleix Conchillo Flaqué
e0c3f6ad83
services: mark function calls as completed even the result is None
2025-03-20 08:51:25 -07:00
Aleix Conchillo Flaqué
b1d506c137
GoogleAssistantContextAggregator: properly update function response
2025-03-20 08:51:25 -07:00
Aleix Conchillo Flaqué
1f6ed01ba6
LLMAssistantContextAggregator: remove tool call id with image requests
2025-03-20 08:51:25 -07:00
Aleix Conchillo Flaqué
3e9678db84
user image requests can now be related to function calls
2025-03-20 08:51:25 -07:00
Aleix Conchillo Flaqué
d455fd070e
update CHANGELOG
2025-03-20 08:51:25 -07:00
Aleix Conchillo Flaqué
d1550d5a85
tests: remove TestFrameProcessor, reimplement with run_test()
2025-03-20 08:51:25 -07:00
Aleix Conchillo Flaqué
c15286b148
examples: deprecate start_callback from LLMService.register_function()
2025-03-20 08:51:25 -07:00
Aleix Conchillo Flaqué
a98000fd1d
function calling now run in tasks
2025-03-20 08:51:25 -07:00
Aleix Conchillo Flaqué
fc06306efd
Merge pull request #1406 from pipecat-ai/aleix/pipeline-task-idle-timeouts
...
PipelineTask: automatically cancel tasks if pipeline is idle
2025-03-20 08:37:39 -07:00
Mark Backman
039fa59165
Merge pull request #1409 from pipecat-ai/aleix/segmented-stt-service-vad-events
...
SegmentedSTTService: use VAD events to detect valid audio
2025-03-20 09:11:08 -04:00
Aleix Conchillo Flaqué
0e14cec139
pyproject: update multiple libraries
2025-03-20 01:22:33 -07:00
Aleix Conchillo Flaqué
2417ec4f92
LLMUserContextAggregator: increase bot_interruption_timeout to 5 seconds
2025-03-20 01:20:34 -07:00
Aleix Conchillo Flaqué
7cdcd1c3d1
OpenAITTSService: allow specifying any model name
2025-03-20 01:20:34 -07:00
Aleix Conchillo Flaqué
b6be25ab84
SegmentedSTTService: use VAD events to detect valid audio
2025-03-20 00:31:49 -07:00
Aleix Conchillo Flaqué
e18d9f6a11
PipelineTask: automatically cancel tasks if pipeline is idle
2025-03-19 23:30:46 -07:00
Mark Backman
3a73346a41
Merge pull request #1408 from pipecat-ai/mb/claude-models-example
...
Update to Claude 3.7 Sonnet latest in examples
2025-03-20 01:44:59 -04:00
Aleix Conchillo Flaqué
8d58d1c8bb
Merge pull request #1404 from pipecat-ai/aleix/gemini-push-frame-fixes
...
GeminiMultimodalLiveLLMService: fix duplicated messages in context
2025-03-19 21:51:39 -07:00
Mark Backman
07a77e066f
Update to Claude 3.7 Sonnet latest in examples
2025-03-19 23:18:30 -04:00
Aleix Conchillo Flaqué
3024896d3d
Merge pull request #1405 from pipecat-ai/aleix/tts-services-fallback
...
WebsocketTTSService: add `on_connection_error` and `reconnect_on_error`
2025-03-19 19:39:51 -07:00
Aleix Conchillo Flaqué
a3b5e4413a
WebsocketTTSService: add on_connection_error and reconnect_on_error
2025-03-19 19:38:08 -07:00
Aleix Conchillo Flaqué
f31e77c4f6
pyproject: added empty tavus dependencies
2025-03-19 18:43:07 -07:00
Aleix Conchillo Flaqué
8942c2e053
GeminiMultimodalLiveLLMService: fix duplicated messages in context
...
Fixes #1384
2025-03-19 15:33:54 -07:00
Aleix Conchillo Flaqué
afb26be0ad
Merge pull request #1396 from pipecat-ai/aleix/stt-service-audio-passthrough
...
SegmentedSTTService: allow audio to pass-through downstream
2025-03-19 11:16:40 -07:00
Aleix Conchillo Flaqué
48d73a2636
SegmentedSTTService: allow audio to pass-through downstream
2025-03-19 11:06:12 -07:00
Aleix Conchillo Flaqué
da531dabfd
Merge pull request #1304 from pipecat-ai/aleix/handle-emails-user-email-gathering
...
add skip tags aggregator to support TTS service spelling out tags
2025-03-19 11:05:10 -07:00
Aleix Conchillo Flaqué
336e2f1579
TTSServices: for now just specify a single text aggregator
2025-03-19 11:02:29 -07:00
Aleix Conchillo Flaqué
fc0f404d26
examples: add new 36-user-email-gathering.py
2025-03-19 10:57:29 -07:00
Aleix Conchillo Flaqué
54620133d4
services: add spelling out support to CartesiaTTSService and RimeTTSService
2025-03-19 10:57:29 -07:00
Aleix Conchillo Flaqué
e7224473f2
utils(text): add new SkipTagsAggregator
2025-03-19 10:57:29 -07:00
Aleix Conchillo Flaqué
1a3a268c9d
utils(string): add new function parse_start_end_tags()
2025-03-19 10:57:29 -07:00
Aleix Conchillo Flaqué
11984b89b7
utils(string): add support for floating point numbers
2025-03-19 10:57:29 -07:00
Aleix Conchillo Flaqué
1dbad2326a
utils(string): support email addresses in end of sentence matching
2025-03-19 10:57:27 -07:00
Mark Backman
2e0c6c2bd1
Merge pull request #1397 from pipecat-ai/mb/disconnect-bot
...
Fix: RTVI message disconnect-bot now pushes EndTaskFrame
2025-03-19 10:45:24 -04:00
Nico
5f28834588
feature: add custom headers to AsyncOpenAI
2025-03-19 14:49:51 +01:00
Mark Backman
7f1ccab445
Fix: RTVI message disconnect-bot now pushes EndTaskFrame
2025-03-19 07:07:45 -04:00
Aleix Conchillo Flaqué
7ddac4eb88
Merge pull request #1395 from pipecat-ai/aleix/multiple-text-filters-and-aggregators
...
TTSService: allow passing multiple text filters and aggregators
2025-03-18 21:25:29 -07:00
Aleix Conchillo Flaqué
514ecda755
TTSService: allow passing multiple text filters and aggregators
2025-03-18 17:31:01 -07:00
balalo
48b6850df4
allow other function names
2025-03-18 20:45:31 +01:00
Aleix Conchillo Flaqué
71a38a120e
Merge pull request #1376 from pipecat-ai/aleix/event-handlers-as-tasks
...
event handlers are now executed in separate tasks
2025-03-18 12:10:34 -07:00
Mark Backman
79616de7a4
Merge pull request #1392 from pipecat-ai/mb/fix-google-stt-timeout
...
Fix an issue where GoogleSTTService would timeout due to stream inact…
2025-03-18 14:17:44 -04:00
Mark Backman
6368fbe0dd
Merge pull request #1318 from Vaibhav159/vl_google_vertex_llm
...
adding vertex google llm
2025-03-18 14:17:21 -04:00
Mark Backman
5dc8b48fbe
Fix an issue where GoogleSTTService would timeout due to stream inactivity
2025-03-18 14:06:32 -04:00
Aleix Conchillo Flaqué
9112ff114f
Merge pull request #1359 from lucasrothman/tavus-output-sample-rate
...
Tavus support for custom output rate
2025-03-18 10:16:34 -07:00
Aleix Conchillo Flaqué
32609b1132
event handlers are now executed in separate tasks
2025-03-18 09:25:39 -07:00
Vaibhav159
4303ed4991
rename service
2025-03-18 20:58:21 +05:30
Mark Backman
4677c34663
Merge pull request #1387 from pipecat-ai/mb/pattern-aggregator
...
Add PatternPairAggregator
2025-03-18 08:46:42 -04:00
Mark Backman
b28276446d
Code review feedback
2025-03-18 07:49:54 -04:00
Mark Backman
2dee882710
Add unit tests
2025-03-18 07:30:37 -04:00
Mark Backman
6ec4052f29
Add CHANGELOG entries
2025-03-18 07:30:36 -04:00
Mark Backman
ddcc1fbb2f
Add foundational example 35
2025-03-18 07:30:11 -04:00
Mark Backman
e731a0d41f
Add PairPatternAggregator
2025-03-18 07:30:11 -04:00
Mark Backman
4918eab4e8
Merge pull request #1371 from pipecat-ai/mb/openai-realtime-transcription
...
Add TranscriptProcessor support for OpenAIRealtimeBetaLLMService
2025-03-18 07:28:07 -04:00
Mark Backman
11987765d8
Merge pull request #1381 from pipecat-ai/mb/recording-example-stt
...
Update the 34-audio-recording.py example to include an STT processor
2025-03-18 07:20:42 -04:00
Mark Backman
6f09ee25b8
Merge pull request #1385 from pipecat-ai/mb/add-neuphonic-readme
...
Add Google Imagen and Neuphonic TTS to README
2025-03-18 07:20:15 -04:00
Mark Backman
83dda8a759
Merge pull request #1390 from adnansiddiquei/add-neuphonic-languages
...
Added 5 new languages for Neuphonic: FR, PT, RU, ZH, HI.
2025-03-18 07:18:27 -04:00
Adnan Siddiquei
188677e601
Added 4 new languages: FR, PT, RU, ZH, HI.
2025-03-18 10:35:22 +00:00
balalo
dc5067407d
Fix ruff check
2025-03-18 11:12:51 +01:00
balalo
1c19777d5e
Fix format
2025-03-18 11:09:40 +01:00
balalo
2e1a18503b
Set tool choice from context aggregator
2025-03-18 10:41:43 +01:00
Lucas Rothman
c57fa93a70
Renamed to sample_rate
2025-03-17 16:22:36 -07:00
Mark Backman
6885d07e88
Simplify the TranscriptProcessor _emit_aggregated_text logic
2025-03-17 16:36:03 -04:00
Mark Backman
acd0660f66
Update GeminiMultimodalLiveLLMService to work with the TranscriptProcessor
2025-03-17 16:36:03 -04:00
Mark Backman
3f002f8ffb
Remove unnecessary TranscriptProcessor examples
2025-03-17 16:36:02 -04:00
Mark Backman
d5776c27f4
Update 19-openai-realtime-beta
2025-03-17 16:35:35 -04:00
Mark Backman
6e6905405b
Update CHANGELOG
2025-03-17 16:35:35 -04:00
Mark Backman
571c10403f
tests: Add additional coverage to test_transcript_processor
2025-03-17 16:35:35 -04:00
Mark Backman
5b6b700214
OpenAIRealtimeBetaLLMService outputs a TTSTextFrame
2025-03-17 16:35:35 -04:00
Mark Backman
1ad8e28025
Update TranscriptProcessor to more robustly handle different TTSTextFrame outputs
2025-03-17 16:35:35 -04:00
Mark Backman
3458f1b6de
Add Google Imagen to README
2025-03-17 11:43:40 -04:00
Mark Backman
02dbef8f5a
Add Neuphonic TTS to README
2025-03-17 11:28:51 -04:00
Zac
1baa52a17e
Enhanced whisper.py with MLX Whisper model support and added optional mlx-whisper to pyproject.toml. Added error handling for missing modules and created a new WhisperSTTServiceMLX class for MLX Whisper integration.
2025-03-16 02:18:54 -04:00
Mark Backman
c1382b0691
Update the 34-audio-recording.py example to include an STT processor
2025-03-15 20:30:35 -04:00
Vaibhav159
5f000efc61
adding example
2025-03-15 10:36:26 +05:30
Vaibhav159
fa7da8f5f6
adding vertex llm
2025-03-15 10:21:40 +05:30
Mark Backman
8b86f6991d
Merge pull request #1343 from pipecat-ai/mb/pipecat-cloud-example
...
Add a Pipecat Cloud deployment example
2025-03-14 20:49:45 -04:00
Mark Backman
d3cd1a6c59
Update with latest starter
2025-03-14 20:40:33 -04:00
Mark Backman
24220f38f0
Add a Pipecat Cloud deployment example
2025-03-14 20:40:29 -04:00
Aleix Conchillo Flaqué
1f8752ab03
Merge pull request #1378 from pipecat-ai/aleix/remove-deprecations
...
removed most deprecations
2025-03-14 14:42:34 -07:00
Aleix Conchillo Flaqué
16d7df1c9f
removed most deprecations
2025-03-14 14:37:08 -07:00
Aleix Conchillo Flaqué
2474211291
Merge pull request #1379 from pipecat-ai/aleix/introduce-text-aggregators
...
introduce text aggregators
2025-03-14 13:03:49 -07:00
Aleix Conchillo Flaqué
b632d71465
TTSService: flush_audio() should be in the base class
2025-03-14 10:48:25 -07:00
Aleix Conchillo Flaqué
f8610a69a5
introduce text aggregators
2025-03-14 10:48:25 -07:00
Aleix Conchillo Flaqué
624a454f8b
Merge pull request #1366 from adnansiddiquei/neuphonic-tts-plugin
...
Add integration for Neuphonic TTS
2025-03-14 10:27:24 -07:00
Aleix Conchillo Flaqué
11ba08b7ba
Merge pull request #1377 from pipecat-ai/aleix/task-upstream-downstream-filters
...
PipelineTask: only call event handlers if a filter is matched
2025-03-14 08:49:24 -07:00
Adnan Siddiquei
11b13d053b
Fixed a bug from previous commit. Removed the concept of model from Neuphonic.
2025-03-14 11:17:22 +00:00
Adnan Siddiquei
7dec8431e1
Review comments by aconchillo.
2025-03-14 10:52:13 +00:00
Aleix Conchillo Flaqué
ce3f3b2edb
Merge pull request #1372 from pipecat-ai/khk-fix-multimodal-live-example
...
fix for 26-gemini-multimodal-live.py
2025-03-13 20:22:07 -07:00
Aleix Conchillo Flaqué
1b3b4ee04a
PipelineTask: only call event handlers if a filter is matched
2025-03-13 18:44:30 -07:00
Mark Backman
676c5d9ba7
Merge pull request #1374 from pipecat-ai/mb/add-riva-to-readme
2025-03-13 20:41:05 -04:00
Mark Backman
6eb3a8409f
README: Add Parakeet and FastPitch
2025-03-13 18:42:19 -04:00
Filipi Fuchter
526f9c2e06
Fixing the voice agent feedback when disconnected.
2025-03-13 18:41:40 -03:00
Kwindla Hultman Kramer
c9a31ea513
fix for 26-gemini-multimodal-live.py
2025-03-13 14:35:47 -07:00
Filipi Fuchter
2770d64a25
Fixing ruff format.
2025-03-13 17:38:11 -03:00
Filipi Fuchter
8a7e305619
Closing the old peer connection
2025-03-13 17:35:47 -03:00
Filipi Fuchter
8f2dadf5a0
Improving the reconnection logic to be able to recreate the peer connection in some cases.
2025-03-13 17:07:32 -03:00
Aleix Conchillo Flaqué
c0c7c5d600
Merge pull request #1370 from pipecat-ai/aleix/minor-ultravox-updates
...
services(ultravox): CHANGELOG, formatting and minor changes
2025-03-13 12:05:13 -07:00
Aleix Conchillo Flaqué
87004937be
services(ultravox): CHANGELOG, formatting and minor changes
2025-03-13 11:49:18 -07:00
Aleix Conchillo Flaqué
b426be3067
Merge pull request #1331 from CerebriumAI/feature/ultravox
...
Added ultravox service
2025-03-13 10:40:00 -07:00
Aleix Conchillo Flaqué
b71e2b97ff
Merge pull request #1368 from pipecat-ai/aleix/pipelinetask-frame-event-handlers
...
PipelineTask: add on_frame_reached_upstream and on_frame_reached_downstream
2025-03-13 10:31:33 -07:00
Aleix Conchillo Flaqué
25dcf7def6
PipelineTask: add on_frame_reached_upstream/on_frame_reached_downstream
2025-03-13 10:26:11 -07:00
Filipi Fuchter
30432639b4
Creating a keep alive connection
2025-03-13 14:20:25 -03:00
Adnan Siddiquei
1bf964a667
Added two examples on how to use Neuphonic as a TTS (07u).
2025-03-13 14:42:42 +00:00
Adnan Siddiquei
08fb931ef6
Swapped NEUPHONIC_API_TOKEN for NEUPHONIC_API_KEY.
2025-03-13 12:10:03 +00:00
Aleix Conchillo Flaqué
c5aa931096
Merge pull request #1358 from pipecat-ai/aleix/abstractmethod-fixes
...
ai_services: fix abstractmethod issues
2025-03-12 17:26:48 -07:00
Filipi Fuchter
d33a4b3a11
Implementing reconnection logic.
2025-03-12 18:23:12 -03:00
Filipi Fuchter
9cad8bfcc6
Increasing the time that we are waiting for the frame.
2025-03-12 15:36:40 -03:00
Mark Backman
b084a3e9e7
Merge pull request #1367 from MaCaki/macaki/rime/send_msg_in_flush_audio
...
[rime client] Sending over trailing space to help indicate end of utt…
2025-03-12 14:25:18 -04:00
macaki
5c9e33bc7a
formatting
2025-03-12 12:20:18 -06:00
Filipi Fuchter
93d8ddf4f2
Only showing the timout warning to receive frame if the client is connected.
2025-03-12 15:13:59 -03:00
Adnan Siddiquei
0b9c4b2255
Fixed a couple of small bugs.
2025-03-12 18:04:48 +00:00
macaki
effb5f6cd8
added changelog
2025-03-12 11:57:25 -06:00
Adnan Siddiquei
ead555eb4b
Corrected versions on pyproject.toml.
2025-03-12 17:39:04 +00:00
macaki
f843482968
[rime client] Sending over trailing space to help indicate end of utterance after a punctuation.
2025-03-12 11:26:43 -06:00
Adnan Siddiquei
23a4933af9
Initial implementation of Neuphonic service. A TTS provider.
2025-03-12 17:15:31 +00:00
Filipi Fuchter
0d05312071
Supporting renegotiation inside the voice agent server.
2025-03-12 11:55:38 -03:00
Filipi Fuchter
f8e33d8b7b
Improving the video transform feedback when we are connecting, and cleaning the pc_id when disconnected.
2025-03-12 11:49:33 -03:00
Filipi Fuchter
f24c5b0aa7
Adding support for renegotiation.
2025-03-12 11:31:18 -03:00
Michael Louis
d9ef19233a
Added foundational example for ultravox
2025-03-12 10:30:23 -04:00
Mark Backman
357334e3c9
Merge pull request #1341 from pipecat-ai/mb/fix-google-typo
...
Add a set_language convenience method for GoogleSTTService
2025-03-12 09:05:52 -04:00
Filipi Fuchter
da25e0c008
Configuring the bot to receive the video live.
2025-03-12 10:00:33 -03:00
Filipi Fuchter
c99d02d8bb
Adding support for interruptions when using SmallWebRTCTransport.
2025-03-12 09:09:11 -03:00
Mark Backman
59ea94af86
Merge pull request #1360 from pipecat-ai/mb/update-cartesia-voice
...
Update Cartesia voice for demos
2025-03-12 08:02:26 -04:00
Mark Backman
4a363bebf0
Add a set_language convenience method for GoogleSTTService
2025-03-12 07:58:29 -04:00
Mark Backman
c196fb5f98
Merge pull request #1342 from pipecat-ai/mb/lmnt-flush-audio
2025-03-11 22:22:38 -04:00
Mark Backman
5f97f6ff94
Add flush_audio() to LmntTTSService
2025-03-11 21:57:54 -04:00
Mark Backman
5860fe5319
Merge pull request #1340 from pipecat-ai/mb/fish-flush
...
Add flush_audio to FishTTSService
2025-03-11 21:56:44 -04:00
Mark Backman
3522bbb533
tmp
2025-03-11 21:55:18 -04:00
Mark Backman
cfca7269f4
Update the Cartesia voice in all demos with one built for sonic-2
2025-03-11 21:53:03 -04:00
Mark Backman
e6f269a903
Add flush_audio to FishTTSService
2025-03-11 21:48:41 -04:00
Mark Backman
468e936a5f
Merge pull request #1356 from pipecat-ai/mb/add-chirp-tts-support
...
Add support for Chirp voices in GoogleTTSService
2025-03-11 20:12:52 -04:00
Lucas Rothman
ecc4411128
Tavus support for custom output rate
2025-03-11 16:02:33 -07:00
Aleix Conchillo Flaqué
740ba4e759
ai_services: fix abstractmethod issues
2025-03-11 14:29:03 -07:00
Filipi Fuchter
e56c8f881c
Full video transformation example using SmallWebRTCTransport.
2025-03-11 11:36:47 -03:00
Filipi Fuchter
a747f08017
Simple voice agent example using SmallWebRTCTransport.
2025-03-11 11:36:23 -03:00
Filipi Fuchter
c6c0b73345
P2P WebRTC transport option to Pipecat: SmallWebRTCTransport.
2025-03-11 11:35:39 -03:00
Filipi Fuchter
fde90ee01d
Creating an EventEmitter util class
2025-03-11 11:33:47 -03:00
Filipi Fuchter
689a844aaf
Created a new transport param to inform if the camera input should be enabled.
2025-03-11 11:33:24 -03:00
Filipi Fuchter
aab98b61a0
Fixed issue where sending too many images per second caused Gemini to ignore them.
2025-03-11 11:32:38 -03:00
Mark Backman
a62741df94
Add support for Chirp voices in GoogleTTSService
2025-03-11 07:56:27 -04:00
Mark Backman
5bd359ada9
Merge pull request #1354 from pipecat-ai/mb/cartesia-changelog
...
Changelog entry for Cartesia model update
2025-03-11 07:20:04 -04:00
Mark Backman
40562402a2
Changelog entry for Cartesia model update
2025-03-10 21:10:11 -04:00
Mark Backman
98e5089fbe
Merge pull request #1353 from kunal-cai/main
...
[Cartesia] Update the default alias for Cartesia TTS Service
2025-03-10 21:07:19 -04:00
Kunal Shah
e1c8a09b60
[Cartesia] Update the default alias for Cartesia TTS Service
2025-03-10 14:43:58 -07:00
Filipi da Silva Fuchter
154fe65011
Merge pull request #1336 from pipecat-ai/fixing_function_calling_examples
...
Pipecat small fixes and refactored function calling examples
2025-03-07 16:10:27 -03:00
Mark Backman
61f534ca34
Merge pull request #1334 from pipecat-ai/aleix/user-and-bot-turn-audio
...
add support for user and bot turn audio
2025-03-06 18:35:56 -05:00
Mark Backman
a91c26785f
Store recording in a folder
2025-03-06 18:31:48 -05:00
Aleix Conchillo Flaqué
d7e93551d2
examples(chatbot-audio-recording): add support for user/bot turn audio
2025-03-06 11:49:01 -08:00
Aleix Conchillo Flaqué
06c742a2ad
AudioBufferProcessor: add on_user_turn_audio_data and on_bot_turn_audio_data
2025-03-06 11:49:01 -08:00
Filipi Fuchter
55b0797fd5
Removing the extra examples inside the unified-format-function-calling folder
2025-03-06 12:00:22 -03:00
Filipi Fuchter
21443b9a08
Refactored gemini multimodal example to use the unified format for function calling.
2025-03-06 11:59:08 -03:00
Filipi Fuchter
4b167a3c3d
Fixing the ruff format.
2025-03-06 10:38:45 -03:00
Filipi Fuchter
2df77430aa
Refactoring the 14 series examples to use the unified format for function calling.
2025-03-06 10:35:26 -03:00
Filipi Fuchter
2d114b15f9
Adding missing flush_audio method to AzureTTSService.
2025-03-06 10:34:25 -03:00
Filipi Fuchter
26000b616d
Fixing the base_whisper services to implement set_language.
2025-03-06 10:15:04 -03:00
Aleix Conchillo Flaqué
710eebab09
Merge pull request #1332 from pipecat-ai/aleix/base-object-and-event-handlers
...
introduce BaseObject class
2025-03-05 13:41:27 -08:00
Dominic Stewart
532423eb4c
Updated example to switch pipelines per the original request ( #1320 )
2025-03-05 13:40:36 -08:00
Aleix Conchillo Flaqué
bb29e50adb
introduce BaseObject class
2025-03-05 13:38:53 -08:00
Filipi da Silva Fuchter
4048d6782b
Merge pull request #1211 from pipecat-ai/function_calling_unified_format
...
Unified format for function calling
2025-03-05 18:30:22 -03:00
Filipi Fuchter
76d36a312b
Adding the unified format function calling to the changelog.
2025-03-05 14:18:37 -03:00
Filipi Fuchter
2a75373c04
Created examples for unified format function calling.
2025-03-05 14:12:30 -03:00
Filipi Fuchter
a840b0e815
Prevents pytest from collecting TestFrameProcessor.
2025-03-05 14:11:52 -03:00
Filipi Fuchter
ebcde719a6
Integration test for function calling.
2025-03-05 14:11:16 -03:00
Filipi Fuchter
5c912927bb
Unit tests for function calling adapters.
2025-03-05 14:11:02 -03:00
Filipi Fuchter
0e55db054e
Created script to fix ruff format issues.
2025-03-05 14:10:47 -03:00
Filipi Fuchter
5967ac0d4f
Implementing unified format for function calling.
2025-03-05 14:10:32 -03:00
Aleix Conchillo Flaqué
1451483cf7
Merge pull request #1330 from pipecat-ai/aleix/playht-update-0.1.12
...
pyproject: update pyht to 0.1.12
2025-03-04 18:35:03 -08:00
Michael Louis
3fe7c1d730
Added ultravox service
2025-03-04 13:59:03 -05:00
Aleix Conchillo Flaqué
c14b85c12b
pyproject: update pyht to 0.1.12
...
Fixes #1309
2025-03-04 10:26:11 -08:00
kompfner
9f3c0219d7
Merge pull request #1329 from pipecat-ai/add-permissions-to-daily-meeting-token-properties
...
Add the `permissions` property to `DailyMeetingTokenProperties`
2025-03-03 14:44:10 -05:00
Aleix Conchillo Flaqué
ec36fef26e
updated CHANGELOG and fix GladiaSTTService formatting
2025-03-03 09:53:03 -08:00
allenmylath
5f1848d24b
Update gladia.py ( #1317 )
...
* Update gladia.py
According to gladia docs
https://docs.gladia.io/api-reference/v2/live/init
speech threshould value close to 1 enables gladia to better isolate speeech from noise.
2025-03-03 09:51:11 -08:00
Aleix Conchillo Flaqué
d6867bd12f
Merge pull request #1321 from pipecat-ai/aleix/allow-setting-context-aggregator-parameters
...
LLMService: add user/assistant args to create_context_aggregator()
2025-03-03 09:48:31 -08:00
Aleix Conchillo Flaqué
17a1f30572
LLMService: add user/assistant args to create_context_aggregator()
2025-03-03 09:46:37 -08:00
Paul Kompfner
8e0dc1f256
Add the permissions property to DailyMeetingTokenProperties
2025-03-03 10:13:25 -05:00
Kwindla Hultman Kramer
b9100beee3
Merge pull request #1327 from pipecat-ai/azure-realtime-changelog
...
CHANGELOG.md entry for AzureRealtimeBetaLLMService
2025-03-02 20:30:40 -08:00
Mark Backman
b8bc3d2565
Merge pull request #1326 from pipecat-ai/mb/11labs-speed
...
Add speed as InputParam to ElevenLabs TTS services
2025-03-02 15:20:01 -05:00
Kwindla Hultman Kramer
3213e85b7d
CHANGELOG.md entry for AzureRealtimeBetaLLMService
2025-03-02 12:16:50 -08:00
Kwindla Hultman Kramer
de3bcd64c4
Merge pull request #1324 from pipecat-ai/azure-realtime
...
Support for Azure OpenAI Realtime API
2025-03-02 12:13:29 -08:00
Mark Backman
ad7f1eec12
Create a function to build voice_settings dictionary
2025-03-02 08:27:29 -05:00
Mark Backman
29310b4e92
Add speed as InputParam to ElevenLabs TTS services
2025-03-02 08:19:44 -05:00
Kwindla Hultman Kramer
2f4d36a146
docstring fixup
2025-03-01 15:44:10 -08:00
Kwindla Hultman Kramer
6c9bb782b1
add __init__.py
2025-03-01 15:42:20 -08:00
Kwindla Hultman Kramer
010d9103d4
support for Azure OpenAI Realtime API
2025-03-01 15:39:19 -08:00
Aleix Conchillo Flaqué
12131eb7c5
Merge pull request #1313 from Vaibhav159/vl_add_automated_formatting
...
using ruff automated formatting to avoid action failures.
2025-02-28 13:12:31 -08:00
Aleix Conchillo Flaqué
80b830322a
Merge pull request #1311 from pipecat-ai/aleix/llm-full-response-aggregator
...
add new LLMFullResponseAggregator
2025-02-28 13:08:06 -08:00
Aleix Conchillo Flaqué
8db9d16174
add new LLMFullResponseAggregator
2025-02-28 13:05:21 -08:00
Aleix Conchillo Flaqué
1c92fab1fb
Merge pull request #1308 from Vaibhav159/vl_google_openai_format
...
adding GoogleLLMOpenAIBetaService
2025-02-28 12:04:37 -08:00
Vaibhav159
974717d1b9
sync with main
2025-03-01 01:16:21 +05:30
Vaibhav159
59fb631390
fixing function calling and adding example
2025-03-01 01:14:37 +05:30
Vaibhav159
4824220260
adding GoogleLLMOpenAIBetaService
2025-03-01 01:14:26 +05:30
Mark Backman
55a338614d
Merge pull request #1312 from pipecat-ai/mb/move-server-message-frame
...
Rename ServerMessageFrame to RTVIServerMessageFrame and move to rtvi.py
2025-02-28 13:59:31 -05:00
Vaibhav159
f033046963
using ruff automated formatting to avoid repeated failures
2025-02-28 08:25:15 +05:30
Mark Backman
6018fc068c
Rename ServerMessageFrame to RTVIServerMessageFrame and move to rtvi.py
2025-02-27 20:07:07 -05:00
Aleix Conchillo Flaqué
d5b634301f
Merge pull request #1302 from pipecat-ai/aleix/cleanup-llm-tts-logging
...
services: minor LLM and TTS logging improvements
2025-02-27 13:51:04 -08:00
Aleix Conchillo Flaqué
a37eb1049d
Merge pull request #1310 from Canonical-AI-Inc/without-audio
...
Optional Recording
2025-02-27 13:37:39 -08:00
Adrian Cowham
803ea9d8bc
update the canonical client so that the audio recording is optional as long as there is a transcript
2025-02-27 12:31:02 -08:00
Mark Backman
499bc25217
Merge pull request #1303 from pipecat-ai/mb/add-server-to-client-msg
...
Add a new generic server to client message and frame type
2025-02-27 12:56:57 -05:00
Mark Backman
53d403af4b
Remove the RTVIServerMessage logic from the RTVIProcessor
2025-02-27 12:50:43 -05:00
Aleix Conchillo Flaqué
a0a8ea1641
Merge pull request #1301 from pipecat-ai/aleix/example-22d-fix-llm-aggregator
2025-02-26 22:39:48 -08:00
Mark Backman
26c68ccd7c
Add a new generic server to client message and frame type
2025-02-26 18:59:06 -05:00
Aleix Conchillo Flaqué
fa010c8644
services: minor LLM and TTS logging improvements
2025-02-26 15:36:25 -08:00
Aleix Conchillo Flaqué
d58f398bc4
examples: fix for 22d-natural-conversation-gemini-audio.py
2025-02-26 13:15:07 -08:00
Aleix Conchillo Flaqué
11383a86a1
Merge pull request #1300 from pipecat-ai/aleix/prepare-0.0.58
...
update CHANGELOG for 0.0.58
2025-02-26 11:31:24 -08:00
Aleix Conchillo Flaqué
daa52ff8df
update CHANGELOG for 0.0.58
2025-02-26 11:29:04 -08:00
Mark Backman
a5f41e22f7
Merge pull request #1299 from pipecat-ai/mb/add-track-level-recording
...
Added on_track_audio_data callback to AudioBufferProcessor for track level recording
2025-02-26 13:49:36 -05:00
Mark Backman
530bb5233d
example: Added a foundational example (34) for audio recording
2025-02-26 13:44:32 -05:00
Aleix Conchillo Flaqué
4a64e09f6c
Merge pull request #1297 from pipecat-ai/aleix/daily-python-0.15.0
...
pyproject: update daily-python, aiohttp and pydantic
2025-02-26 10:26:59 -08:00
Aleix Conchillo Flaqué
74582bb8d5
pyproject: update daily-python, aiohttp and pydantic
2025-02-26 10:22:34 -08:00
Mark Backman
1ca2101e3a
Added on_track_audio_data callback to AudioBufferProcessor for track level recording
2025-02-26 10:48:56 -05:00
Aleix Conchillo Flaqué
e80311c323
Merge pull request #1296 from pipecat-ai/aleix/google-always-send-text-with-audio
...
GoogleLLMService: always send text with audio
2025-02-26 07:47:56 -08:00
Aleix Conchillo Flaqué
2f24c422b6
Merge pull request #1289 from pipecat-ai/aleix/tts-http-improvements
...
small TTS http improvements
2025-02-26 07:47:26 -08:00
Mark Backman
0d0b9fddef
Merge pull request #1291 from pipecat-ai/mb/playht-http-protocol
...
PlayHTHttpTTSService now takes a separate protocol input
2025-02-26 08:09:49 -05:00
Mark Backman
1753cc99f4
PlayHTHttpTTSService now takes a separate protocol input
2025-02-26 08:01:54 -05:00
Aleix Conchillo Flaqué
4f8b036abe
pyproject: remote httpx old dependency and upgrade anthropic/google-genai
2025-02-25 22:28:21 -08:00
Aleix Conchillo Flaqué
f83c89c202
examples: update google examples
2025-02-25 22:28:02 -08:00
Aleix Conchillo Flaqué
bb89a036e5
google: always send text part when sending inline audio
2025-02-25 22:27:38 -08:00
Aleix Conchillo Flaqué
b994a03466
examples: add more HTTP TTS services examples
2025-02-25 21:40:41 -08:00
Aleix Conchillo Flaqué
27161f8e3b
BaseOutputTransport: cleanup audio buffer after bot stops talking
2025-02-25 21:39:47 -08:00
Aleix Conchillo Flaqué
8acf9a488b
tts: some small HTTP-based services improvements
2025-02-25 21:39:47 -08:00
Aleix Conchillo Flaqué
96c6aeaada
Merge pull request #1295 from pipecat-ai/aleix/pipelinetask-keyword-arguments
...
PipelineTask: force constructor keyword arguments
2025-02-25 19:00:58 -08:00
Aleix Conchillo Flaqué
6722aae598
PipelineTask: force constructor keyword arguments
2025-02-25 18:58:47 -08:00
Aleix Conchillo Flaqué
66564392a6
Merge pull request #1293 from pipecat-ai/aleix/log-pipecat-version
...
log pipecat version on application startup
2025-02-25 18:57:52 -08:00
Aleix Conchillo Flaqué
f258f5ab66
Merge pull request #1292 from pipecat-ai/aleix/audiocontext-terminate-nicely
...
AudioContextWordTTSService: wait for all requested audio
2025-02-25 18:56:41 -08:00
Aleix Conchillo Flaqué
f8f0578c3d
log pipecat version on application startup
2025-02-25 18:55:45 -08:00
Aleix Conchillo Flaqué
aa60a413f3
Merge pull request #1294 from pipecat-ai/aleix/improve-test-requirements
...
improve test-requirements.txt
2025-02-25 18:55:18 -08:00
Aleix Conchillo Flaqué
3e66f2378d
improve test-requirements.txt
2025-02-25 17:34:33 -08:00
Aleix Conchillo Flaqué
9a50f33e36
AudioContextWordTTSService: wait for all requested audio
2025-02-25 15:35:47 -08:00
Aleix Conchillo Flaqué
4bd5e9c0a7
Merge pull request #1285 from pipecat-ai/aleix/handle-stop-task-gracefully
...
handle stop task gracefully
2025-02-25 11:25:38 -08:00
Mark Backman
12092c8715
Merge pull request #1288 from pipecat-ai/mb/clean-up-tts-text-input
...
TTSService: Remove newlines before sending text to TTS service to gen…
2025-02-25 14:00:43 -05:00
Mark Backman
92cc6d39f2
TTSService: Remove newlines before sending text to TTS service to generate
2025-02-25 13:37:25 -05:00
Aleix Conchillo Flaqué
34a50033cb
tk: use TkTransportParams in examples
2025-02-25 10:24:24 -08:00
Aleix Conchillo Flaqué
e60b65228b
allow multiple StartFrames
2025-02-25 10:24:04 -08:00
Mark Backman
e74864335b
Merge pull request #1287 from pipecat-ai/mb/30-observer-pipeline-task
...
Example 30: Move observers to PipelineTask
2025-02-25 12:11:23 -05:00
Mark Backman
27a088a457
Merge pull request #1286 from pipecat-ai/mb/update-grok-2
...
Set grok-2 as default model for GrokLLMSService
2025-02-25 12:11:09 -05:00
Mark Backman
cfe72143b8
Example 30: Move observers to PipelineTask
2025-02-25 10:54:25 -05:00
Mark Backman
36a729cbfe
Set grok-2 as default model for GrokLLMSService
2025-02-25 10:00:45 -05:00
Aleix Conchillo Flaqué
d2f006682c
introduce new BaseTaskManager
2025-02-24 23:38:51 -08:00
Aleix Conchillo Flaqué
fb7fe540f5
tts: don't connect to websocket if already connected
2025-02-24 23:38:51 -08:00
Aleix Conchillo Flaqué
1ec68bd071
make sure we don't create tasks if already created
2025-02-24 23:38:51 -08:00
Aleix Conchillo Flaqué
4536d03e82
FrameProcessor: cancel input/push tasks on CancelFrame
2025-02-24 23:38:51 -08:00
Aleix Conchillo Flaqué
699704732c
asyncio: re-raise CancelledError in wait_for_task()
2025-02-24 23:38:51 -08:00
Aleix Conchillo Flaqué
376d969a77
task: handle StopFrame and StopTaskFrame gracefully
2025-02-24 23:38:51 -08:00
Aleix Conchillo Flaqué
68789dfcf0
frames: add new StopFrame
2025-02-24 21:34:23 -08:00
Aleix Conchillo Flaqué
fe9fc61c4e
Merge pull request #1282 from pipecat-ai/aleix/pipelinetask-observers-constructor
...
PipelineTask: pass observers in contructor parameter
2025-02-24 21:29:46 -08:00
Aleix Conchillo Flaqué
6028f0f23a
PipelineTask: pass observers in contructor parameter
2025-02-24 21:29:17 -08:00
Aleix Conchillo Flaqué
e9a0959e28
Merge pull request #1283 from pipecat-ai/aleix/check-dangling-tasks
...
PipelineTask: add check_dangling_tasks parameter
2025-02-24 21:26:32 -08:00
Dominic Stewart
f66be2cfa7
Dom/gemini system prompt switching ( #1260 )
...
* Updated example to use Gemini
* Fixed typo
* Based on feedback, made the gemini file something that can be called separately
* Updated the readme
* Updated the readme
* Changed example to use gemini 2.0 flash lite
* This works
* Improvement
* I think this works
* Updated the code to use the correct prompt broken down into smaller pieces
* Added a few more things to detect in the prompt
* Fixed import ordering
* Updated prompt for non gemini bot to look for more voicemail examples, plus added logic to detect if we're doing dialin or not to avoid a non-fatal dialin related error
* moved terminate call to handlers class
* Simplified logic for dialin
* Forgot to use the same logic for the openai bot
* Starting to add logic for native audio input for flash lite
* Fixed logic
* Fixed some code based on suggestions
2025-02-24 22:29:55 -06:00
Aleix Conchillo Flaqué
f818bed58f
Merge pull request #1281 from pipecat-ai/aleix/google-context-aggregator-upgrade-context
...
google: updgrade OpenAILLMContext to GoogleLLMContext
2025-02-24 17:37:26 -08:00
Aleix Conchillo Flaqué
07b9be5308
PipelineTask: add check_dangling_tasks parameter
2025-02-24 17:33:10 -08:00
Aleix Conchillo Flaqué
40c2452d6e
google: updgrade OpenAILLMContext to GoogleLLMContext
2025-02-24 15:35:18 -08:00
Aleix Conchillo Flaqué
30cdd1b71a
Merge pull request #1280 from pipecat-ai/aleix/add-completion-timeout
...
services(llm): add on_completion_timeout event
2025-02-24 15:07:20 -08:00
Aleix Conchillo Flaqué
2110b79507
services(llm): add on_completion_timeout event
2025-02-24 14:55:36 -08:00
Aleix Conchillo Flaqué
fc544fa61c
Merge pull request #1272 from pipecat-ai/aleix/tts-websocket-interruptions
...
services: fix some TTS websocket service interruption handling
2025-02-24 14:54:41 -08:00
Mark Backman
976fe95304
Merge pull request #1279 from pipecat-ai/mb/remove-open-optional-dep
...
Remove `openai` optional dependency from services as it's now required
2025-02-24 17:42:53 -05:00
Aleix Conchillo Flaqué
408270b647
lmnt: don't send "eof" before closing the socket
2025-02-24 14:37:37 -08:00
Mark Backman
1dfb75bc9d
Merge pull request #1278 from pipecat-ai/mb/claude-3-7
...
Update AnthropicLLMService to use claude-3-7-sonnet-20250219 by default
2025-02-24 15:41:28 -05:00
Mark Backman
cefc2a1088
Fix test-requirements.text ordering
2025-02-24 15:06:13 -05:00
Mark Backman
3b9b9200ea
Remove openai optional dependency from services as it's now required
2025-02-24 15:05:42 -05:00
Mark Backman
d6f29a0f4b
Update AnthropicLLMService to use claude-3-7-sonnet-20250219 by default
2025-02-24 14:32:00 -05:00
Aleix Conchillo Flaqué
5b762d11ef
Merge pull request #1228 from CarlKho-Minerva/main
...
Missing Cartesia~=1.3.1 → `test-requirements`
2025-02-24 08:47:41 -08:00
Aleix Conchillo Flaqué
2f3e2da6b9
Merge pull request #1259 from pipecat-ai/openai-not-optional
...
Since the `openai` package is used by pretty much everything in pipec…
2025-02-24 08:45:45 -08:00
allenmylath
45058d4a94
Update audio_buffer_processor.py ( #1266 )
2025-02-24 08:41:19 -08:00
Aleix Conchillo Flaqué
5b637bd826
services: fix some TTS websocket service interruption handling
2025-02-24 08:37:22 -08:00
Mark Backman
2d4fd7e903
Merge pull request #1274 from pipecat-ai/mb/add-ellipsis-test
...
Add one additional ellipsis test to test_utils_string
2025-02-23 11:26:20 -05:00
Mark Backman
b5662520aa
Add one additional ellipsis test to test_utils_string
2025-02-23 11:04:24 -05:00
Aleix Conchillo Flaqué
af45c170b5
Merge pull request #1264 from pipecat-ai/aleix/add-log-observers
...
add initial log observers
2025-02-21 15:20:45 -08:00
Aleix Conchillo Flaqué
65f548b2ec
examples(30-observer): update to use LLMLogObserver
2025-02-21 15:15:16 -08:00
Aleix Conchillo Flaqué
b29ab8c608
observers: add LLMLogObserver and TranscriptionLogObserver
2025-02-21 15:15:16 -08:00
Aleix Conchillo Flaqué
d6dc37f0b6
Merge pull request #1269 from pipecat-ai/aleix/endofsentence-support-ellipses
...
utils: add support for ellipses in match_endofsentence()
2025-02-21 15:08:22 -08:00
Aleix Conchillo Flaqué
12bce2e8c0
utils: add support for ellipses in match_endofsentence()
2025-02-21 15:05:50 -08:00
Aleix Conchillo Flaqué
4acf7296e0
Merge pull request #1261 from pipecat-ai/aleix/emualted-frames-being-triggered-prematurely
...
LLMUserContextAggregator: don't reset timer with interim transcription
2025-02-21 10:15:28 -08:00
Aleix Conchillo Flaqué
98706d429c
LLMUserContextAggregator: make sure incoming transcription has text
2025-02-21 10:12:54 -08:00
Aleix Conchillo Flaqué
41720b1a13
LLMUserContextAggregator: don't reset timer with interim transcription
...
It turns out that in some cases we only get interim transcriptions (e.g. someone
is speaking very very softly or someone is talking in the background). In those
cases we don't want to interrupt the bot because there's really nothing to
interrupt the bot for.
We originally thought we should interrupt the bot right at the time we got an
interim frame, but this is causing too many false positives. It's actually
better to simply wait for a real transcription before interrupting (in case VAD
didn't interrupt).
2025-02-21 09:05:56 -08:00
Aleix Conchillo Flaqué
3ef4245166
Merge pull request #1265 from pipecat-ai/aleix/transport-remove-audio-out-is-live
2025-02-21 06:51:09 -08:00
Filipi da Silva Fuchter
3bb0797922
Merge pull request #1257 from pipecat-ai/fastapi_disconnect_issue
...
Fixed an issue where FastAPI was not triggering on_client_disconnected.
2025-02-21 09:15:15 -03:00
Filipi Fuchter
7c7b4c52af
Fixed an issue where EndTaskFrame was not triggering on_client_disconnected or closing the WebSocket in FastAPI.
2025-02-21 09:11:58 -03:00
Aleix Conchillo Flaqué
01f083b7fc
transports: remove TransportParams.audio_out_is_live
2025-02-20 23:33:06 -08:00
Aleix Conchillo Flaqué
91fcaebe25
Merge pull request #1263 from Vaibhav159/vl_fix_deepgram_sample_rate_mismatch
...
fixing deepgram mismatch
2025-02-20 22:39:06 -08:00
Vaibhav159
9c5fe5c85e
fixing deepgram mismatch
2025-02-21 09:32:40 +05:30
Aleix Conchillo Flaqué
7e5e167a4b
Merge pull request #1250 from pipecat-ai/aleix/context-aggregation-simulatenous-text-tools
...
AssistantContextAggregator: append aggregation and tools in the same turn
2025-02-20 17:32:57 -08:00
Aleix Conchillo Flaqué
d04c4b36f3
AssistantContextAggregator: append aggregation and tools in the same turn
2025-02-20 17:29:43 -08:00
Aleix Conchillo Flaqué
a811e53626
Merge pull request #1253 from pipecat-ai/aleix/http-tts-services-stopped-frame
...
HTTP TTS services stopped frame
2025-02-20 17:28:05 -08:00
Paul Kompfner
df57202a05
Since the openai package is used by pretty much everything in pipecat (due to OpenAILLMContext being the standard context representation), let's make it a non-optional dependency.
...
This change solves an issue faced by users who aren't intending to use OpenAI getting scary error messages saying that they need the `openai` optional dependency "in order to use OpenAI", along with an instruction to set the OPENAI_API_KEY environment variable.
Note that with this change we could theoretically remove from pyproject.toml a number of defined optional dependencies that list only the `openai` package as a dependency (like `deepseek`, for example), but I didn't want to "break the API" in terms of how users install/consume pipecat and its set of built-in services.
Finally, I removed the `python-deepcompare` dependency from the `openai` optional dependency, since it appears to me like it was added by mistake (my guess is it was used for debugging during development and then never removed).
2025-02-20 15:21:35 -05:00
Aleix Conchillo Flaqué
69e6f3fdb7
rime: pass aiohttp session to constructor
2025-02-20 07:36:24 -08:00
Aleix Conchillo Flaqué
6809254963
tts: fix metrics and TTSStoppedFrame frame in HTTP services
...
Fixes #1247
2025-02-20 07:36:21 -08:00
Aleix Conchillo Flaqué
81093d3bed
Merge pull request #1252 from pipecat-ai/aleix/remove-vad-extra-logging
...
BaseInputTransport: remove VAD logging
2025-02-20 07:32:20 -08:00
Aleix Conchillo Flaqué
d9a67164f6
Merge pull request #1251 from pipecat-ai/aleix/fish-tts-service-push-stop-frame
...
FishAudioTTSService should push TTSStoppedFrame
2025-02-20 07:32:05 -08:00
Aleix Conchillo Flaqué
98259af54e
update CHANGELOG
2025-02-19 22:05:48 -08:00
Dominic Stewart
039d144c79
examples(phone-bot): updated example to use Gemini ( #1233 )
2025-02-19 22:03:37 -08:00
Aleix Conchillo Flaqué
d0f67fc189
BaseInputTransport: remove VAD logging
...
These logs are very verbose. They were added to try to find an issue that
resulted in being because of low CPU/memory resources, but these logs were not
helpful to determine that.
2025-02-19 21:55:11 -08:00
Aleix Conchillo Flaqué
6e3f96aa83
fish: automatically send TTSStoppedFrame after timeout
2025-02-19 21:41:18 -08:00
Aleix Conchillo Flaqué
293677588d
tts: make push_stop_frames default to 2.0s
2025-02-19 21:39:00 -08:00
Filipi da Silva Fuchter
77e777b1ce
Merge pull request #1249 from pipecat-ai/invoking_call_start_function
...
Fixed an issue that `start_callback` was not invoked for some LLM services
2025-02-19 18:09:00 -03:00
Filipi Fuchter
7e7926059c
Fixed an issue that start_callback was not invoked for some LLM services.
2025-02-19 18:04:20 -03:00
Aleix Conchillo Flaqué
c948754eff
Merge pull request #1248 from pipecat-ai/aleix/daily-transport-room-url
...
daily: add room_url property
2025-02-19 09:46:46 -08:00
Aleix Conchillo Flaqué
83f1a8830d
daily: add room_url property
2025-02-19 09:29:53 -08:00
James Hush
80f8e05fcf
docs: fix transcripts in translation chatbot example ( #1199 )
2025-02-19 16:07:22 +08:00
Aleix Conchillo Flaqué
afd1a1e80b
Merge pull request #1245 from pipecat-ai/aleix/stt-mute-filter-trace-logging
2025-02-18 21:21:55 -08:00
Aleix Conchillo Flaqué
84ac88cad7
STTMuteFilter: change suppressed logging to trace
2025-02-18 18:03:37 -08:00
Aleix Conchillo Flaqué
211163e5c7
Merge pull request #1241 from pipecat-ai/aleix/deepgram-nova-3
...
deepgram: use the new nova-3 model as default
2025-02-18 17:53:04 -08:00
Aleix Conchillo Flaqué
1b0bcebef6
deepgram: use the new nova-3 model as default
2025-02-18 17:51:54 -08:00
Aleix Conchillo Flaqué
89736b03c4
Merge pull request #1243 from pipecat-ai/aleix/add-deepgram-addons
...
deepgram: add ability to provide custom addons
2025-02-18 17:47:48 -08:00
Aleix Conchillo Flaqué
4edda718ed
deepgram: add ability to provide custom addons
2025-02-18 17:45:41 -08:00
Aleix Conchillo Flaqué
22a62edc9e
Merge pull request #1242 from pipecat-ai/aleix/utils-network-exponential
...
network: added exponential_backoff_time() function
2025-02-18 17:44:21 -08:00
Aleix Conchillo Flaqué
50b6cc8135
network: added exponential_backoff_time() function
2025-02-18 17:42:43 -08:00
Aleix Conchillo Flaqué
45cf36925a
Merge pull request #1240 from pipecat-ai/aleix/handle-deepgram-on-error
...
deepgram: handle error event and reconnect
2025-02-18 17:41:29 -08:00
Filipi da Silva Fuchter
83a71e1fec
Merge pull request #1112 from pipecat-ai/bot-ready-signalling-rn
...
React Native client for the bot ready example.
2025-02-18 15:17:38 -03:00
Filipi Fuchter
e809c8680e
Upgrading to use the latest node stable version
2025-02-18 15:12:44 -03:00
Aleix Conchillo Flaqué
c926063d74
deepgram: handle error event and reconnect
2025-02-18 09:52:18 -08:00
Aleix Conchillo Flaqué
0334550356
Merge pull request #1238 from pipecat-ai/aleix/stt-mute-filter-ignore-input-audio-frames
...
STTMuteFilter: ignore audio frames so no transcriptions are generated
2025-02-18 09:48:13 -08:00
Aleix Conchillo Flaqué
90b9dce710
STTMuteFilter: ignore audio frames so no transcriptions are generated
2025-02-17 19:59:05 -08:00
Carl Kho
a5cdd5f1b8
Add Cartesia API key to dot-env.template
2025-02-14 21:29:37 -08:00
Carl Kho
5f937b8479
Update test requirements to include Cartesia version 1.3.1
2025-02-14 21:14:32 -08:00
fatwang2
8cda4512ad
Merge branch 'pipecat-ai:main' into main
2025-02-06 10:50:25 +08:00
Pedro Moreira
79ac696973
Add support for Piper TTS
2025-02-04 13:51:33 -03:00
Filipi Fuchter
7e3e126730
Migrating the base API URL for the react native example to an .env file.
2025-01-30 10:42:16 -03:00
Filipi Fuchter
75ca0571bb
Improving the layout from the bot ready react native demo.
2025-01-30 10:31:04 -03:00
Filipi Fuchter
a48e5d0714
Only sending the message when it is a remote audio track.
2025-01-30 10:14:37 -03:00
Filipi Fuchter
2b6a992207
Sending the app-message to start playing audio once the track has started.
2025-01-30 09:37:33 -03:00
Filipi Fuchter
24cf106ed2
Refactoring the code to ask for the room that it should connect.
2025-01-30 09:14:18 -03:00
Filipi Fuchter
95c8346cb5
Starting to create a react native client for the bot ready example.
2025-01-29 19:00:42 -03:00
fatwang2
fc90bdc638
changed to HailuoHttpTTSService
2025-01-19 09:43:48 +08:00
fatwang2
5a88165a26
Merge branch 'pipecat-ai:main' into main
2025-01-19 09:40:08 +08:00
fatwang2
3466842cd4
add hailuo tts service
2025-01-17 12:46:05 +08:00