HoaLibrary
2.0
High Order Ambisonics Library
|
The ambisonic wider. More...
#include <Wider.h>
Public Member Functions | |
Wider (unsigned int order) | |
The wider constructor. More... | |
~Wider () | |
The wider destructor. More... | |
void | setWideningValue (const double value) |
This method set the widening value. More... | |
void | process (const float *inputs, float *outputs) |
This method performs the widening with single precision. More... | |
void | process (const double *inputs, double *outputs) |
This method performs the widening with double precision. More... | |
![]() | |
Ambisonic (unsigned int order) | |
The ambisonic constructor. More... | |
~Ambisonic () | |
The ambisonic destructor. More... | |
unsigned int | getOrder () const |
Retrieve the decomposition order. More... | |
unsigned int | getNumberOfHarmonics () const |
Retrieve the number of harmonics. More... | |
int | getHarmonicArgument (const unsigned int index) const |
Retrieve the argument of an harmonic. More... | |
unsigned int | getHarmonicBand (const unsigned int index) const |
Retrieve the band of an harmonic. More... | |
std::string | getHarmonicsName (const unsigned int index) const |
Retrieve a name for an harmonic. More... | |
The ambisonic wider.
The wider should be used to widen the sound propagation with fractional order simulution. The sound field precision depends to the decomposition order. The zero decomposition order has 1 omnidirectionnal harmonic and all the sounds seem to come from all the directions. While the order increases, the number of harmonics increases, the lobes of an encoded sounds narrow and the origin of the sounds is more accurate. Then fractional order can be used to decrease the sound field precision and to wide the sound field propagation.
Hoa3D::Wider::Wider | ( | unsigned int | order | ) |
Hoa3D::Wider::~Wider | ( | ) |
void Hoa3D::Wider::process | ( | const float * | inputs, |
float * | outputs | ||
) |
This method performs the widening with single precision.
You should use this method for in-place or not-in-place processing and performs the widening sample by sample. The inputs array and outputs array contains the spherical harmonics samples and the minimum size must be the number of harmonics.
inputs | The inputs array. |
outputs | The outputs array. |
void Hoa3D::Wider::process | ( | const double * | inputs, |
double * | outputs | ||
) |
This method performs the widening with double precision.
You should use this method for in-place or not-in-place processing and performs the widening sample by sample. The inputs array and outputs array contains the spherical harmonics samples and the minimum size must be the number of harmonics.
inputs | The inputs array. |
outputs | The outputs array. |
void Hoa3D::Wider::setWideningValue | ( | const double | value | ) |
This method set the widening value.
The widening value is clipped between 0 and 1. At 1, the sound field has no changes. At 0, all the sound field is omnidirectionnal, only the harmonic [0 0] remains. From 0 to 1, the spherical hamronics appears in logarithmic way to linearly increase the sound field precision.
value | The widening value. |