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é
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é
ddfedaf478
audio(vad): add new VADController
2026-01-30 10:07:34 -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é
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
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é
eb1bf1e446
tts: rename PiperTTSService to PiperHttpTTSService
2026-01-28 23:27:32 -08:00
Aleix Conchillo Flaqué
55dadc9118
tests(genesys): fix formatting
2026-01-28 09:15:42 -08:00
Luke Payyapilli
ff0eb6d286
fix: emit ErrorFrame on LLM completion timeout
2026-01-28 09:44:32 -05: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
e80e0eab29
Emit on_assistant_turn_stopped and on_user_turn_stopped from EndFrame or CancelFrame
2026-01-27 14:50:10 -05:00
Gökmen Görgen
a824660df7
add unit tests for AICVADAnalyzer and AICFilter.
2026-01-26 09:56:36 +01:00
Aleix Conchillo Flaqué
eacd2a4b71
FrameProcessor: add broadcast_frame_instance()
2026-01-21 18:14:17 -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
Luke Payyapilli
f6359d460e
chore: install livekit as optional extra in CI instead of dev dep
2026-01-20 09:16:16 -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
Luke Payyapilli
dfc1f09b77
fix(livekit): prevent memory leak when video_in_enabled is False
2026-01-19 11:00:23 -05:00
Mark Backman
ce7d823770
Remove unused imports
2026-01-18 08:22:22 -05:00
Mark Backman
1e1160906e
Update on_user_idle to on_user_turn_idle
2026-01-17 07:04:27 -05:00
Mark Backman
2e8e574ea5
Add UserIdleController, deprecate UserIdleProcessor
2026-01-16 18:44:19 -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
Mark Backman
f3c2e29fb4
Clean up CambTTSService
2026-01-15 15:59:17 -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
Aleix Conchillo Flaqué
24a52375c7
tests: added LLMAssistantAggregator unit tests
2026-01-09 09:50:21 -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é
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é
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
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
Luke Payyapilli
ccd795445f
Fix protobuf serializer test to compare attributes instead of frame objects
2026-01-08 17:00:40 -05:00
Luke Payyapilli
b52ae0e56b
Fix FastAPIWebsocketTransport to handle both binary and text messages
2026-01-08 11:25:18 -05:00
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
Aleix Conchillo Flaqué
846ca500d3
turns: update old turn_start_strategies deprecations
2025-12-30 19:50:10 -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
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
Aleix Conchillo Flaqué
ffbbb1b3f5
turns(user): add support for enabling/disabling interruptions
2025-12-29 17:00:03 -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