Merge pull request #238 from pipecat-ai/aleix/pipecat-0.0.31

pipecat 0.0.31
This commit is contained in:
Aleix Conchillo Flaqué
2024-06-14 06:31:41 +08:00
committed by GitHub
2 changed files with 16 additions and 10 deletions

View File

@@ -5,6 +5,12 @@ All notable changes to **pipecat** will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.0.31] - 2024-06-13
### Performance
- Break long audio frames into 20ms chunks instead of 10ms.
## [0.0.30] - 2024-06-13 ## [0.0.30] - 2024-06-13
### Added ### Added
@@ -18,6 +24,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Allow specifying frame processors' name through a new `name` constructor - Allow specifying frame processors' name through a new `name` constructor
argument. argument.
- Added `DeepgramSTTService`. This service has an ongoing websocket
connection. To handle this, it subclasses `AIService` instead of
`STTService`. The output of this service will be pushed from the same task,
except system frames like `StartFrame`, `CancelFrame` or
`StartInterruptionFrame`.
### Changed ### Changed
- `FrameSerializer.deserialize()` can now return `None` in case it is not - `FrameSerializer.deserialize()` can now return `None` in case it is not
@@ -25,12 +37,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `daily_rest.DailyRoomProperties` now allows extra unknown parameters. - `daily_rest.DailyRoomProperties` now allows extra unknown parameters.
- Added `DeepgramSTTService`. This service has an ongoing websocket
connection. To handle this, it subclasses `AIService` instead of
`STTService`. The output of this service will be pushed from the same task,
except system frames like `StartFrame`, `CancelFrame` or
`StartInterruptionFrame`.
### Fixed ### Fixed
- Fixed an issue where `DailyRoomProperties.exp` always had the same old - Fixed an issue where `DailyRoomProperties.exp` always had the same old

View File

@@ -59,11 +59,11 @@ class BaseOutputTransport(FrameProcessor):
self._stopped_event = asyncio.Event() self._stopped_event = asyncio.Event()
self._is_interrupted = threading.Event() self._is_interrupted = threading.Event()
# We will send 10ms audio which is the smallest possible amount of audio # We will write 20ms audio at a time. If we receive long audio frames we
# we can send. If we receive long audio frames we will chunk them into # will chunk them. This will help with interruption handling.
# 10ms. This will help with interruption handling. audio_bytes_10ms = int(self._params.audio_out_sample_rate / 100) * \
self._audio_chunk_size = int(self._params.audio_out_sample_rate / 100) * \
self._params.audio_out_channels * 2 self._params.audio_out_channels * 2
self._audio_chunk_size = audio_bytes_10ms * 2
# Create push frame task. This is the task that will push frames in # Create push frame task. This is the task that will push frames in
# order. We also guarantee that all frames are pushed in the same task. # order. We also guarantee that all frames are pushed in the same task.