Two independent settings on opposite ends of the call: noise_cancellation cleans the audio coming in from the caller, and background_audio mixes sound into what the agent sends out. Voice and video only; a text agent has neither.

Noise cancellation

Speech enhancement at the front of the input chain: speech-to-text, the voice-activity detector and the call recording all get the cleaned signal.
Choosing a model: quail_vf_s and quail_vf_l (Voice Focus) isolate the one person talking and suppress other voices; quail_vf_l costs much more CPU with no documented accuracy gain. quail_l keeps every voice and removes only noise — use it when more than one person should be heard (a speakerphone).
Noise cancellation runs on your own ai-coustics key, billed by ai-coustics and not included in the per-minute estimate. Publishing with enabled: true and no key is refused (no ai-coustics API key for this workspace - add one under Provider keys). The key is not needed while enabled is false. See provider keys.
If the key is rejected or the enhancer cannot handle the stream, it disables itself and the call continues on raw audio. The call’s trace then carries a noise_cancellation.failed event — see debugging agents.

Background audio

Ambient and “thinking” sounds mixed into the agent’s output.
During a transfer the ambient bed stops and hold music plays while the other phone rings, whatever ambient is. Hold music plays at 0.8, or at ambient_volume if the agent’s ambient is already hold_music. If the transfer fails and the caller returns, the ambient bed resumes.

Next

Speech and turn detection

What the cleaned audio feeds.

Provider keys

Adding the ai-coustics key.