Skip to content

Voice activity detector (VAD) for the browser with a simple API, with microphone modifications

License

Notifications You must be signed in to change notification settings

britishcouncil/vad-react-mod

 
 

Repository files navigation

Voice Activity Detection for Javascript

npm vad-web npm vad-node npm vad-react

Run callbacks on segments of audio with user speech in a few lines of code

This package aims to provide an accurate, user-friendly voice activity detector (VAD) that runs in the browser. It also has limited support for node. By using this package, you can prompt the user for microphone permissions, start recording audio, send segments of audio with speech to your server for processing, or show a certain animation or indicator when the user is speaking.

  • See a live demo
  • Join us on Discord!
  • Browse or contribute to documentation
  • If you would like to contribute, I have started writing some documentation on how to get started hacking on these packages here. If you have any questions, you can open an issue here or leave a message on Discord.
  • NEW: Please fill out this survey to let me know what you are building with these packages and how you are using them!

Under the hood, these packages run Silero VAD [1] using ONNX Runtime Web / ONNX Runtime Node.js. Thanks a lot to those folks for making this possible.

Sponsorship

Please contribute to the project financially - especially if your commercial product relies on this package. Become a Sponsor

Quick Start

To use the VAD via a script tag in the browser, include the following script tags:

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ort.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@ricky0123/[email protected]/dist/bundle.min.js"></script>
<script>
  async function main() {
    const myvad = await vad.MicVAD.new({
      onSpeechStart: () => {
        console.log("Speech start detected")
      },
      onSpeechEnd: (audio) => {
        // do something with `audio` (Float32Array of audio samples at sample rate 16000)...
      }
    })
    myvad.start()
  }
  main()
</script>

Documentation for bundling the voice activity detector for the browser or using it in node or React projects can be found on vad.ricky0123.com.

References

[1] Silero Team. (2021). Silero VAD: pre-trained enterprise-grade Voice Activity Detector (VAD), Number Detector and Language Classifier. GitHub, GitHub repository, https://github.com/snakers4/silero-vad, [email protected].

About

Voice activity detector (VAD) for the browser with a simple API, with microphone modifications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 49.1%
  • JavaScript 33.7%
  • HTML 14.0%
  • Shell 3.2%