Someone should rip WebAudio out of Chromium and turn it into a standalone cross-platform sound library.

I mean FireFox would work too, but I think especially with all the synth related stuff Chromium has the more complete/robust implementation.

I wonder how entangled it is and if this would even work. There's OpenAl-soft and that's great but I still think WebAudio offers more. I want WebAudio except everywhere. Not just web. WebAudio is pretty fantastic

Actually what about taking a lot of the API's out of a browser? Get rid of the actual browser stuff and just have a runtime with lots of neat API's. Expose it all via FFI. Write a binding generator for different languages. Rust, C, LuaJIT, C#, Python, Java...

A lot of the API's implemented in browsers work pretty well cross platform and have high level enough abstractions to be useful for people who just want it to work. Hmm.

Follow

@talon I started doing some of this in my "webrun" project a few years back. I'm still very much into it. See also, exokit but that was focused more on 3d graphics without the browser renderer.

github.com/RangerMauve/webrun

github.com/exokitxr/exokit

@mauve Yes something like this except also without Node. Just the API’s accessible via something like FFI. So I can do a Web Audio context from C, or TTS from LuaJIT, or any of the other API’s. Although I’m personally definitely more interested in the ones that let me make games.

@talon Yeah my choice for using node was to make it easier to reuse as many libraries as possible and to reduce the burdon on getting c++ dependencies to build cross platform. TTS and STT is one of those things that's hard to get working on Linux even with all the stuff in Chromiums codebase :x

Would love to experience more audio-first games though.

@talon btw from what I recall the web audio api is pretty close to what's available in Open AL. Have you checked the various language bindings there?

openal.org/

Sign in to participate in the conversation
Mauvestodon

Escape ship from centralized social media run by Mauve.