3 ms·
> "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
by chaosprint 1y ago
> "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/ https://glicol.org/ and it has a js port on https://glicol.js.org/ https://glicol.js.org/ a typical usecase is drum machine with very high time accuracy
- chr15m 1y agoI 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.
- anonymous344 1y agodoes 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.. ?
- chr15m 1y agoThe algorithm in Beat Maker bypasses that issue completely by rendering the webaudio graph to a static buffer on every change.