Nice work, a bit underappreciated. It seems to have some bugs though, like waveshaper, missing its obvious input port. Only its parameters show.
Ah, I see this isn't even calling the API waveshaper, but rather an API oscillator with a PeriodicWave. The Distortion component calls the actual API WaveShaperNode. But that uses some pre-defined arrays, with no function to draw something in. Also, the dropdown menus seems to not display their item until one hovers right over it.
A somewhat obscure feature of the Web Audio API is that WaveShaperNode can in fact be used a wavetable, by driving it with a phasor valued in [-1, 1) instead of the usual [0, 1). And that doesn't necessitate DFT as you're doing for the PeriodicWave. (On the other hand, the API lacks a break-point function exposed as a Node. Only via the buggy timeline one is available in Web Audio core. One can, of course, write one as a worklet.)
Also, it's unclear to me how to disconnect nodes from each other, without deleting them altogether. Ok, I found that out too, just drag away the cable, or plug something else in. You don't allow multiple fan-out like in the API.
Nice work, a bit underappreciated. It seems to have some bugs though, like waveshaper, missing its obvious input port. Only its parameters show.
Ah, I see this isn't even calling the API waveshaper, but rather an API oscillator with a PeriodicWave. The Distortion component calls the actual API
WaveShaperNode. But that uses some pre-defined arrays, with no function to draw something in. Also, the dropdown menus seems to not display their item until one hovers right over it.A somewhat obscure feature of the Web Audio API is that
WaveShaperNodecan in fact be used a wavetable, by driving it with a phasor valued in [-1, 1) instead of the usual [0, 1). And that doesn't necessitate DFT as you're doing for thePeriodicWave. (On the other hand, the API lacks a break-point function exposed as a Node. Only via the buggy timeline one is available in Web Audio core. One can, of course, write one as a worklet.)Also, it's unclear to me how to disconnect nodes from each other, without deleting them altogether. Ok, I found that out too, just drag away the cable, or plug something else in. You don't allow multiple fan-out like in the API.