A C++ library for spatial audio.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | List of all members
sal::AmbisonicsHorizDec Class Reference

#include <ambisonics.h>

Inheritance diagram for sal::AmbisonicsHorizDec:

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 ()

Detailed Description

Implements horizontal higher order ambisonics with regular loudspeakers configuration (e.g. pentagon for II-order etc..).

Constructor & Destructor Documentation

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.

virtual sal::AmbisonicsHorizDec::~AmbisonicsHorizDec ( )

Member Function Documentation

void sal::AmbisonicsHorizDec::Decode ( const Buffer input_buffer,
Buffer output_buffer 

Decodes and puts in the output streams. It stops when the inputs stream is depleted.

Implements sal::Decoder.

bool sal::AmbisonicsHorizDec::Test ( )

The documentation for this class was generated from the following files: