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... | |
double | getWideningValue () const |
This method retreive 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... | |
long | getHarmonicArgument (unsigned int index) const |
Retrieve the argument of an harmonic. More... | |
long | getHarmonicBand (unsigned int index) const |
Retrieve the band of an harmonic. More... | |
std::string | getHarmonicsName (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.
Hoa2D::Wider::Wider | ( | unsigned int | order | ) |
Hoa2D::Wider::~Wider | ( | ) |
|
inline |
void Hoa2D::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 circular harmonics samples and the minimum size must be the number of harmonics.
inputs | The inputs array. |
outputs | The outputs array. |
void Hoa2D::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 circular harmonics samples and the minimum size must be the number of harmonics.
inputs | The inputs array. |
outputs | The outputs array. |
void Hoa2D::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 circular hamronics appears in logarithmic way to linearly increase the sound field precision.
value | The widening value. |