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