v0.0.61

pipecat-ai/pipecatv0.0.61Mar 26, 2025by aconchillo

AI Summary

This release adds Groq TTS support, expands ElevenLabs capabilities to 8kHz, and enhances OpenAI Realtime Beta with new session properties.

Key Highlights

  • Added GroqTTSService for text-to-speech.
  • ElevenLabs TTS now supports 8000 Hz sample rate.
  • Added LLMSetToolChoiceFrame to modify tool choice dynamically.

New Features

  • GroqTTSService
  • LLMSetToolChoiceFrame
  • DailyTransport update_remote_participants method

Full Release Notes

### Added

- Added a new frame, `LLMSetToolChoiceFrame`, which provides a mechanism for modifying the `tool_choice` in the context.

- Added `GroqTTSService` which provides text-to-speech functionality using Groq's API.

- Added support in `DailyTransport` for updating remote participants' `canReceive` permission via the `update_remote_participants()` method, by bumping the daily-python dependency to >= 0.16.0.

- ElevenLabs TTS services now support a sample rate of 8000.

- Added support for `instructions` in `OpenAITTSService`.

- Added support for `base_url` in `OpenAIImageGenService` and `OpenAITTSService`.

### Fixed

- Fixed an issue in `RTVIObserver` that prevented handling of Google LLM context messages. The observer now processes both OpenAI-style and Google-style contexts.

- Fixed an issue in Daily involving switching virtual devices, by bumping the daily-python dependency to >= 0.16.1.

- Fixed a `GoogleAssistantContextAggregator` issue where function calls placeholders where not being updated when then function call result was different from a string.

- Fixed an issue that would cause `LLMAssistantContextAggregator` to block processing more frames while processing a function call result.

- Fixed an issue where the `RTVIObserver` would report two bot started and stopped speaking events for each bot turn.

- Fixed an issue in `UltravoxSTTService` that caused improper audio processing and incorrect LLM frame output.

### Other

- Added `examples/foundational/07x-interruptible-local.py` to show how a local transport can be used.