Narwhals Prolong Mischief

    agora-extension-ai-denoiser
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.0-beta2 • Public • Published

    Install AI denoiser extension with Agora web SDK.

    import {AIDenoiserExtension} from "agora-extension-ai-denoiser";
    // Create AIDenoiserExtension instance, please make sure this instance is a singleton, assetsPath is the path of wasm and wasmjs.
    const denoiser = new AIDenoiserExtension({assetsPath:'./external'});
    
    // Register AI denoiser extension into AgoraRTC.
    AgoraRTC.registerExtensions([denoiser]);
    
    // listen the loaderror callback to handle loading module failed.
    denoiser.onloaderror = (e) => {
      // if loading denoiser is failed, disable the function of denoiser. For example, set your button disbled.
      openDenoiserButton.enabled = false;
      console.log(e);
    }

    Create a processor by denioser extension.

    const processor = denoiser.createProcessor();
    
    // If you want to enable the processor by default.
    processor.enable();
    
    // If you want to disable the processor by default.
    // processor.disable();
    
    // Optional, listen the processor`s overlaod callback to catch overload message
    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();

    Keywords

    none

    Install

    npm i agora-extension-ai-denoiser

    DownloadsWeekly Downloads

    171

    Version

    1.0.0-beta2

    License

    MIT

    Unpacked Size

    4.81 MB

    Total Files

    10

    Last publish

    Collaborators

    • agora.io
    • agorabuilder