Skip to content

feat: add clientSideNoiseCancellationEnabled option to start() and reconnect() - #195

Open
murat-solidroad wants to merge 4 commits into
VapiAI:mainfrom
murat-solidroad:noise-cancellation-option
Open

murat-solidroad wants to merge 4 commits into
VapiAI:mainfrom
murat-solidroad:noise-cancellation-option

Conversation

@murat-solidroad

@murat-solidroad murat-solidroad commented Oct 30, 2026 •

Copy link
Copy Markdown

Closes #194.

start() and reconnect() always turn on Daily's Krisp noise cancellation. This adds an option to skip it.

  • StartCallOptions.clientSideNoiseCancellationEnabled?: boolean, next to microphonePreflightEnabled. The clientSide prefix keeps it apart from the assistant's server-side backgroundSpeechDenoisingPlan, which it does not change. Defaults to true, so current callers see no change.
  • reconnect(webCall, options?) takes the same option. Without it, reconnect() reuses the value from the last start(), or true if start() never ran on this instance.
  • When the option is false, the SDK does not call updateInputSettings. Daily's default processor is none, so Krisp never loads and the microphone track is never swapped. The local audio level observer then starts at once, with no track swap to race (Serialize local audio level observer startup with noise cancellation setup #181).

Tests

Six new cases in __tests__/vapi.test.ts: the default, turning it off in start(), reconnect() keeping the start() value, reconnect() overriding it, reconnect() with no prior start(), and turning it off in reconnect(). npx jest passes 79/79 and tsc --noEmit is clean.

🤖 Generated with Claude Code

murat-solidroad and others added 3 commits October 30, 2026 11:39
…apiAI#194)

Default true, so current callers still get Krisp. reconnect() reuses the
value from the last start() unless told otherwise.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@murat-solidroad murat-solidroad changed the title feat: add noiseCancellationEnabled option to start() and reconnect() feat: add clientSideNoiseCancellationEnabled option to start() and reconnect() Oct 30, 2026
With it off, start() and reconnect() no longer report an
audio-processing-setup stage that never ran.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Option to turn off client-side Krisp noise cancellation

1 participant