Aleix Conchillo Flaqué
9eba8f1637
services: restructure base AI services into modules
2025-03-31 13:53:36 -07:00
Aleix Conchillo Flaqué
750bb88586
SegmentedSTTService: ignore emulated frames
2025-03-26 14:38:48 -07:00
Aleix Conchillo Flaqué
01458895c2
LLMAssistantContextAggregator: create a task to run on_context_updated
2025-03-25 14:37:11 -07: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
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é
a98000fd1d
function calling now run in tasks
2025-03-20 08:51:25 -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é
a3b5e4413a
WebsocketTTSService: add on_connection_error and reconnect_on_error
2025-03-19 19:38:08 -07:00
Aleix Conchillo Flaqué
48d73a2636
SegmentedSTTService: allow audio to pass-through downstream
2025-03-19 11:06:12 -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é
514ecda755
TTSService: allow passing multiple text filters and aggregators
2025-03-18 17:31:01 -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é
740ba4e759
ai_services: fix abstractmethod issues
2025-03-11 14:29:03 -07:00
Filipi Fuchter
5967ac0d4f
Implementing unified format for function calling.
2025-03-05 14:10:32 -03: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
92cc6d39f2
TTSService: Remove newlines before sending text to TTS service to generate
2025-02-25 13:37:25 -05:00
Aleix Conchillo Flaqué
e60b65228b
allow multiple StartFrames
2025-02-25 10:24:04 -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é
2110b79507
services(llm): add on_completion_timeout event
2025-02-24 14:55:36 -08:00
Aleix Conchillo Flaqué
5b637bd826
services: fix some TTS websocket service interruption handling
2025-02-24 08:37:22 -08:00
Aleix Conchillo Flaqué
293677588d
tts: make push_stop_frames default to 2.0s
2025-02-19 21:39:00 -08: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é
329e89c1d9
TTSService: push BotStoppedSpeakingFrame
2025-02-14 18:47:33 -08:00
Aleix Conchillo Flaqué
1f5b790dd0
TTSService: reset processing text during interruptions
2025-02-14 18:47:33 -08:00
Aleix Conchillo Flaqué
67da745bb3
tts: make frame pausing/resuming optional
2025-02-14 18:47:33 -08:00
Aleix Conchillo Flaqué
5126d4de92
tts: handle incoming frames pausing/resuming from base TTSService class
2025-02-14 18:47:33 -08:00
Aleix Conchillo Flaqué
cacb07f4c2
introduce AudioContextWordTTSService
2025-02-14 11:55:54 -08:00
Aleix Conchillo Flaqué
c744409651
SegmentedSTTService: fix process_audio_frame() arguments
2025-02-13 15:25:22 -08:00
Mark Backman
84143cc80c
self._muted now returns from STT process_audio_frames
2025-02-13 07:00:44 -05:00
Aleix Conchillo Flaqué
c4dbe92b30
prefer Optional over to "| None"
2025-02-06 11:11:37 -08:00
Aleix Conchillo Flaqué
ab45e481be
introduce PipelineParams audio input/output sample rates
2025-02-04 14:12:56 -08:00
Aleix Conchillo Flaqué
41d60a14cc
introduce TaskManager and PipelineRunner event loop
2025-01-30 13:10:36 -08:00
Aleix Conchillo Flaqué
665a6017f9
services(tts): allow pushing silence audio before TTSStoppedFrame
2025-01-30 08:46:56 -08:00
Aleix Conchillo Flaqué
2a2928d96c
gemini: create transcribe tasks only once
2025-01-27 14:42:23 -08:00
Aleix Conchillo Flaqué
d1a3f404a5
improve task creation and cancellation
...
If a FrameProcessor needs to create a task it should use
FrameProcessor.create_task() and FrameProcessor.cancel_task(). This gives
Pipecat more control over all the tasks that are created in Pipecat.
Both functions internally use the utils module: utils.create_task() and
utils.cancel_task() which should also be used outside of FrameProcessors. That
is, unless strictly necessary, we should avoid using asyncio.create_task().
2025-01-27 14:42:23 -08:00
Mark Backman
fdef8a97e2
Remove @abstractmethod from set_model and set_model in TTSService class
2025-01-16 21:36:51 -05:00
Mark Backman
119bc7e35f
Update check to exclude transcription frames
2025-01-16 16:43:46 -05:00
Mark Backman
67e47a388d
TTSService should only process LLMTextFrames
2025-01-16 10:03:24 -05:00
Aleix Conchillo Flaqué
2d0f3341c3
frames: add LLMTextFrame and TTSTextFrame
...
This is to distinguish what type of service has generated the TextFrames.
2025-01-15 17:43:59 -08:00
Aleix Conchillo Flaqué
95e69597f3
update copyright keeping original year (2024)
2025-01-12 11:34:00 -08:00
Mert Sefa AKGUN
7ec351813c
style(ai_services): fix import order with ruff
2025-01-11 13:04:26 +03:00
Mert Sefa AKGUN
df6c2fc403
fix(services): handle TranscriptionFrame separately in TTSService
...
Exclude TranscriptionFrame from text frame processing in TTSService by updating the type check condition. This resolves unintended processing behavior when handling different frame types.
2025-01-11 13:00:38 +03:00
Mark Backman
4667624b60
Update copyright to 2025
2025-01-06 10:19:37 -05:00
Aleix Conchillo Flaqué
6d11911d83
Revert "no longer necessary to call super().process_frame(frame, direction)"
2024-12-12 17:03:40 -08:00
Aleix Conchillo Flaqué
3c3fd67d96
no longer necessary to call super().process_frame(frame, direction)
2024-12-12 13:03:41 -08:00
Mark Backman
33108f5798
Code review feedback
2024-11-14 17:05:08 -05:00