DtmfAggregator

class pipecat.processors.aggregators.dtmf_aggregator.DTMFAggregator(timeout=2.0, termination_digit=KeypadEntry.POUND, prefix='DTMF: ', **kwargs)[source]

Bases: FrameProcessor

Aggregates DTMF frames into meaningful sequences for LLM processing.

The aggregator accumulates digits from InputDTMFFrame instances and flushes when: - Timeout occurs (configurable idle period) - Termination digit is received (default: ‘#’) - EndFrame or CancelFrame is received

Emits TranscriptionFrame for compatibility with existing LLM context aggregators.

Parameters:
  • timeout (float) – Idle timeout in seconds before flushing

  • termination_digit (KeypadEntry) – Digit that triggers immediate flush

  • prefix (str) – Prefix added to DTMF sequence in transcription

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

  • direction (FrameDirection)

Return type:

None

async cleanup()[source]

Clean up resources.

Return type:

None