You need to enable JavaScript to run this app.
导航
Web 端音频降噪
最近更新时间:2024.09.12 17:20:54首次发布时间:2023.01.03 11:57:21

在实时音视频通话中,你可能会遇到噪声干扰,影响通话质量。你可以根据噪声的类型,选择不同的降噪方案。

  • 平稳噪声:持续均匀噪声,如空调、风扇或电子设备的嗡嗡声,是一种恒定且音量稳定的背景噪音。你可以利用浏览器内置的噪声抑制功能抑制平稳噪声。
  • 非平稳噪声:出现时机或响度都不可预测的瞬时噪声。比如键盘敲击声、物体碰撞声等。你可以使用 RTC SDK 提供的 AI 降噪插件,抑制各种瞬时噪声。

抑制平稳噪声

开始采集发布音频前,调用 setAudioCaptureConfig 并将 noiseSuppressionechoCancellation,和 autoGainControl 均设置为 true

以上选项的完整说明参见 MediaTrackConstraints

// 必须在 startAudioCapture() 和 publishStream() 之前设置
await engine.setAudioCaptureConfig({
    noiseSuppression: true,
    echoCancellation: true,
    autoGainControl:true,
});

await engine.startAudioCapture();
await engine.publishStream(MediaType.AUDIO);

抑制非平稳噪声

前提条件

  1. 已集成 RTC SDK V4.47 或更高版本。

  2. 通过 RTC SDK 提供的音频采集模块实现了音频通话功能。

  3. AI 降噪插件支持如下 PC 端浏览器:

    1. Chrome 94+

    2. Edge 94+

  4. 为了更好的使用体验,建议设备满足以下要求:

    1. 双核 Intel Core i5+

    2. RAM 8 GB+

    3. 64 位操作系统

操作步骤

  1. 在你的项目中引入 AI 降噪插件:

    • 可以直接引入。

    说明

    注意:确保插件来自本地工程中已引入的 RTC SDK。避免因插件版本不匹配导致的引用错误。

    import RTCAIAnsExtension from '@volcengine/rtc/extension-ainr';
    
    • 自 v4.51.1 版本起,可以通过 UMD 方式引入。
    const {RTCAinrExtension} = window.VERTCExtensions;
    
  2. 注册 AI 降噪插件。

import VERTC from '@volcengine/rtc';
// 创建引擎实例
const engine = VERTC.createEngine('appid');

// 创建 AI 降噪插件实例
const AIAnsExtension = new RTCAIAnsExtension();
// 注册 AI 降噪插件
try {
  await engine.registerExtension(AIAnsExtension);
} catch (error) {
  // 注册失败,详细信息:error.message
}
  1. 开启内部音频采集。
engine.startAudioCapture();
  1. 开启、关闭 AI 降噪。
    你可以在通话过程中随时开启或关闭 AI 降噪,将立即生效。
// 开启降噪
AIAnsExtension.enable();
// 关闭降噪
AIAnsExtension.disable();

注意事项

同时使用两种降噪方案时,通过 MediaTrackConstraints 设置的传统降噪参数生效情况如下:

插件状态autoGainControlechoCancellationnoiseSuppression
插件已注册未开启有效有效固定为 true
插件已注册已开启固定为 true有效固定为 false