> "The audio engine is built on a declarative audio graph (using `virtual-audio-graph`), inspired by React's virtual DOM, which makes managing the Web Audio API much cleaner. If you're building web based audio apps I highly recommend checking out this library. "
when you have more and more interactions on the gui web audio api will become a problem, check out audioworklet.
I am developing https://glicol.org/ and it has a js port on https://glicol.js.org/ a typical usecase is drum machine with very high time accuracy
I don't like creating a lot of audio nodes on the fly for that reason. Beat Maker re-renders the audio to a buffer any time a value is changed. The audio engine is very efficient, literally playing one static buffer on loop. For the browser/OS this is basically memcpy, which is cheap, and does not take place on the GUI thread.
does this solve the stupid problem with chrome mobile (samsung) that if you make javascript timer for example 4 seconds, and then play() the audio is already deleted by garbage-collection.. ?
The algorithm in Beat Maker bypasses that issue completely by rendering the webaudio graph to a static buffer on every change.