[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sc-dev] Anyone wants to take on WebAssembly?



hi folks,

I know main devs were not particularly keen on spending time on an
scsynth wasm target when I asked last time, but perhaps there are other
people out there who would be interested in exploring that avenue?

My personal interest got renewed after coming back to Scala.js for my
client, and seeing that the JS back-end compiler these days is rock
solid. I think it would be fantastic to make sound installations or
sketches work in the client-side browser. I even hacked up a WebAudio
UGen for my FScape non-realtime DSP system to test the thing -- see
https://www.sciss.de/temp/soundprocesses.js/ -- but of course this was
never designed for this scenario, so first of all, that's all JavaScript
not Assembly, and it has a rather complicated streaming framework behind
(Akka Stream) instead of the relatively simple scsynth graph processing;
so no wonder it is not very efficient in CPU terms.

I believe the sweet spot is to run the client through JS (that could be
ScalaCollider/SoundProcesses, supercollider.js, or other languages that
probably can run in the browser, like Python) and the server through
wasm. Csound people tell me wasm support was quite a good addition.

Now, as I've stated repeatedly, my C skills are very small, same for
LLVM and emscripten, and I don't know how entangled the build targets
for scsynth vs sclang are. But if anyone sees this as an opportunity to
experiment, I'm happy to try to learn the necessary stuff to start
building a branch of scsynth against wasm (if it's doable at all -- but
why not?).

Feel free to reply to the thread or ping me directly.

Best, .h.h.

_______________________________________________
sc-dev mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: https://listarc.bham.ac.uk/marchives/sc-dev/
search: https://listarc.bham.ac.uk/lists/sc-dev/search/