# Sound options By default, Zoom uses noise suppression and echo cancellation to improve the quality of the audio received by your microphone, but these audio filters can interfere with situations that require capturing the full range of audio. See [Configuring professional audio settings for Zoom Meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0059985) for details. Video SDK uses the same technology to improve audio quality, but also supports the ability to turn off these filters to capture the **original sound** of the microphone, for example, to support the use of a high-quality microphone with built-in audio filters or to capture the full audio range without noise suppression. _**Capturing the microphone's original sound disables the background noise suppression feature.**_ You configure sound options with `IZoomVideoSDKAudioSettingHelper`, obtained from `getAudioSettingHelper`. ## Original sound To enable original sound, set `enableMicOriginalInput` to `true` in the `IZoomVideoSDKAudioSettingHelper` class. The default setting is `false`. Read the current state with `isMicOriginalInputEnable`. ```cpp IZoomVideoSDKAudioSettingHelper* pAudioSettingHelper = m_pVideoSDK->getAudioSettingHelper(); pAudioSettingHelper->enableMicOriginalInput(true); ``` To disable, set `enableMicOriginalInput` to `false`. ```cpp pAudioSettingHelper->enableMicOriginalInput(false); ``` ## Background noise suppression By default, Zoom Video SDK's standard optimized audio is used for processing your microphone audio. This includes some background noise suppression and is best for most situations, but the level of background noise suppression can be adjusted to suit your needs. Set the noise suppression level using `setSuppressBackgroundNoiseLevel` in the `IZoomVideoSDKAudioSettingHelper` class. ```cpp IZoomVideoSDKAudioSettingHelper* pAudioSettingHelper = m_pVideoSDK->getAudioSettingHelper(); pAudioSettingHelper->setSuppressBackgroundNoiseLevel(ZoomVideoSDKSuppressBackgroundNoiseLevel_High); ``` You can choose from the following levels. - `ZoomVideoSDKSuppressBackgroundNoiseLevel_Auto` (the default setting) - `ZoomVideoSDKSuppressBackgroundNoiseLevel_Low` - `ZoomVideoSDKSuppressBackgroundNoiseLevel_Medium` - `ZoomVideoSDKSuppressBackgroundNoiseLevel_High` ## Echo cancellation The SDK applies echo cancellation by default. To control it explicitly, call `enableEchoCancellation`, and set the strength with `setEchoCancellationLevel`. ```cpp IZoomVideoSDKAudioSettingHelper* pAudioSettingHelper = m_pVideoSDK->getAudioSettingHelper(); pAudioSettingHelper->enableEchoCancellation(true); pAudioSettingHelper->setEchoCancellationLevel(ZoomVideoSDKEchoCancellationLevel_High); ``` `setEchoCancellationLevel` takes one of the `ZoomVideoSDKEchoCancellationLevel` values. - `ZoomVideoSDKEchoCancellationLevel_Default` - `ZoomVideoSDKEchoCancellationLevel_Low` - `ZoomVideoSDKEchoCancellationLevel_High` ## Auto-adjust microphone volume To have the SDK adjust the microphone gain automatically as the speaker moves closer to or further from the device, call `enableAutoAdjustMicVolume` on `IZoomVideoSDKAudioSettingHelper`. Read the current state with `isAutoAdjustMicVolumeEnabled`. ```cpp IZoomVideoSDKAudioSettingHelper* pAudioSettingHelper = m_pVideoSDK->getAudioSettingHelper(); pAudioSettingHelper->enableAutoAdjustMicVolume(true); ``` Auto-adjust is incompatible with original sound. Original sound disables the SDK's processing, including automatic gain control. Pick one based on your use case.