Install AI denoiser extension with Agora web SDK.
import {AIDenoiserExtension} from "agora-extension-ai-denoiser";
const denoiser = new AIDenoiserExtension({assetsPath:'./external'});
AgoraRTC.registerExtensions([denoiser]);
denoiser.onloaderror = (e) => {
openDenoiserButton.enabled = false;
console.log(e);
}
Create a processor by denioser extension.
const processor = denoiser.createProcessor();
processor.enable();
processor.onoverload = async () => {
console.log("overload!!!");
await processor.disable();
}
Connect the processor to microphone audio track to process the audio pipeline.
const audioTrack = await AgoraRTC.createMicrophoneAudioTrack();
audioTrack.pipe(processor).pipe(audioTrack.processorDestination);
await processor.enable();
Control the denoiser function enabled or disabled.
() => {
if (processor.enabled) {
await processor.disable();
} else {
await processor.enable();
}
}
Dump audio (download files which are 30s audio file before the method called and two audio files 30s after the method called)
processor.ondump = (blob, name) => {
const objectURL = URL.createObjectURL(blob);
const tag = document.createElement("a");
tag.download = name + ".wav";
tag.href = objectURL;
tag.click();
}
processor.ondumpend = () => {
console.log("dump ended!!");
}
processor.dump();