Tutorial: 开启 AI 降噪

开启 AI 降噪

功能简介

AI 降噪插件能够降低通话中的噪声,减少环境噪声对通话的影响。可以更好地抑制通话过程中的键盘声、碰撞声、敲击声等噪声,特别适用于对瞬时噪声敏感的场景,例如会议场景中的短时噪声。

本文将介绍在如何在开发 TRTC 应用中给本地音频流应用 AI 降噪的方法。点击在线体验 降噪 demo 。

前提条件

自 2023 年 4 月 1 日起,使用 AI 降噪功能需开通 TRTC 包月套餐 尊享版及更高版本。

支持的浏览器:Chrome 66+, Edge 79+, Safari 14.1+, Firefox 76+,其中,安卓系统中 Chrome 版本需要在 92 以上。

为了更好的使用 AI 降噪,建议您使用最新版本的 Chrome 浏览器。

注意:

如果您麦克风采集的有背景音乐,降噪插件可能会将其当做噪音进行消除。

实现流程

部署降噪需要的资源

动态加载文件依赖:AI 降噪插件依赖一些文件。为保证浏览器可以正常加载和运行这些文件,你需要完成以下步骤:

node_modules/trtc-sdk-v5/plugins/ai-denoiser 目录下的denoiser-wasm.js文件发布至 CDN 或者静态资源服务器中,并且处于同一个公共路径下。如果您需要使用降噪功能,需要传入上述公共路径的 URL,插件会动态加载依赖文件。

  • 如果目录下文件的 Host URL 与网页应用的 Host URL 不一致,则需要开启访问文件域名的 CORS 策略。
  • 不能把目录文件放在 HTTP 服务下,因为在 HTTPS 域名下加载 HTTP 资源会被浏览器安全策略禁止。

开启降噪

await trtc.startLocalAudio();
await trtc.startPlugin('AIDenoiser', {
  assetsPath: 'XXXXX/assets/', // 例:denoiser-wasm.js 文件存放在 assets 目录下
  sdkAppId: 123456,
  userId: 'user_123',
  userSig: 'XXXXXXXX'
});

关闭降噪

await trtc.stopPlugin('AIDenoiser');

API 说明

trtc.startPlugin('AIDenoiser', options)

用于开启降噪

options:

Name Type Attributes Description
assetsPath string denoiser-wasm.js 文件存放的位置,例如:存放在 assets 目录下,则传入 'XXXXX/assets/'
sdkAppId number 当前应用的 sdkAppId
userId string 当前用户的 userId
userSig string 当前用户的 userSig

Example:

await trtc.startLocalAudio();
await trtc.startPlugin('AIDenoiser', {
  assetsPath: 'XXXXX/assets/', // 例:denoiser-wasm.js 文件存放在 assets 目录下
  sdkAppId: 123456,
  userId: 'user_123',
  userSig: 'XXXXXXXX'
});

trtc.stopPlugin('AIDenoiser')

用于关闭降噪

Example:

await trtc.stopPlugin('AIDenoiser');