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.