Overview

Voice agents are vulnerable to background noise, especially other voices that trigger false interruptions. When this happens, your bot stops mid-sentence unnecessarily, creating a poor user experience. Pipecat Cloud’s Krisp integration processes incoming audio to remove ambient noise and background voices before they reach your agent, resulting in cleaner audio input with fewer false interruptions and better transcription.

Krisp processes the audio before it reaches your agent’s speech recognition and VAD systems, helping to ensure that only the intended user’s voice triggers interruptions.

Enabling Krisp

Enabling Krisp with Pipecat Cloud involves the following steps:

1. Use the Pipecat Base Image

Krisp dependencies are pre-installed in the official Pipecat base image. You don’t need to add any Krisp-related packages to your requirements.txt file. Krisp support is available in the dailyco/pipecat-base image starting with version 0.0.6.

FROM dailyco/pipecat-base:latest

COPY ./requirements.txt requirements.txt

RUN pip install --no-cache-dir --upgrade -r requirements.txt

COPY ./bot.py bot.py

If you’re not using the Pipecat base image and would like to use Krisp, please contact help@daily.co for assistance.

2. Add the Krisp Filter to Your Transport

In your bot code, import and add the KrispFilter to your transport:

from pipecat.audio.filters.krisp_filter import KrispFilter
from pipecat.audio.vad.silero import SileroVADAnalyzer
from pipecat.transports.services.daily import DailyParams, DailyTransport

transport = DailyTransport(
    room_url,
    token,
    "Voice AI Bot",
    DailyParams(
        audio_in_filter=KrispFilter(),  # Add Krisp filter here
        audioin_enabled=True,
        audio_out_enabled=True,
        vad_enabled=True,
        vad_analyzer=SileroVADAnalyzer(),
        vad_audio_passthrough=True,
    ),
)

3. Enable Krisp in Your Deployment

You can enable Krisp when deploying your agent through:

bash pcc deploy --enable-krisp true

Once configured, your agent will process incoming audio through Krisp’s noise cancellation.

Testing Your Integration

To verify Krisp is working:

  1. Deploy your agent with Krisp enabled
  2. Connect to your agent in an environment with background noise; try turning on a TV or podcast
  3. Observe whether background noises and voices affect your agent’s behavior

Pricing

Krisp processing is billed based on active session minutes:

Usage TierPrice
First 100,000 minutes per monthFree
Additional minutes$0.0002 per minute

For agents deployed with Krisp enabled, active session minutes count as Krisp usage, accruing towards your monthly bill.

Troubleshooting

If you’re experiencing issues with Krisp noise cancellation:

  • Verify enable_krisp is set to true in your deployment configuration
  • Confirm you’ve added the KrispFilter() to your transport configuration
  • Check your logs for any Krisp-related error messages