SAF
|
Generates beamformers/virtual microphones in arbitrary directions with several different beam patterns to choose from. More...
#include "_common.h"
Go to the source code of this file.
Functions | |
void | beamformer_create (void **const phBeam) |
Creates an instance of beamformer. | |
void | beamformer_destroy (void **const phBeam) |
Destroys an instance of beamformer. | |
void | beamformer_init (void *const hBeam, int samplerate) |
Initialises an instance of beamformer with default settings. | |
void | beamformer_process (void *const hBeam, const float *const *inputs, float *const *outputs, int nInputs, int nOutputs, int nSamples) |
Generates beamformers/virtual microphones in the specified directions. | |
void | beamformer_refreshSettings (void *const hBeam) |
Sets all intialisation flags to 1; re-initialising all settings/variables as beamformer is currently configured, at next available opportunity. | |
void | beamformer_setBeamOrder (void *const hBeam, int newValue) |
Sets the beamforming order (see SH_ORDERS enum) | |
void | beamformer_setBeamAzi_deg (void *const hBeam, int index, float newAzi_deg) |
Sets a beamformer azimuth direction of a given index, in DEGREES. | |
void | beamformer_setBeamElev_deg (void *const hBeam, int index, float newElev_deg) |
Sets a beamformer elevation direction for a given index, in DEGREES. | |
void | beamformer_setNumBeams (void *const hBeam, int new_nBeams) |
Sets the number of beamformers to generate. | |
void | beamformer_setChOrder (void *const hBeam, int newOrder) |
Sets the Ambisonic channel ordering convention to decode with, in order to match the convention employed by the input signals (see CH_ORDER enum) | |
void | beamformer_setNormType (void *const hBeam, int newType) |
Sets the Ambisonic normalisation convention to decode with, in order to match with the convention employed by the input signals (see NORM_TYPES enum) | |
void | beamformer_setBeamType (void *const hBeam, int newID) |
Sets the beamforming approach to employ (see STATIC_BEAM_TYPES enum) | |
int | beamformer_getFrameSize (void) |
Returns the processing framesize (i.e., number of samples processed with every _process() call ) | |
int | beamformer_getBeamOrder (void *const hBeam) |
Returns the beamforming order (see SH_ORDERS enum) | |
float | beamformer_getBeamAzi_deg (void *const hBeam, int index) |
Returns the beamformer azimuth direction of a given index h, in DEGREES. | |
float | beamformer_getBeamElev_deg (void *const hBeam, int index) |
Returns the beamformer elevation direction of a given index, in DEGREES. | |
int | beamformer_getNumBeams (void *const hBeam) |
Returns the number of beamformers being generated. | |
int | beamformer_getMaxNumBeams (void) |
Returns the maximum number of beamformers permitted. | |
int | beamformer_getNSHrequired (void *const hBeam) |
Returns the number of spherical harmonic signals required by the currently selected beamforming order: (current_order+1)^2. | |
int | beamformer_getChOrder (void *const hBeam) |
Returns the Ambisonic channel ordering convention currently being used to decode with, which should match the convention employed by the input signals (see CH_ORDER enum) | |
int | beamformer_getNormType (void *const hBeam) |
Returns the Ambisonic normalisation convention currently being usedto decode with, which should match the convention employed by the input signals (see NORM_TYPES enum) | |
int | beamformer_getBeamType (void *const hBeam) |
Returns the beamforming approach employed (see STATIC_BEAM_TYPES enum) | |
int | beamformer_getProcessingDelay (void) |
Returns the processing delay in samples (may be used for delay compensation features) | |
Generates beamformers/virtual microphones in arbitrary directions with several different beam patterns to choose from.
Definition in file beamformer.h.
void beamformer_create | ( | void **const | phBeam | ) |
Creates an instance of beamformer.
[in] | phBeam | (&) address of beamformer handle |
Definition at line 29 of file beamformer.c.
void beamformer_destroy | ( | void **const | phBeam | ) |
Destroys an instance of beamformer.
[in] | phBeam | (&) address of beamformer handle |
Definition at line 56 of file beamformer.c.
float beamformer_getBeamAzi_deg | ( | void *const | hBeam, |
int | index ) |
Returns the beamformer azimuth direction of a given index h, in DEGREES.
Definition at line 288 of file beamformer.c.
float beamformer_getBeamElev_deg | ( | void *const | hBeam, |
int | index ) |
Returns the beamformer elevation direction of a given index, in DEGREES.
Definition at line 294 of file beamformer.c.
int beamformer_getBeamOrder | ( | void *const | hBeam | ) |
Returns the beamforming order (see SH_ORDERS enum)
Definition at line 282 of file beamformer.c.
int beamformer_getBeamType | ( | void *const | hBeam | ) |
Returns the beamforming approach employed (see STATIC_BEAM_TYPES enum)
Definition at line 329 of file beamformer.c.
int beamformer_getChOrder | ( | void *const | hBeam | ) |
Returns the Ambisonic channel ordering convention currently being used to decode with, which should match the convention employed by the input signals (see CH_ORDER enum)
Definition at line 317 of file beamformer.c.
int beamformer_getFrameSize | ( | void | ) |
Returns the processing framesize (i.e., number of samples processed with every _process() call )
Definition at line 277 of file beamformer.c.
int beamformer_getMaxNumBeams | ( | void | ) |
Returns the maximum number of beamformers permitted.
Definition at line 306 of file beamformer.c.
int beamformer_getNormType | ( | void *const | hBeam | ) |
Returns the Ambisonic normalisation convention currently being usedto decode with, which should match the convention employed by the input signals (see NORM_TYPES enum)
Definition at line 323 of file beamformer.c.
int beamformer_getNSHrequired | ( | void *const | hBeam | ) |
Returns the number of spherical harmonic signals required by the currently selected beamforming order: (current_order+1)^2.
Definition at line 311 of file beamformer.c.
int beamformer_getNumBeams | ( | void *const | hBeam | ) |
Returns the number of beamformers being generated.
Definition at line 300 of file beamformer.c.
int beamformer_getProcessingDelay | ( | void | ) |
Returns the processing delay in samples (may be used for delay compensation features)
Definition at line 335 of file beamformer.c.
void beamformer_init | ( | void *const | hBeam, |
int | samplerate ) |
Initialises an instance of beamformer with default settings.
[in] | hBeam | beamformer handle |
[in] | samplerate | Host samplerate. |
Definition at line 71 of file beamformer.c.
void beamformer_process | ( | void *const | hBeam, |
const float *const * | inputs, | ||
float *const * | outputs, | ||
int | nInputs, | ||
int | nOutputs, | ||
int | nSamples ) |
Generates beamformers/virtual microphones in the specified directions.
[in] | hBeam | beamformer handle |
[in] | inputs | Input channel buffers; 2-D array: nInputs x nSamples |
[in] | outputs | Output channel buffers; 2-D array: nOutputs x nSamples |
[in] | nInputs | Number of input channels |
[in] | nOutputs | Number of output channels |
[in] | nSamples | Number of samples in 'inputs'/'output' matrices |
Definition at line 95 of file beamformer.c.
void beamformer_refreshSettings | ( | void *const | hBeam | ) |
Sets all intialisation flags to 1; re-initialising all settings/variables as beamformer is currently configured, at next available opportunity.
Definition at line 199 of file beamformer.c.
void beamformer_setBeamAzi_deg | ( | void *const | hBeam, |
int | index, | ||
float | newAzi_deg ) |
Sets a beamformer azimuth direction of a given index, in DEGREES.
Definition at line 221 of file beamformer.c.
void beamformer_setBeamElev_deg | ( | void *const | hBeam, |
int | index, | ||
float | newElev_deg ) |
Sets a beamformer elevation direction for a given index, in DEGREES.
Definition at line 232 of file beamformer.c.
void beamformer_setBeamOrder | ( | void *const | hBeam, |
int | newValue ) |
Sets the beamforming order (see SH_ORDERS enum)
If the beamforming order is higher than the input signal order, the extra required channels are filled with zeros. If the beamforming order is lower than the input signal order, the number input signals is truncated accordingly.
Definition at line 207 of file beamformer.c.
void beamformer_setBeamType | ( | void *const | hBeam, |
int | newID ) |
Sets the beamforming approach to employ (see STATIC_BEAM_TYPES enum)
Definition at line 266 of file beamformer.c.
void beamformer_setChOrder | ( | void *const | hBeam, |
int | newOrder ) |
Sets the Ambisonic channel ordering convention to decode with, in order to match the convention employed by the input signals (see CH_ORDER enum)
Definition at line 252 of file beamformer.c.
void beamformer_setNormType | ( | void *const | hBeam, |
int | newType ) |
Sets the Ambisonic normalisation convention to decode with, in order to match with the convention employed by the input signals (see NORM_TYPES enum)
Definition at line 259 of file beamformer.c.
void beamformer_setNumBeams | ( | void *const | hBeam, |
int | new_nBeams ) |
Sets the number of beamformers to generate.
Definition at line 241 of file beamformer.c.