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
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
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
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
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
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
700a94222b
fix(smallwebrtc): suppress timeout warnings when tracks are disabled
2026-01-01 22:00:08 +05:30
Sam Sykes
8203ad08a8
Updated to have default as FIXED for Pipecat VAD.
2025-12-31 19:05:29 +00: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é
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
0663bbc2fb
added encoding validation in DeepgramTTSService
2025-12-31 08:33:17 +05:30
Sam Sykes
f7c74cfa80
Updated VAD
2025-12-31 01:28:31 +00:00
Aleix Conchillo Flaqué
eb5a797b12
turns: rename bot turn start to user turn stop strategies
2025-12-30 14:33:58 -08: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
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
bad8f8aa51
Fix rnnoise filter to handle empty audio
2025-12-30 13:32:36 +02:00
Aleix Conchillo Flaqué
0a0ab51cc7
LLMUserAggregator: also read deprecated allow_interruptions
2025-12-29 17:57:18 -08: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
Aleix Conchillo Flaqué
9fe99ed880
add and update changelog entries
2025-12-29 17:35:10 -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é
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
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é
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
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
Om Chauhan
a181e01310
fixed: create_task to return coroutine result
2025-12-29 07:46:15 +05:30