v0.0.46

pipecat-ai/pipecatv0.0.46Oct 20, 2024by aconchillo

AI Summary

This release adds audio passthrough for STT services, PlayHT service updates, and renames OpenAILLMServiceRealtimeBeta.

Key Highlights

  • Added audio_passthrough parameter to STTService
  • Updated PlayHT services to use websocket and PlayHT3.0-mini
  • Renamed OpenAILLMServiceRealtimeBeta to OpenAIRealtimeBetaLLMService
  • Moved SileroVAD audio processor to processors.audio.vad
  • Module utils.audio is now audio.utils

Breaking Changes

  • vad package is deprecated, audio.vad should be used instead
  • LLMUserResponseAggregator and LLMAssistantResponseAggregator are deprecated, use OpenAILLMContext instead

New Features

  • Added resample_audio function to audio.utils
  • PlayHTTTSService now uses PlayHT3.0-mini voice engine
  • Input frames are now system frames processed immediately

Full Release Notes

### Added

- Added `audio_passthrough` parameter to `STTService`. If enabled it allows audio frames to be pushed downstream in case other processors need them.

- Added input parameter options for `PlayHTTTSService` and `PlayHTHttpTTSService`.

### Changed

- Changed `DeepgramSTTService` model to `nova-2-general`.

- Moved `SileroVAD` audio processor to `processors.audio.vad`.

- Module `utils.audio` is now `audio.utils`. A new `resample_audio` function has been added.

- `PlayHTTTSService` now uses PlayHT websockets instead of HTTP requests.

- The previous `PlayHTTTSService` HTTP implementation is now `PlayHTHttpTTSService`.

- `PlayHTTTSService` and `PlayHTHttpTTSService` now use a `voice_engine` of `PlayHT3.0-mini`, which allows for multi-lingual support.

- Renamed `OpenAILLMServiceRealtimeBeta` to `OpenAIRealtimeBetaLLMService` to match other services.

### Deprecated

- `LLMUserResponseAggregator` and `LLMAssistantResponseAggregator` are mostly deprecated, use `OpenAILLMContext` instead.

- The `vad` package is now deprecated and `audio.vad` should be used instead. The `avd` package will get removed in a future release.

### Fixed

- Fixed an issue that would cause an error if no VAD analyzer was passed to `LiveKitTransport` params.

- Fixed `SileroVAD` processor to support interruptions properly.

### Other

- Added `examples/foundational/07-interruptible-vad.py`. This is the same as `07-interruptible.py` but using the `SileroVAD` processor instead of passing the `VADAnalyzer` in the transport.