This topic describes the proprietary audio denoising feature of DingRTC and explains how to integrate and use it.
Introduction
DingTalk Meetings provides a high-quality, high-definition voice experience. This is achieved using full-band audio that covers the entire frequency range of the human voice, typically from 20 Hz to 20 kHz, and requires a sample rate of 44.1 kHz or 48 kHz. This presents significant challenges for full-band intelligent noise reduction. For example, the full-band sample rate is three times higher than the 16 kHz broadband sample rate. This requires stricter control over resource overhead and improved denoising performance.
DingTalk's proprietary intelligent noise reduction technology is designed for full-band denoising. It is also compatible with super-wideband (32 kHz and 24 kHz), broadband (16 kHz), and narrowband (8 kHz) processing. The technology features low latency and low power consumption, which makes it easy to deploy on the client for real-time audio and video conferences.
The intelligent noise reduction model requires strong generalization to perform effectively in various DingTalk audio and video scenarios. It must handle nearly 300 types of noise, such as fans in a conference room, mouse and keyboard clicks, street traffic, and sounds from public places such as subways and airplanes. The model also supports speakers at different distances, which makes far-field speech sound like near-field speech. Denoising and dereverberation are implemented in a single network model. This approach greatly improves the technology's generalization. It also avoids the cumulative latency, power consumption, and errors that can result from deploying multiple algorithm models. This results in higher-quality audio output.
The proprietary intelligent noise reduction technology supports laptops, mobile devices, Session Initiation Protocol (SIP) endpoints, and live streaming clients. It also supports far-field scenarios. These include all-in-one audio and video machines in conference rooms, offices, or factories of various sizes, with speakers in different locations. This versatility provides a truly general-purpose intelligent noise reduction feature.
Intelligent noise reduction provides a clearer voice call experience and saves 2% of client system processing resources. The improved listening experience reduces fatigue during long conversations in noisy environments, increases user satisfaction, and expands the range of usable scenarios. This feature ensures high call quality in various noisy environments, such as coffee shops, airports, and homes.
When you convert conversations to text, reduced background noise improves speech recognition accuracy and provides more accurate transcriptions.
Integration method
The intelligent noise reduction library and the DingRTC dynamic library are released separately. For scenarios that require denoising, you must download and integrate the denoising dynamic library. To simplify integration, the model files for intelligent noise reduction are included in the denoising dynamic library on all platforms except Windows.
Windows
Intelligent noise reduction library name: hbal_se.dll
Path: When packaging and publishing the application, place this file in the same folder as DingRTC.dll.
Model file: hbal_se_v1.0.15.nn
Path: When packaging and publishing the application, place this file in the same folder as DingRTC.dll.
Invocation method:
In the application code, make the following call:
void enable_ai_denoise()
{
ding::rtc::RtcEngineAudioDenoiseOptions options;
options.mode =
ding::rtc::RtcEngineAudioDenoiseMode::RtcEngineAudioDenoiseEnhance;
engine->SetAudioDenoise(options);
}To disable denoising, use a similar method and set `options.mode` to `RtcEngineAudioDenoiseOff`.
For traditional denoising, set `options.mode` to `RtcEngineAudioDenoiseDsp`.
Mac
Intelligent noise reduction library name: libhbal_se.dylib
Path: When you package and publish the application, add this file to the Xcode project as a dependency library.

Model file: hbal_se_v1.0.15.nn
Path: When you package and publish the application, add this file to the Xcode project as a resource file.

Invocation method:
In the application code, make the following call:
DingRtcAudioDenoiseOptions *options = [[DingRtcAudioDenoiseOptions alloc] init];
options.mode = DingRtcAudioDenoiseEnhance;
[rtcEngine setAudioDenoise:options];To disable denoising, use a similar method and set `options.mode` to `DingRtcAudioDenoiseOff`.
For traditional denoising, set `options.mode` to `DingRtcAudioDenoiseDsp`.
iOS
Intelligent noise reduction library name: DTHbalSe.framework
Path: When you package and publish the application, add it to the Xcode project as a dependency library.

Invocation method:
In the application code, make the following call:
DingRtcAudioDenoiseOptions *options = [[DingRtcAudioDenoiseOptions alloc] init];
options.mode = DingRtcAudioDenoiseEnhance;
[rtcEngine setAudioDenoise:options];To disable denoising, use a similar method and set `options.mode` to `DingRtcAudioDenoiseOff`.
For traditional denoising, set `options.mode` to `DingRtcAudioDenoiseDsp`.
Android
Intelligent noise reduction library name: libhbal_se.so
Path: When packaging the application, place the libhbal_se.so file in the folder referenced by jniLibs.srcDirs.
Invocation method:
In the application code, make the following call:
DingRtcEngine.DingRtcEngineAudioDenoiseOptions options = new DingRtcEngine.DingRtcEngineAudioDenoiseOptions();
options.mode = DingRtcEngine.DingRtcEngineAudioDenoiseMode.DingRtcEngineAudioDenoiseEnhance;
rtcEngine.setAudioDenoise(options);To disable denoising, you can use a similar method. Simply replace options.mode with DingRtcEngineAudioDenoiseOff.
Additionally, for traditional denoising, you can set options.mode to DingRtcEngineAudioDenoiseDsp.