SAL
A C++ library for spatial audio.
|
#include <ambisonics.h>
Public Member Functions | |
AmbisonicsHorizDec (const Int order, const bool energy_decoding, const Time cut_off_frequency, const std::vector< Angle > &loudspeaker_angles, const bool near_field_correction, const Length loudspeakers_distance, const Time sampling_frequency, const Speed sound_speed, const HoaOrdering ordering_convention=HoaOrdering::Acn) | |
virtual void | Decode (const Buffer &input_buffer, Buffer &output_buffer) |
virtual | ~AmbisonicsHorizDec () |
Public Member Functions inherited from sal::Decoder | |
Decoder () | |
virtual | ~Decoder () |
Static Public Member Functions | |
static bool | Test () |
Implements horizontal higher order ambisonics with regular loudspeakers configuration (e.g. pentagon for II-order etc..).
sal::AmbisonicsHorizDec::AmbisonicsHorizDec | ( | const Int | order, |
const bool | energy_decoding, | ||
const Time | cut_off_frequency, | ||
const std::vector< Angle > & | loudspeaker_angles, | ||
const bool | near_field_correction, | ||
const Length | loudspeakers_distance, | ||
const Time | sampling_frequency, | ||
const Speed | sound_speed, | ||
const HoaOrdering | ordering_convention = HoaOrdering::Acn |
||
) |
position
is the position of the microphone in the recording space. order
is the HOA order num_loudspeakers
is the number of loudspeakers forming the regular polygon in the reproduction space. Exact reconstruction of the 2*order
+1 circular harmonics is achieved if num_loudspeakers = 2*order
+1 (e.g. penthagon loudspeaker for a second-order ambisonics). All loudspeakers are at polar angle is PI/2.0, i.e. are on an horizontal plane relative to the reference system. In other words all loudspeakers lie on a plane that is parallel with the x-y plane. The first loudspeaker is on the x-axis (azimuthal angle is 0). If energy_decoding
is true a maximum energy decoding will be used for frequencies higher than cut_off_frequency
. If near_field_correction
is true, the signals will be processed using J. Daniel's near-field correction.
|
inlinevirtual |
|
virtual |
Decodes and puts in the output streams. It stops when the inputs stream is depleted.
Implements sal::Decoder.
|
static |