CAmbisonicBinauralizer Class Reference

Ambisonic binauralizer. More...

#include <AmbisonicBinauralizer.h>

Inherits CAmbisonicBase.

Inheritance diagram for CAmbisonicBinauralizer:

Inheritance graph
[legend]
Collaboration diagram for CAmbisonicBinauralizer:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 CAmbisonicBinauralizer (AmbInt nOrder=DEFAULT_ORDER, AmbInt b3D=DEFAULT_HEIGHT, AmbInt nSampleRate=DEFAULT_SAMPLERATE, AmbInt nBlockSize=DEFAULT_BLOCKSIZE, AmbInt bDiffused=DEFAULT_HRTFSET_DIFFUSED)
 ~CAmbisonicBinauralizer ()
virtual AmbInt Create (AmbInt nOrder, AmbInt b3D, AmbInt nSampleRate, AmbInt nBlockSize, AmbInt bDiffused)
virtual void Reset ()
virtual void Refresh ()
void Process (CBFormat *pBFSrc, AmbFloat **ppfDst)

Protected Member Functions

void ArrangeSpeakers ()
void AllocateBuffers ()
void DeallocateBuffers ()

Protected Attributes

CAmbisonicDecoder m_AmbDecoder
AmbInt m_nBlockSize
AmbInt m_nTaps
AmbInt m_nFFTSize
AmbInt m_nFFTBins
AmbFloat m_fFFTScaler
AmbInt m_nOverlapLength
kiss_fftr_cfg m_pFFT_cfg
kiss_fftr_cfg m_pIFFT_cfg
kiss_fft_cpx ** m_ppcpFilters [2]
kiss_fft_cpx * m_pcpScratch
AmbFloatm_pfScratchBufferA
AmbFloatm_pfScratchBufferB
AmbFloatm_pfOverlap [2]

Detailed Description

Ambisonic binauralizer.

B-Format to binaural decoder.


Constructor & Destructor Documentation

CAmbisonicBinauralizer::CAmbisonicBinauralizer ( AmbInt  nOrder = DEFAULT_ORDER,
AmbInt  b3D = DEFAULT_HEIGHT,
AmbInt  nSampleRate = DEFAULT_SAMPLERATE,
AmbInt  nBlockSize = DEFAULT_BLOCKSIZE,
AmbInt  bDiffused = DEFAULT_HRTFSET_DIFFUSED 
)

Constructor that allows for the format to be specified. If the format arguments are not specified, the values set for DEFAULT_ORDER, and DEFAULT_HEIGHT, will be used instead, as wel as a default sample rate of DEFAULT_SAMPLERATE, default block size of DEFAULT_BLOCKSIZE, and default HRTF set diffused of DEFAULT_HRTFSET_DIFFUSED.

CAmbisonicBinauralizer::~CAmbisonicBinauralizer (  ) 


Member Function Documentation

AmbInt CAmbisonicBinauralizer::Create ( AmbInt  nOrder,
AmbInt  b3D,
AmbInt  nSampleRate,
AmbInt  nBlockSize,
AmbInt  bDiffused 
) [virtual]

Re-create the object for the given configuration. Previous data is lost. The function returns the number of taps used for the processing, and this can be used to offset the delay this causes. If the creation fails, then the return will be 0/false.

void CAmbisonicBinauralizer::Reset (  )  [virtual]

Resets members.

Implements CAmbisonicBase.

void CAmbisonicBinauralizer::Refresh (  )  [virtual]

Refreshes coefficients.

Implements CAmbisonicBase.

void CAmbisonicBinauralizer::Process ( CBFormat pBFSrc,
AmbFloat **  ppfDst 
)

Decode B-Format to binaural feeds. There is no arguement for the number of samples to process, as this is determined by the nBlockSize argument in the constructor and Create() function. It is the responsibility of program using this library to handle the blocks of the signal by FIFO buffers or other means.

void CAmbisonicBinauralizer::ArrangeSpeakers (  )  [protected]

void CAmbisonicBinauralizer::AllocateBuffers (  )  [protected]

void CAmbisonicBinauralizer::DeallocateBuffers (  )  [protected]


Member Data Documentation

CAmbisonicDecoder CAmbisonicBinauralizer::m_AmbDecoder [protected]

AmbInt CAmbisonicBinauralizer::m_nBlockSize [protected]

AmbInt CAmbisonicBinauralizer::m_nTaps [protected]

AmbInt CAmbisonicBinauralizer::m_nFFTSize [protected]

AmbInt CAmbisonicBinauralizer::m_nFFTBins [protected]

AmbFloat CAmbisonicBinauralizer::m_fFFTScaler [protected]

AmbInt CAmbisonicBinauralizer::m_nOverlapLength [protected]

kiss_fftr_cfg CAmbisonicBinauralizer::m_pFFT_cfg [protected]

kiss_fftr_cfg CAmbisonicBinauralizer::m_pIFFT_cfg [protected]

kiss_fft_cpx** CAmbisonicBinauralizer::m_ppcpFilters[2] [protected]

kiss_fft_cpx* CAmbisonicBinauralizer::m_pcpScratch [protected]

AmbFloat* CAmbisonicBinauralizer::m_pfScratchBufferA [protected]

AmbFloat* CAmbisonicBinauralizer::m_pfScratchBufferB [protected]

AmbFloat* CAmbisonicBinauralizer::m_pfOverlap[2] [protected]


The documentation for this class was generated from the following files:
Generated on Sat May 19 02:26:28 2007 for amblib by doxygen1.5.1-p1;  SourceForge.net Logo