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 284 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 290 of file beamformer.c.
int beamformer_getBeamOrder | ( | void *const | hBeam | ) |
Returns the beamforming order (see SH_ORDERS enum)
Definition at line 278 of file beamformer.c.
int beamformer_getBeamType | ( | void *const | hBeam | ) |
Returns the beamforming approach employed (see STATIC_BEAM_TYPES enum)
Definition at line 325 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 313 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 273 of file beamformer.c.
int beamformer_getMaxNumBeams | ( | void | ) |
Returns the maximum number of beamformers permitted.
Definition at line 302 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 319 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 307 of file beamformer.c.
int beamformer_getNumBeams | ( | void *const | hBeam | ) |
Returns the number of beamformers being generated.
Definition at line 296 of file beamformer.c.
int beamformer_getProcessingDelay | ( | void | ) |
Returns the processing delay in samples (may be used for delay compensation features)
Definition at line 331 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 94 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 195 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 217 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 228 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 203 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 262 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 248 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 255 of file beamformer.c.
void beamformer_setNumBeams | ( | void *const | hBeam, |
int | new_nBeams ) |
Sets the number of beamformers to generate.
Definition at line 237 of file beamformer.c.