Skip to main content
In this tutorial, you’ll learn how to enable noise suppression for the Voice API and TeXML calls. Noise suppression works for both AI-powered calls (like AI Assistants and Gather Using AI) and regular voice calls. While it improves audio quality across all call types by reducing background noise, the biggest value comes from enhanced AI performance—cleaner audio leads to more accurate speech recognition and better AI responses. This makes noise suppression especially valuable for AI use cases where audio quality directly impacts user experience.

Voice API

The noise suppression can be enabled for the Voice API calls in the following way:
Don’t forget to update YOUR_API_KEY here.
The only parameter required for the request is direction which can have one of the following options: inbound | outbound | both. Please be aware that the charge is applied for each direction separately.
    curl --request POST \
    --url https://api.telnyx.com/v2/calls/${call_control_id}/actions/suppression_start \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer YOUR_API_KEY \
    --header 'Content-Type: application/json' \
    --data '{
        "direction": "inbound"
    }'
The noise suppression can be stopped at any time in the following way:
    curl --request POST \
    --url https://api.telnyx.com/v2/calls/${call_control_id}/actions/suppression_stop \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer YOUR_API_KEY \
    --header 'Content-Type: application/json' \
    --data '{}'

Supported engines

Telnyx offers six noise suppression engines, each optimized for different use cases:
EngineValueDescriptionBest for
DenoiserDenoiserBuilt-in, general-purpose noise reductionDefault option for most calls
DeepFilterNetDeepFilterNetOpen-source, full-band 48 kHz processingTelephony and WebRTC
Krisp Viva Tel LiteKrisp Viva Tel LiteTelephony up to 16 kHz, isolates primary speakerTelephony with speaker isolation
Krisp Viva ProKrisp Viva ProWebRTC 16–32 kHz, full voice isolationClose-microphone WebRTC calls
Krisp Viva SSKrisp Viva SSWebRTC 16–32 kHz, far-field optimizedSmart speakers and far-field microphones
AI-coustics QuailAI-coustics QuailSTT-optimized, up to 43% WER reductionAI and speech recognition workloads

Choosing an engine

  • For standard telephony, use Denoiser (default) or Krisp Viva Tel Lite for speaker isolation.
  • For WebRTC calls, use Krisp Viva Pro (close mic) or Krisp Viva SS (far-field/smart speaker).
  • For AI-powered calls (AI Assistants, Gather Using AI), consider AI-coustics Quail for the best speech recognition accuracy.
Set the engine using the noise_suppression_engine parameter:
    curl --request POST \
    --url https://api.telnyx.com/v2/calls/${call_control_id}/actions/suppression_start \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer YOUR_API_KEY' \
    --header 'Content-Type: application/json' \
    --data '{
        "direction": "inbound",
        "noise_suppression_engine": "Krisp Viva Pro"
    }'

TeXML

In TeXML there is a dedicated verb for enabling the noise suppression on the call.
<Response>
    <Start>
        <Suppression direction="inbound" noise_suppression_engine="Krisp Viva Pro"/>
    </Start>
...
    <Stop>
        <Suppression/>
    </Stop>
</Response>