vad-audio-worklet

0.1.4 • Public • Published

NPM Version

VAD AudioWorklet

AudioWorklet implementation of the vad algorithm from Moattar, Mohammad & Homayoonpoor, Mahdi .

Example Mic/File
Full Example with Debug Data

Reference

Moattar, Mohammad & Homayoonpoor, Mahdi. (2010). A simple but efficient real-time voice activity detection algorithm. European Signal Processing Conference.

https://www.researchgate.net/publication/255667085_A_simple_but_efficient_real-time_voice_activity_detection_algorithm

Install

Copy the files from /src to your public folder.

src/vad-audio-worklet.js
src/fft.js

When using npm install you need to copy the files from node_modules into your project directory. ES6 module import wouldn't work.

npm install vad-audio-worklet

Usage

Copy the files in /src to your project. Create a new AudioContext, load the vad module and connect the vad worklet node to some audio source.

More on how to use the Web Audio API see https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API

// create AudioContext
const audioContext = new AudioContext();

// load AudioWorklet module
await audioContext.audioWorklet.addModule("/src/vad-audio-worklet.js");

// create new vad audio node
const vad = new AudioWorkletNode(audioContext, "vad", {
  outputChannelCount: [1],
  processorOptions: {
    sampleRate: audioContext.sampleRate, // sample rate of the audio input
    fftSize: 128, // optional change fft size, default: 128
  },
});

// connect worklet to some audio source
yourAudioSource.connect(vad);

// listen for messages
vad.port.onmessage = (event) => {
  const cmd = event.data["cmd"];

  if (cmd === "speech") {
    // speech detected
  }

  if (cmd === "silence") {
    // silence , cpt. obvious
  }
};

Example File

example/alert.ogg Radio Universidad Nacional de La Plata, CC BY-SA 3.0, via Wikimedia Commons

Credits

fft.js
https://github.com/indutny/fft.js/

Moattar, Mohammad & Homayoonpoor, Mahdi. (2010). A simple but efficient real-time voice activity detection algorithm. European Signal Processing Conference.
https://www.researchgate.net/publication/255667085_A_simple_but_efficient_real-time_voice_activity_detection_algorithm

MDN Docs: Web Audio API
https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
https://openwebdocs.org/

Package Sidebar

Install

npm i vad-audio-worklet

Weekly Downloads

4

Version

0.1.4

License

MIT

Unpacked Size

25.2 kB

Total Files

5

Last publish

Collaborators

  • thurti