updated CHANGELOG with sync/async frame processors
This commit is contained in:
31
CHANGELOG.md
31
CHANGELOG.md
@@ -9,13 +9,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Added `CartesiaHttpTTSService`. This is a synchronous frame processor
|
- Pipecat has a pipeline-based architecture. The pipeline consists of frame
|
||||||
(i.e. given an input text frame it will wait for the whole output before
|
processors linked to each other. The elements traveling across the pipeline
|
||||||
returning).
|
are called frames.
|
||||||
|
|
||||||
- A clock can now be specified to `PipelineTask` (defaults to
|
To have a deterministic behavior the frames traveling through the pipeline
|
||||||
`SystemClock`). This clock will be passed to each frame processor via the
|
should always be ordered, except system frames which are out-of-band
|
||||||
`StartFrame`.
|
frames. To achieve that, each frame processor should only output frames from a
|
||||||
|
single task.
|
||||||
|
|
||||||
|
In this version we introduce synchronous and asynchronous frame
|
||||||
|
processors. The synchronous processors push output frames from the same task
|
||||||
|
that they receive input frames, and therefore only pushing frames from one
|
||||||
|
task. Asynchronous frame processors can have internal tasks to perform things
|
||||||
|
asynchronously (e.g. receiving data from a websocket) but they also have a
|
||||||
|
single task where they push frames from.
|
||||||
|
|
||||||
|
By default, frame processors are synchronous. To change a frame processor to
|
||||||
|
asynchronous you only need to pass `sync=False` to the base class constructor.
|
||||||
|
|
||||||
- Added pipeline clocks. A pipeline clock is used by the output transport to
|
- Added pipeline clocks. A pipeline clock is used by the output transport to
|
||||||
know when a frame needs to be presented. For that, all frames now have an
|
know when a frame needs to be presented. For that, all frames now have an
|
||||||
@@ -23,6 +34,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
clock implementation `SystemClock` and the `pts` field is currently only used
|
clock implementation `SystemClock` and the `pts` field is currently only used
|
||||||
for `TextFrame`s (audio and image frames will be next).
|
for `TextFrame`s (audio and image frames will be next).
|
||||||
|
|
||||||
|
- A clock can now be specified to `PipelineTask` (defaults to
|
||||||
|
`SystemClock`). This clock will be passed to each frame processor via the
|
||||||
|
`StartFrame`.
|
||||||
|
|
||||||
|
- Added `CartesiaHttpTTSService`. This is a synchronous frame processor
|
||||||
|
(i.e. given an input text frame it will wait for the whole output before
|
||||||
|
returning).
|
||||||
|
|
||||||
- `DailyTransport` now supports setting the audio bitrate to improve audio
|
- `DailyTransport` now supports setting the audio bitrate to improve audio
|
||||||
quality through the `DailyParams.audio_out_bitrate` parameter. The new
|
quality through the `DailyParams.audio_out_bitrate` parameter. The new
|
||||||
default is 96kbps.
|
default is 96kbps.
|
||||||
|
|||||||
Reference in New Issue
Block a user