From 467827d938b5a333e9325004964b672a8ccb0f61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Ro=C5=BCnawski?= Date: Thu, 25 Jun 2026 18:12:31 +0200 Subject: [PATCH 1/3] FCE-2316 Document noise cancellation and auto gain --- docs/how-to/client/managing-devices.mdx | 56 +++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/docs/how-to/client/managing-devices.mdx b/docs/how-to/client/managing-devices.mdx index 1572a086..d93fdf87 100644 --- a/docs/how-to/client/managing-devices.mdx +++ b/docs/how-to/client/managing-devices.mdx @@ -258,6 +258,62 @@ export function MicrophoneControl() { } ``` +## Audio processing: noise cancellation and auto gain + +When capturing a microphone, the browser (Web) or OS (Mobile) applies audio processing — **echo cancellation**, **noise suppression** (noise cancellation) and **auto gain control** — to make speech clearer. These are enabled by default and are the right choice for most voice and meeting use cases. + +Turn them off only when you need the raw, unprocessed signal — for example capturing music or an instrument, or running your own audio processing — since these filters can distort non-speech audio. + + + + +On Web, audio processing follows the browser's defaults (noise suppression, auto gain control and echo cancellation are on by default). To set them explicitly, pass [`constraints`](../../api/web/interfaces/FishjamProviderProps#constraints) to `FishjamProvider`. The `audio` field accepts standard [`MediaTrackConstraints`](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints). + +```tsx +import { FishjamProvider } from "@fishjam-cloud/react-client"; + +export function App({ fishjamId }: { fishjamId: string }) { + return ( + + {/* your app */} + + ); +} +``` + +To capture raw audio (for example, music), disable them: + +```tsx +constraints={{ + audio: { + echoCancellation: false, + noiseSuppression: false, + autoGainControl: false, + }, +}} +``` + +:::note +These constraints are applied when `FishjamProvider` creates the microphone track. `selectMicrophone` and `startMicrophone` reuse the same constraints — they don't accept per-call overrides. +::: + + + + +On Mobile, echo cancellation, noise suppression and auto gain control are enabled by default in the native audio pipeline and aren't currently configurable from JavaScript. + + + + ## Managing Permissions (Mobile only) The SDK provides built-in hooks for querying and requesting device permissions: `useCameraPermissions` and `useMicrophonePermissions` from `@fishjam-cloud/react-native-client`. From 36178feb93afd2d35912d917b87078caf7f23586 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Ro=C5=BCnawski?= Date: Thu, 25 Jun 2026 18:19:26 +0200 Subject: [PATCH 2/3] Use full term 'auto gain control' in heading (Copilot) --- docs/how-to/client/managing-devices.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/how-to/client/managing-devices.mdx b/docs/how-to/client/managing-devices.mdx index d93fdf87..69a16640 100644 --- a/docs/how-to/client/managing-devices.mdx +++ b/docs/how-to/client/managing-devices.mdx @@ -258,7 +258,7 @@ export function MicrophoneControl() { } ``` -## Audio processing: noise cancellation and auto gain +## Audio processing: noise cancellation and auto gain control When capturing a microphone, the browser (Web) or OS (Mobile) applies audio processing — **echo cancellation**, **noise suppression** (noise cancellation) and **auto gain control** — to make speech clearer. These are enabled by default and are the right choice for most voice and meeting use cases. From 540302bb0ec38a7356999c026f31e3b0289a1aa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Ro=C5=BCnawski?= Date: Fri, 26 Jun 2026 09:27:40 +0200 Subject: [PATCH 3/3] Fix MDX build: import React in example, drop invalid snippet fragments --- docs/how-to/client/managing-devices.mdx | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/docs/how-to/client/managing-devices.mdx b/docs/how-to/client/managing-devices.mdx index 69a16640..cdad436a 100644 --- a/docs/how-to/client/managing-devices.mdx +++ b/docs/how-to/client/managing-devices.mdx @@ -270,6 +270,7 @@ Turn them off only when you need the raw, unprocessed signal — for example cap On Web, audio processing follows the browser's defaults (noise suppression, auto gain control and echo cancellation are on by default). To set them explicitly, pass [`constraints`](../../api/web/interfaces/FishjamProviderProps#constraints) to `FishjamProvider`. The `audio` field accepts standard [`MediaTrackConstraints`](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints). ```tsx +import React from "react"; import { FishjamProvider } from "@fishjam-cloud/react-client"; export function App({ fishjamId }: { fishjamId: string }) { @@ -290,17 +291,7 @@ export function App({ fishjamId }: { fishjamId: string }) { } ``` -To capture raw audio (for example, music), disable them: - -```tsx -constraints={{ - audio: { - echoCancellation: false, - noiseSuppression: false, - autoGainControl: false, - }, -}} -``` +To capture raw audio (for example, music), set `echoCancellation`, `noiseSuppression`, and `autoGainControl` to `false` instead. :::note These constraints are applied when `FishjamProvider` creates the microphone track. `selectMicrophone` and `startMicrophone` reuse the same constraints — they don't accept per-call overrides.