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:
| Engine | Value | Description | Best for |
|---|
| Denoiser | Denoiser | Built-in, general-purpose noise reduction | Default option for most calls |
| DeepFilterNet | DeepFilterNet | Open-source, full-band 48 kHz processing | Telephony and WebRTC |
| Krisp Viva Tel Lite | Krisp Viva Tel Lite | Telephony up to 16 kHz, isolates primary speaker | Telephony with speaker isolation |
| Krisp Viva Pro | Krisp Viva Pro | WebRTC 16–32 kHz, full voice isolation | Close-microphone WebRTC calls |
| Krisp Viva SS | Krisp Viva SS | WebRTC 16–32 kHz, far-field optimized | Smart speakers and far-field microphones |
| AI-coustics Quail | AI-coustics Quail | STT-optimized, up to 43% WER reduction | AI 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>