James Hush
97c7820372
Fix copyright
2026-03-05 11:17:02 +08:00
James Hush
7d957292e0
Rename to 57, extract content check into helper method
2026-03-05 11:14:36 +08:00
James Hush
218ab01070
Use ParallelPipeline for content filter in example 07
...
Run the content filter concurrently with LLM text generation
using ParallelPipeline, with a ContentFilterGate that blocks
output until the filter approves or rejects the content.
2026-03-05 11:08:56 +08:00
James Hush
9dbd923cfc
Make separate file
2026-03-05 10:41:53 +08: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
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
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
Filipi Fuchter
277e2d7fc0
Merge branch 'main' into simple_chatbot-react-native
2025-05-08 09:03:16 -03: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
Filipi Fuchter
40154824e8
Creating a RN example for simple-chatbot
2025-05-05 18:17:39 -03:00
Jin Kim
cf2f249f8a
Use "use_original_timestamps" only for sonic-2 model
2025-04-27 19:33:14 +09:00
fatwang2
8cda4512ad
Merge branch 'pipecat-ai:main' into main
2025-02-06 10:50:25 +08: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