0.1.4 • Published 15 days ago

vad-audio-worklet v0.1.4

Weekly downloads
-
License
MIT
Repository
github
Last release
15 days ago

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/

0.1.4

15 days ago

0.1.3

16 days ago

0.1.2

20 days ago

0.1.1

21 days ago

0.1.0

21 days ago