Mark Backman
1e1160906e
Update on_user_idle to on_user_turn_idle
2026-01-17 07:04:27 -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é
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
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
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
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é
c7ab87b0cc
turns: move mute to user_mute
2026-01-16 11:07:20 -08: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
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
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
21aaa48e62
Fix pydantic issues impacting autodoc
2026-01-15 17:29:47 -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
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
Neil Ruaro
f60eeaa212
reverted uv.lock, updated readthedocs.yaml, copyright year updates
2026-01-16 02:50:18 +08:00
Neil Ruaro
80604ba7b6
remove _update_settings method
2026-01-16 02:00:48 +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
7ae0d651d6
added cambai tts integration
2026-01-16 01:18:36 +08: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é
9e705ce768
UserTurnController: reset user turn start strategies when turn triggered
2026-01-14 18:20:29 -08: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
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é
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