v0.0.64
pipecat-ai/pipecatv0.0.64Apr 23, 2025by aconchillo
AI Summary
Release adding automatic hangup logic to Twilio serializer, SmartTurnMetricsData, smart turn detection support, and Google services support for Application Default Credentials.
Key Highlights
- Added automatic hangup logic to Twilio serializer
- Added SmartTurnMetricsData to MetricsFrame for prediction confidence scores
- Added support for Smart Turn Detection with HttpSmartTurnAnalyzer, FalSmartTurnAnalyzer, and LocalCoreMLSmartTurnAnalyzer
- Added Google services support for Application Default Credentials
Breaking Changes
- DeepgramSTTService parameter url is deprecated, use base_url instead
- Parameters user_kwargs and assistant_kwargs when creating context aggregator pair have been removed
New Features
- Automatic hangup logic to Twilio serializer
- SmartTurnMetricsData
- HttpSmartTurnAnalyzer and FalSmartTurnAnalyzer
- LocalCoreMLSmartTurnAnalyzer
- DeepgramTTSService accepts base_url argument
- LLMUserAggregatorParams and LLMAssistantAggregatorParams
- previous_text context support to ElevenLabsHttpTTSService
- Word/timestamp pairs to ElevenLabsHttpTTSService
- MixerEnableFrame to dynamically enable SoundfileMixer
- on_client_connected and on_client_disconnected event handlers to DailyTransport
Full Release Notes
### Added - Added automatic hangup logic to the Twilio serializer. This feature hangs up the Twilio call when an `EndFrame` or `CancelFrame` is received. It is enabled by default and is configurable via the `auto_hang_up` `InputParam`. - Added `SmartTurnMetricsData`, which contains end-of-turn prediction metrics, to the `MetricsFrame`. Using `MetricsFrame`, you can now retrieve prediction confidence scores and processing time metrics from the smart turn analyzers. - Added support for Application Default Credentials in Google services, `GoogleSTTService`, `GoogleTTSService`, and `GoogleVertexLLMService`. - Added support for Smart Turn Detection via the `turn_analyzer` transport parameter. You can now choose between `HttpSmartTurnAnalyzer()` or `FalSmartTurnAnalyzer()` for remote inference or `LocalCoreMLSmartTurnAnalyzer()` for on-device inference using Core ML. - `DeepgramTTSService` accepts `base_url` argument again, allowing you to connect to an on-prem service. - Added `LLMUserAggregatorParams` and `LLMAssistantAggregatorParams` which allow you to control aggregator settings. You can now pass these arguments when creating aggregator pairs with `create_context_aggregator()`. - Added `previous_text` context support to ElevenLabsHttpTTSService, improving speech consistency across sentences within an LLM response. - Added word/timestamp pairs to `ElevenLabsHttpTTSService`. - It is now possible to disable `SoundfileMixer` when created. You can then use `MixerEnableFrame` to dynamically enable it when necessary. - Added `on_client_connected` and `on_client_disconnected` event handlers to the `DailyTransport` class. These handlers map to the same underlying Daily events as `on_participant_joined` and `on_participant_left`, respectively. This makes it easier to write a single bot pipeline that can also use other transports like `SmallWebRTCTransport` and `FastAPIWebsocketTransport`. ### Changed - `GrokLLMService` now uses `grok-3-beta` as its default model. - Daily's REST helpers now include an `eject_at_token_exp` param, which ejects the user when their token expires. This new parameter defaults to False. Also, the default value for `enable_prejoin_ui` changed to False and `eject_at_room_exp` changed to False. - `OpenAILLMService` and `OpenPipeLLMService` now use `gpt-4.1` as their default model. - `SoundfileMixer` constructor arguments need to be keywords. ### Deprecated - `DeepgramSTTService` parameter `url` is now deprecated, use `base_url` instead. ### Removed - Parameters `user_kwargs` and `assistant_kwargs` when creating a context aggregator pair using `create_context_aggregator()` have been removed. Use `user_params` and `assistant_params` instead. ### Fixed - Fixed an issue that would cause TTS websocket-based services to not cleanup resources properly when disconnecting. - Fixed a `TavusVideoService` issue that was causing audio choppiness. - Fixed an issue in `SmallWebRTCTransport` where an error was thrown if the client did not create a video transceiver. - Fixed an issue where LLM input parameters were not working and applied correctly in `GoogleVertexLLMService`, causing unexpected behavior during inference. ### Other - Updated the `twilio-chatbot` example to use the auto-hangup feature.