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

#include <monomics.h>

Inheritance diagram for sal::MemorylessMonoMic:
sal::MemorylessMic sal::MonoMic sal::Microphone sal::Microphone sal::GainMic sal::TanMic sal::TrigMic sal::OmniMic

Public Member Functions

 MemorylessMonoMic (mcl::Point position, mcl::Quaternion orientation)
 
virtual ~MemorylessMonoMic ()
 
virtual void AddPlaneWaveRelative (const Sample *input_data, const Int num_samples, const mcl::Point &point, const Int, Buffer &output_buffer) noexcept
 
- Public Member Functions inherited from sal::MemorylessMic
 MemorylessMic (mcl::Point position, mcl::Quaternion orientation)
 
virtual ~MemorylessMic ()
 
- Public Member Functions inherited from sal::Microphone
 Microphone (mcl::Point position, mcl::Quaternion orientation=mcl::Quaternion::Identity())
 
mcl::Point position () const noexcept
 
virtual void SetPosition (const mcl::Point &position) noexcept
 
mcl::Quaternion orientation () const noexcept
 
virtual void SetOrientation (const mcl::Quaternion &orientation) noexcept
 
void SetHandedness (const mcl::Handedness handedness) noexcept
 
void AddPlaneWave (const MonoBuffer &signal, const mcl::Point &point, Buffer &output_buffer) noexcept
 
void AddPlaneWave (const Sample *input_data, const Int num_samples, const mcl::Point &point, Buffer &output_buffer) noexcept
 
void AddPlaneWave (const Sample input_sample, const mcl::Point &point, Buffer &output_buffer) noexcept
 
void AddPlaneWave (const MonoBuffer &input_buffer, const mcl::Point &point, const Int wave_id, Buffer &output_buffer) noexcept
 
void AddPlaneWave (const Sample input_sample, const mcl::Point &point, const Int wave_id, Buffer &output_buffer) noexcept
 
virtual void AddPlaneWave (const Sample *input_data, const Int num_samples, const mcl::Point &point, const Int wave_id, Buffer &output_buffer) noexcept
 
virtual bool IsOmni () const noexcept
 
mcl::Point GetRelativePoint (const mcl::Point &point) const noexcept
 
virtual void Reset () noexcept
 
virtual ~Microphone ()
 
virtual void AddPlaneWaveRelative (const MonoBuffer &signal, const mcl::Point &point, const Int wave_id, Buffer &output_buffer) noexcept
 
- Public Member Functions inherited from sal::MonoMic
 MonoMic (mcl::Point position, mcl::Quaternion orientation)
 
Sample RecordPlaneWave (const Sample input_sample, const mcl::Point &point, const Int &wave_id=0) noexcept
 
bool IsCoincident () const noexcept
 
Int num_channels () const noexcept
 
virtual ~MonoMic ()
 

Additional Inherited Members

- Static Public Member Functions inherited from sal::Microphone
static bool Test ()
 
- Protected Attributes inherited from sal::Microphone
mcl::Handedness handedness_
 

Constructor & Destructor Documentation

sal::MemorylessMonoMic::MemorylessMonoMic ( mcl::Point  position,
mcl::Quaternion  orientation 
)
inline
virtual sal::MemorylessMonoMic::~MemorylessMonoMic ( )
inlinevirtual

Member Function Documentation

virtual void sal::MemorylessMonoMic::AddPlaneWaveRelative ( const Sample input_data,
const Int  num_samples,
const mcl::Point &  point,
const Int  wave_id,
Buffer output_buffer 
)
inlinevirtualnoexcept

This is implemented by the specific type of microphones. mcl::Point in this case is relative to the microphone reference system. This is the most important function of this object. This filters the sample sample as a function of the position from where the sound is incoming point. Info for developer: the directivity should preferably have a maximum in the direction of the x-axis For anthropomorphic directivities, the facing direction is the x-axis. An arrow going from the jaw trough the skull and up should preferrably be in the direction of plus-z-axis. Other choices could be made, as long as the conventions are kept at higher levels.

Implements sal::Microphone.


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