HOA Library
beta 3.0
High Order Ambisonics Library
|
The binaural decoder class decodes a sound field in the harmonics domain for headphones. More...
#include <Hoa_Decoder.hpp>
Public Member Functions | |
DecoderBinaural (const size_t order) | |
The binaural decoder constructor. More... | |
virtual | ~DecoderBinaural ()=0 |
The binaural decoder destructor. More... | |
virtual void | prepare (const size_t vectorsize=64) hoa_override |
This method computes the decoding matrix. More... | |
virtual void | processBlock () hoa_noexcept |
This method performs the binaural decoding and the convolution. | |
virtual void | process (const T *inputs, T *outputs) hoa_noexcept hoa_override |
This method performs the binaural decoding. More... | |
Public Member Functions inherited from Decoder< Hoa2d, T > | |
Decoder (const size_t order, const size_t numberOfPlanewaves) hoa_noexcept | |
The decoder constructor. More... | |
virtual | ~Decoder () |
The destructor. More... | |
virtual Mode | getMode () const hoa_noexcept |
This method retrieves the mode of the decoder. More... | |
Public Member Functions inherited from ProcessorHarmonics< Hoa2d, T > | |
ProcessorHarmonics (const size_t order) hoa_noexcept | |
The harmonics constructor. More... | |
virtual | ~ProcessorHarmonics () hoa_noexcept |
The harmonics destructor. | |
size_t | getDecompositionOrder () const hoa_noexcept |
Returns the order of decomposition. | |
size_t | getNumberOfHarmonics () const hoa_noexcept |
Returns the number of harmonics. | |
size_t | getHarmonicDegree (const size_t index) const hoa_noexcept |
Returns the degree of an harmonic. More... | |
long | getHarmonicOrder (const size_t index) const hoa_noexcept |
Returns the azimuthal order of an harmonic. More... | |
size_t | getHarmonicIndex (const size_t degree, const long order) const hoa_noexcept |
Returns the index of an harmonic given the degree and the azimuthal order. More... | |
std::string | getHarmonicName (const size_t index) const hoa_noexcept |
Returns the name of an harmonic. More... | |
T | getHarmonicNormalization (const size_t index) const hoa_noexcept |
Returns the normalization of an harmonic. More... | |
T | getHarmonicSemiNormalization (const size_t index) const hoa_noexcept |
Returns the semi-normalization of an harmonic. More... | |
Public Member Functions inherited from Processor< D, T > | |
virtual | ~Processor () hoa_noexcept |
The destructor. | |
Public Member Functions inherited from ProcessorPlanewaves< Hoa2d, T > | |
ProcessorPlanewaves (const size_t nplws) hoa_noexcept | |
The planewaves constructor. More... | |
virtual | ~ProcessorPlanewaves () hoa_noexcept |
The planewaves destructor. | |
size_t | getNumberOfPlanewaves () const hoa_noexcept |
Returns the number of planewaves. | |
void | setPlanewavesRotation (const T x_axe, const T y_axe, const T z_axe) hoa_noexcept |
Sets the global rotation of the planewaves. More... | |
T | getPlanewavesRotationX () const hoa_noexcept |
Returns the angle of rotation around the x axis in radian of the planewaves. | |
T | getPlanewavesRotationY () const hoa_noexcept |
Returns the angle of rotation around the y axis in radian of the planewaves. | |
T | getPlanewavesRotationZ () const hoa_noexcept |
Returns the angle of rotation around the z axis in radian of the planewaves. | |
size_t | getPlanewaveIndex (const size_t index) hoa_noexcept |
Returns the index of a planewave. | |
void | setPlanewaveAzimuth (const size_t index, const T azimuth) hoa_noexcept |
Sets the azimuth of a planewave in radian. More... | |
void | setPlanewaveElevation (const size_t index, const T elevation) hoa_noexcept |
Sets the azimuth of a planewave in radian. More... | |
T | getPlanewaveAzimuth (const size_t index, const bool rotation=true) const hoa_noexcept |
Returns the azimuth of a planewave. More... | |
T | getPlanewaveElevation (const size_t index, const bool rotation=true) const hoa_noexcept |
Returns the elevation of a planewave. More... | |
T | getPlanewaveAbscissa (const size_t index, const bool rotation=true) const hoa_noexcept |
Returns the abscissa of a planewave. More... | |
T | getPlanewaveOrdinate (const size_t index, const bool rotation=true) const hoa_noexcept |
Returns the ordinate of a planewave. More... | |
T | getPlanewaveHeight (const size_t index, const bool rotation=true) const hoa_noexcept |
Returns the height of a planewave. More... | |
std::string | getPlanewaveName (const size_t index) const hoa_noexcept |
Retruns the name for a planewave. More... | |
The binaural decoder class decodes a sound field in the harmonics domain for headphones.
The binaural decoder should be used to decode an ambisonic sound field for headphones. It decodes the sound field through the planewaves domain an convolves the results with HRTF from the IRCAM database.
Definition at line 192 of file Hoa_Decoder.hpp.
DecoderBinaural | ( | const size_t | order | ) |
The binaural decoder constructor.
The binaural decoder constructor allocates and initialize the member values to the decoding matrix depending on a order of decomposition and a number of channels. The order and the number of channels must be at least 1.
order | The order |
|
pure virtual |
The binaural decoder destructor.
The binaural decoder destructor free the memory.
|
virtual |
This method computes the decoding matrix.
You should use this method after changing the position of the loudspeakers.
vectorsize | The vector size for binaural decoding. |
Implements Decoder< Hoa2d, T >.
|
virtual |
This method performs the binaural decoding.
You should use this method for not-in-place processing and performs the binaural decoding sample by sample. The inputs array contains the spherical harmonics samples : inputs[number of harmonics] and the outputs array contains the headphones samples : outputs[2].
inputs | The input samples. |
outputs | The output array that contains samples destinated to channels. |
Implements Decoder< Hoa2d, T >.