Forums > Dev


Oct 22 2012 | 3:46 pm


The CICM is pleased to share the HoaLibrary. Hoa Library is a collection of C++ classes and MAX/MSP objects destined to high order ambisonic sound reproduction. It‘s totally free and made availlable by CICM, a research center bi-localized between Paris 8 University and the MSH. The library is available for OSX and Windows on the HoaLibrary website :

Feedback are welcome.

Anne Sèdes
Alain Bonardi
Julien Colafrancesco
Pierre Guillot
Eliott Paris

Oct 22 2012 | 4:54 pm

this might be something i need.
how does it compare to existing things, like the Jamoma package ambisonics things and ICST ambisonics tools and Ircam Spatialisateur ?

edti : i forgot to say thanks. Thanks a lot !

Oct 22 2012 | 6:21 pm

Looks amazing, thanks for making and sharing this! I will test this soon…

Oct 23 2012 | 5:07 pm

This looks like a cool ( and timely for me) Ambisonic tool set. I look forward to checking it out in more detail. And the Binaural ‘virtuarlizer’ is a nice bonus for those of us with limited speaker rigs. Thanks.

Oct 27 2012 | 3:35 pm

Thanks everybody,
I can’t list all the differences between the ICST, IRCAM, etc… and the HoaLibrary.
Our main goal is to create a library for musicians that allows you to create sound fields and play easily with the circular harmonics. That why we’ve elaborate the hoa.plug~ object and and ambisonics effects like the hoa.wider~, hoa.grain~, etc… There’re also ambisonics UI objects, we hope that it could help people to understand the circular harmonics. For people who knows well ambisonics, we’ve made objects like the projector and recomposer that discretize the ambisonic soundfield into an array of virtual loudspeakers.
The library is a for 2 dimension array of loudspeaker because most of the people have only access to this loudspeaker configuration. The binaural has been elaborated for those who don’t have a least 3 loudspeakers or want to work in a cafe… like me. We’re working on externals that allows to use this library on systems like 5.1 or 7.1without too much distortions. We also want to create a 3 D version but it’s not one of our main goal.
The library is free and open source, we think that it’s important for electroacoustic music and research.
I think we can’t explain all the library on this forum, for more informations you should look at the website. We hope that you enjoy it. If you have any suggestion, we will be pleased to know it.


Feb 27 2013 | 3:50 pm

Hi everbody,
The CICM is pleased to announce the release of the HoaLibrary version 1.1 :

– 4 new graphic user interface tools.
– an ambisonics reverb convolution.
– a stereo decoder
– a lot of new effects
– and more…

You can download it in our website.
Currently for Mac users only, but windows version is comming soon…

and feedback are still welcome.

Mar 17 2013 | 12:42 am

HoaLibrary version 1.1 now available for windows …


  1. HoaLibraryv1.1.png


Mar 18 2013 | 2:43 pm

Thanks alots

Jun 01 2013 | 7:24 pm

This is amazing. I downloaded it and can’t figure out why the binaural object isn’t reading the hrtf library. If there are any obvious answers, I would much appreciate it.



Jun 01 2013 | 7:44 pm

In the current version of the library (mac 1.2 / win 1.1), the hoa.binaural~ object need to have hrtf library installed in the right path to work.

from the README.txt :
mac : The "HrtfDatabase" folder must be put in "/Library/Application Support/CicmLibrary/"
win : The "HrtfDatabase" folder must be put in "C:/ProgramData/CicmLibrary/"
If the "CicmLibrary" folder don’t exist please create it.


This will change in the next release (version 1.3) ..comming as soon as possible :
– hoa.decoder~ will support standard ambisonics decoder mode, binaural mode (with HrtfDatabase embed), irregular configuration mode[…]


Jun 02 2013 | 3:26 pm

Ah, very cool. For some reason the automatic installer wasn’t installing the hrtf library folder. I found it in the manual installer. Again, thank you. This just made it so much easier for me and my friend who are collaborating and experimenting with a set up that we put together. Instead of catching a bus to Cincinnati every time I want to try something, I can send him a binaural sketch! At least thats my goal.



Jul 26 2013 | 2:22 am

I was getting the Hrtf library not loading error as well.

With the 1.2 Mac auto-install it seems like the HrtfDatabase folder is getting installed to the user Library folder (~/Library/…) instead of the global Library folder (/Library/…). Happened to me on 10.6.8 and 10.8.4. Once I moved it to the correct Library the Hrtf database loaded fine.

Nov 14 2013 | 1:10 pm


I’m working on Windows and I have the same problem with the binaural~ object. I followed the procedure recomended, but still, binaural~ doesn’t work and i keep receiving a message on the max window saying "HRTF Database not loaded". How can I load it?


Nov 14 2013 | 3:28 pm


I need more informations. Do you use Max 5 or 6, 32bits or 64bits ? Which version of the Hoa Library ? We have recently updated the Hoa Library (version 1.3.1). If you use Max 6, you can use it. With the last version, the HRTFS folder must be in the objects folder.



May 15 2016 | 11:44 pm

Hello Pierre, Elliott,
What should you do for summing signals at final stage output ?

Here my concern:
– I have 6 sources, each one going through its proper chain
– each chain are encoded, processed, and have to be decoded to 31 speakers

The basic idea would be to sum each harmo into each decoder input, but I’m afraid of signals clipping.
So the second idea would be to use limiters (in harmo domain or in planewave domain? with a projector ?)

Let me know.

May 16 2016 | 9:29 am

My guess is that, if they are all encoded with the same flavour/weights etc., you should be able to sum in the harmonic domain. To apply a limiter, you’d want the same gain value applied to each channel of the harmonic domain. I would guess using the W channel as the source signal to track makes most sense.

May 16 2016 | 10:01 am

Hi Graham and thanks for your answer.
You mean what by "W channel" ?
same flavour/weight ?

  1. 3dSum


May 17 2016 | 6:36 am

If your signals don’t exceed -1 and 1, you shouldn’t have any clipping problem. The W channel is the first harmonic [0, 0] but the weight relation between this harmonic and the others is broken after the effects (grain~, ringmod~, etc.).
One tip: you don’t have to use an encoder before the granulation, you can directly use hoa.syn.grain~.

May 17 2016 | 6:44 am

Hi Pierre and thanks a lot for your answer.

reformulating in order to check if I understood:
if all my source signals are not exceeding -1 1, whatever I do after that (encoding, fx) I can re-sum harmonics at the final stage and it won’t clip?

May 17 2016 | 7:33 am

Not really. If you encode 6 white noise at the same position or if your fx is a gain that multiply the signal by 100, there will be a problem. But if your sources are "homogeneous" and the fxs don’t increase the gain, it should be ok.

May 17 2016 | 7:40 am

Ok Pierre.
So I’ll have problems.

The idea is really : I want to be able to completely alter the sound in any positions and to put all sounds in that corner of the space or at the opposite etc.

Would it be right to put … a limiter on each harmonics output ?
If yes, where would you do that ? before the decoder ? or between the decoder and the hoa.dac~ ?

(sorry if it sounds weird but I really want to be able to use the space itself as a way of altering the sound so I really need to do that)

Viewing 21 posts - 1 through 21 (of 21 total)

Forums > Dev