wake_check_filter

Wake phrase detection filter for Pipecat transcription processing.

Deprecated since version 0.0.106: Use WakePhraseUserTurnStartStrategy instead.

This module provides a frame processor that filters transcription frames, only allowing them through after wake phrases have been detected. Includes keepalive functionality to maintain conversation flow after wake detection.

class pipecat.processors.filters.wake_check_filter.WakeCheckFilter(wake_phrases: list[str], keepalive_timeout: float = 3)[source]

Bases: FrameProcessor

Frame processor that filters transcription frames based on wake phrase detection.

Deprecated since version 0.0.106: Use WakePhraseUserTurnStartStrategy instead, which integrates with the user turn strategy system and supports configurable timeouts and single-activation mode.

This filter monitors transcription frames for configured wake phrases and only passes frames through after a wake phrase has been detected. Maintains a keepalive timeout to allow continued conversation after wake detection.

class WakeState(*values)[source]

Bases: Enum

Enumeration of wake detection states.

Parameters:
  • IDLE – No wake phrase detected, filtering active.

  • AWAKE – Wake phrase detected, allowing frames through.

IDLE = 1
AWAKE = 2
class ParticipantState(participant_id: str)[source]

Bases: object

State tracking for individual participants.

Parameters:
  • participant_id – Unique identifier for the participant.

  • state – Current wake state (IDLE or AWAKE).

  • wake_timer – Timestamp of last wake phrase detection.

  • accumulator – Accumulated text for wake phrase matching.

__init__(participant_id: str)[source]

Initialize participant state.

Parameters:

participant_id – Unique identifier for the participant.

__init__(wake_phrases: list[str], keepalive_timeout: float = 3)[source]

Initialize the wake phrase filter.

Deprecated since version 0.0.106: Use WakePhraseUserTurnStartStrategy instead.

Parameters:
  • wake_phrases – List of wake phrases to detect in transcriptions.

  • keepalive_timeout – Duration in seconds to keep passing frames after wake detection. Defaults to 3 seconds.

async process_frame(frame: Frame, direction: FrameDirection)[source]

Process incoming frames, filtering transcriptions based on wake detection.

Parameters:
  • frame – The frame to process.

  • direction – The direction of frame flow in the pipeline.