cicm / hoalibrary-light Goto Github PK
View Code? Open in Web Editor NEW:globe_with_meridians: High Order Ambisonics library
Home Page: http://hoalibrary.mshparisnord.fr/en
License: GNU General Public License v3.0
:globe_with_meridians: High Order Ambisonics library
Home Page: http://hoalibrary.mshparisnord.fr/en
License: GNU General Public License v3.0
In all the repositories it does not specify anywhere what order you are using (ACN or FuMa)?
Furthermore, on the website, there is an updated SN3D set of patches which leads me to believe the ordering is ACN but the normalization was updated from N3D to SN3D?
What about the Faust version? Could you update these details on all your different compilations?
Sorry if I am ignorant, still new to this ambisonics thing. Been at it for three years...
Hi, I know where hrtf impulses are stored and that there are in harmonics domain. I'd like to try this measurments https://dev.qu.tu-berlin.de/projects/measurements/repository/show/2010-11-kemar-anechoic, but don't know if they are in the same domain and if not how to convert them.
I need some pointers, articles which describe hrtf impulses, so I could understand it.
The way hoa-library use these impulses is some kind of standard?
I hope you could help me.
Hi,
Title says it all ... steps to repro : open the help file!
Happens with Max8.1.8 (and Max8.2.0 beta as well) on a Mac running Mojave.
Does not happen with Max8.1.7.
Hi,
as already discussed via Email the implementation of the spherical harmonics has some problems..
The 3d implementation is not compatible to other implementations that have become standard (ambix) - as implemented in the ambix vst plugins and O3A by blueripplesound.
One cause:
In https://github.com/CICM/HoaLibrary-Light/blob/master/Sources/Encoder.hpp#L1208 you write
m_cos_theta = std::cos(HOA_PI2 + m_elevation);
, this is a wrong conversion from elevation to zenith angle and results in flipping top/bottom. Correctly it should be: m_cos_theta = std::cos(HOA_PI2 - m_elevation);
Condon Shortley phase:
You are using somewhere the term (-1)^degree
, which no other Ambisonics implementation I know of uses. Please remove for compatibility reasons.
Normalization:
the channels with degree=0 seems to be not scaled by 1/sqrt(4*pi)
.
I would recommend removing the term 1/sqrt(4*pi)
completely, however if you decide to include it please do it consequently.
Best,
Matthias
Hello HOAlibrary crew,
I am in the process of linking the HOA library to an offline audio processing library I am writing, and in doing so I noticed that you had no implementation for 3d rotations. I have set up in a couple of days a barebone implementation, based on yaw/pitch/roll; there's a little convention mismatch with the axis of my library, but I will handle it outside. One could certainly imagine a direct quaternion input (as a matter of fact, that's probably almost a one liner, given that my current implementation uses Eigen's quaternionToEuler conversions).
Not sure if the 3d rotation was already in your pipeline. Also, I'm no expert in this 3d rotational geometry, euler angles, quaternions, etc. So what I did is definitely error prone, and should be perhaps checked by someone more skilled than I am. Another limitation is that only orders up to 21 are supported (in practice this is not a limitation, of course, but in theory it is...), since I am relying on the Ry90 matrices Frank Zotter provided (and they exist up to the 21st order). That being said, for my application it seems to work nicely, although I'm sure that you would have implemented it ten times better than I did.
In any case, if that was not in your pipeline and you are interested to merge it, let me know and I can perhaps make a pull request at some point.
Thanks for your amazing work!
Daniele
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.