My biggest missing feature is a listener/sound source API that renders to 5.1/7.1 surround. Does Resonance do that? Yes I understand that headphones/binaural rendering is ideal, but I have a decent surround system and sometimes I want to put it through its paces. :)
The Getting Started section demonstrates stereo downmixing. Peeking at the API indicates I can pass something called an ambisonic order into some functions, but even the constant for the default gives me no obvious indication of what this means. So maybe this is something audio developers know, but as someone trying to evaluate Resonance, it seems like they've just handwaved around this concept.
And if Resonance doesn't do this, does anything? Even if I compiled to wasm, which is certainly something I'm open to, it looks like the only wasm options are SDL-based, meaning simple stereo and no spatialization. But maybe I've just picked terrible keywords to search for.
Thanks for expressing your interest in using Resonance Audio SDK for the Web (formally Songbird). We don't currently offer a 5.1 rendering of the audio as an available option. However, we do offer .ambisonicOutput which outputs ambisonic content directly and this can be rendered to a 5.1 target using 3rd party tools (http://www.radio.uqam.ca/ambisonic/b_g.html). If we see a large need for 5.1 rendering, it may be worth considering posting an issue to Omnitone (https://github.com/GoogleChrome/omnitone/issues) which is our ambisonic renderer on the web. :)
They're likely referring to Ambisonics[1]. Think of Ambisonics as a 3D Mid-Side encoding, and the signal fed to each speaker is calculated from the differences in these components. Contrast the more common surround setup where each channel corresponds to a speaker directly. Something in an ambisonic format can be decoded to the more common 5.1/7.1 formats.
edit: indeed, https://github.com/google/songbird now redirects to https://github.com/google/resonance-audio