Anyone wants to take on WebAssembly?
[email protected] Tue, 27 Oct 2020 21:34:49 +0100
| Newsgroups | gmane.comp.audio.supercollider.devel |
|---|---|
| Message-ID | <[email protected]> |
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: http://www.listarc.bham.ac.uk/marchives/sc-dev/ search: http://www.listarc.bham.ac.uk/lists/sc-dev/search/