ofxHoa new 3D Sound addon


I’d like to announce the release of a new addon for openFrameworks: ofxHoa.

It’s a wrapper for the High Order Ambisonics Library and allows to spatialize sound in multiple speakers in 2d or 3d. More information on the library and the ambisonics model maybe found in the site of the project http://www.mshparisnord.fr/hoalibrary/

For the moment we only support mac Os X, but we hope to support linux and windows in the future as we do with the other versions of the library.

We hope you’ll enjoy and we’re glad to answer any questions regarding this library, but please try to post your questions in github, as I’m the only person in the team that’s in the oF forum =)


Hello @cabral1349,

this is really interesting, many thanks!

I’ve played with the HOA library a lot in MaxMSP so it’s nice to see it has gone over to the OF side (as I did :smile:)

What would it take to use B-format recordings as input, coming from eg. the Tetramic, instead of generated/synthesized sound?



First, you’d need to get an external sound player for oF. ofSoundPlayer works on it’s own separte thread, so we don’t have access to it’s samples.
Second, we use the ACN standard:
http://ambisonics.ch/standards/channels/ (WYZX)
The B format uses WXYZ, with maybe a 1/sqrt(2) weight for W.

so you’d may need to multiple W by sqrt(2) and swap a bit the channel order then pass it directly to the decoder.
If you’ve done it in max, it should work the same way in oF. Glad you like it!


Ah, thanks for the explanation! Good to know for future reference…


Is windows still a WIP for this add on? Tried running it in Visual Studio 2015 and it’s complaining about missing a ‘source.obj’??? Everything else seems to link fine



I haven’t worked in this project in a long time and I don’t know which
state it’s in.
As far as I know it was never tested in windows, but there’s nothing in the
code that’s platform specific.
I don’t have a computer with windows that I can use to debug, but I’ll have
a look in the project as a whole
in the weekend.