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.