koala_filter

Koala noise suppression audio filter for Pipecat.

This module provides an audio filter implementation using PicoVoice’s Koala Noise Suppression engine to reduce background noise in audio streams.

class pipecat.audio.filters.koala_filter.KoalaFilter(*, access_key: str)[source]

Bases: BaseAudioFilter

Audio filter using Koala Noise Suppression from PicoVoice.

Provides real-time noise suppression for audio streams using PicoVoice’s Koala engine. The filter buffers audio data to match Koala’s required frame length and processes it in chunks.

__init__(*, access_key: str) None[source]

Initialize the Koala noise suppression filter.

Parameters:

access_key – PicoVoice access key for Koala engine authentication.

async start(sample_rate: int)[source]

Initialize the filter with the transport’s sample rate.

Parameters:

sample_rate – The sample rate of the input transport in Hz.

async stop()[source]

Clean up the Koala engine when stopping.

async process_frame(frame: FilterControlFrame)[source]

Process control frames to enable/disable filtering.

Parameters:

frame – The control frame containing filter commands.

async filter(audio: bytes) bytes[source]

Apply Koala noise suppression to audio data.

Buffers incoming audio and processes it in chunks that match Koala’s required frame length. Returns filtered audio data.

Parameters:

audio – Raw audio data as bytes to be filtered.

Returns:

Noise-suppressed audio data as bytes.