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.

@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.

Follow

@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.