Pipecat has a pipeline-based architecture. The pipeline consists of frame processors linked to each other. The elements travelling across the pipeline are called frames. To have a deterministic behavior the frames travelling through the pipeline are awlays ordered, except system frames which are out-of-band frames. To achieve ordering each frame processor only outputs frames from a single task. This single task is internally created in each FrameProcessor and the developer doesn't need to know much about it, except conceptually. Having a single output task avoids problems such as audio overlapping.
3.6 KiB
3.6 KiB