This code now works identically in both Sonic Pi and my new experimental tau-vm-based audioworklet language:
10.times do
sample :perc_bell, rate: rrand(0.125, 1.5)
sleep rrand(0, 2)
end
| Live Coder. | Creator of Sonic Pi |
This code now works identically in both Sonic Pi and my new experimental tau-vm-based audioworklet language:
10.times do
sample :perc_bell, rate: rrand(0.125, 1.5)
sleep rrand(0, 2)
end
Here's a simple experimental language compiler in action which takes Sonic Pi like code and converts it to bytecode which can be executed on a vm running inside an AudioWorklet.
The only side-effects this language is allowed to do is to write to the global time-state.
All side effects are created by handlers which operate over a 2ms time-state window.
*VERY* early stages - as you can see there's byte for 'play' which is clearly the wrong level of abstraction - but prototypes gotta prototype!
I just pushed v0.35 of SuperSonic - my port of SuperCollider's powerful synthesis engine scsynth to the web as an AudioWorklet.
This comes with a lot of performance improvements, improved bundler compatibility and much polish to the fun example.
Take it for a spin: https://sonic-pi.net/supersonic/demo.html
SuperSonic now exposes the scsynth node tree for fast reading from JS.
This does not require a full OSC round-trip like /g_queryTree (which is also supported for legacy use cases).
Instead it’s automatically written to the SharedArrayBuffer so visualisers can read it at 60fps without issue.
See it in action in the demo here: https://sonic-pi.net/supersonic/demo.html
Absolutely loving the new album “Instant Holograms on Metal Film” by Stereolab.
The music is so on point and the lyrics movingly poignant.
Highly recommended!
SuperSonic - my port of SuperCollider’s powerful synthesis engine scsynth now has improved metrics - opening up a window to the internals.
Play with the demo and see for yourself!
I updated the SuperSonic example to include synths, samples and FX and a fun playful interface.
SuperSonic is my port of SuperCollider’s extremely powerful scsynth engine to Web AudioWorklets so it can run in the browser.
Play with it here:
Have a play with the SuperSonic demo.
SuperCollider's synth running live in your browser here: https://sonic-pi.net/supersonic/demo.html