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…

1 Like

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.

Hello and good day!
Any recent updates on this? I am not able to run the library neither the examples.


Hi Luis,

I used to be the developer on this project, but it’s been abandoned. Try contacting the people of CICM if you’d like to pick it up.

Thank you @cabral1349 !
I was able to put everything to work, just got the reversed Y axis and a source spatialized in relation to the top left corner of your screen lol trying to reverse the coordinate system, there is no easy function in the lib to rotate (that I’d understand until now)

You can just set the Azimuth directly, no?

Hello @cabral1349 yes that is actually the way I managed to workaround the reversed field (couldnt code a really nice solution yet but I can see the encoder rotates). This is an interesting lib and I hope that with time it is maintained again. As I said in the other post I am trying to program a software for a really irregular room (rectangular). I would need to program an adaptive decoder to whatever outputs it has.

Regarding spatial audio, have you worked with the built in FMOD engine? The main problem I found in the api is that I can’t acess the outputs, well at least I dont know how to. Just as you’ve done here in the good ambisonics tradition (order_n*2+1). I’ve been also working with the https://github.com/kasparsj/ofxFmod3DSoundPlayer do you have any insights on how to solve this? The real magic would be just to adapt ofFmodSoundPlayer to any output number. You think it is possible without too much hack?
I guess the question goes to both libraries lol
Thanks in advance