Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


npm version CI/CD dependencies NPM Netlify Status


Small and dependency-free library for declaratively manipulating the Web Audio API.

virtual-audio-graph manages the state of the audio graph so this does not have to be done manually. Simply declare what you would like the audio graph to look like and virtual-audio-graph takes care of the rest.

Inspired by virtual-dom and React.


npm i -S virtual-audio-graph

virtual-audio-graph is distributed as a bundled CJS module by default, however, there is also a module property in its package.json so tools like Rollup and Webpack can consume an ES modules build.


virtual-audio-graph is designed to be small and weighs in at 11.9kB minified (3.3kB minified & gzipped) according to bundlephobia (


First check out the virtual-audio-graph guide for working examples and to understand how the library works.

Then see the API docs for all supported virtual audio node factory functions.

For an example of virtual-audio-graph working in a real application you can take a look at Andromeda which is one of my other projects.