A UI for generating linear WebAudio code (https://webaudio.simmsreeve.com/)
This tool was written to be used as an educational aid in a talk at London Audio Developers Meetup.
Video available here:
- To add a node, click on an arrow
- To "inspect" a node, click the node
- Inputs
- Microphone
- File
- Oscillator
- "Modifier" Nodes
- WebAssembly CustomWorklet
- Gain
- Delay
- BiquadFilter
- Analyser
- Outputs
- Speaker
The code was never supposed to be nice, but things got a bit out of hand...
Most of the code pretends to be immutable, but there are various places this pattern is un-expectedly broken. I foresee various painful bugs being introduced if development were to continue.
Also, I cringe at the method used to generate code. It's disgusting and you should definitely not try it at home.
- Support non-linear WebAudio graphs (probably using Cytoscape) - Would require a re-write
- Improve UI & UX
- Output to file
- Don't
- You'll need the following:
> brew install fswatch
> npm i -g browserify less
> npm i
> ./build.sh
> ./watch.sh