|
SAF
|
A frequency-dependent 3D panner based on the Vector-base Amplitude Panning (VBAP) method [1], with an optional spread control [2]. More...
Go to the source code of this file.
Data Structures | |
| struct | panner_data |
| Main structure for panner. More... | |
Macros | |
| #define | FORCE_3D_LAYOUT |
| FLAG: Force 2D loudspeaker setups to also use 3D VBAP (i.e. | |
| #define | PANNER_FRAME_SIZE ( 128 ) |
| Framesize, in time-domain samples. | |
| #define | HOP_SIZE ( 128 ) |
| STFT hop size. | |
| #define | HYBRID_BANDS ( HOP_SIZE + 5 ) |
| Number of frequency bands. | |
| #define | TIME_SLOTS ( PANNER_FRAME_SIZE / HOP_SIZE ) |
| Number of STFT timeslots. | |
Functions | |
| void | panner_setCodecStatus (void *const hPan, CODEC_STATUS newStatus) |
| Sets codec status (see CODEC_STATUS enum) | |
| void | panner_initGainTables (void *const hPan) |
| Intialises the VBAP gain table used for panning. | |
| void | panner_initTFT (void *const hPan) |
| Initialise the filterbank used by panner. | |
| void | panner_loadSourcePreset (SOURCE_CONFIG_PRESETS preset, _Atomic_FLOAT32 dirs_deg[MAX_NUM_INPUTS][2], _Atomic_INT32 *newNCH, int *nDims) |
| Loads source directions from preset. | |
| void | panner_loadLoudspeakerPreset (LOUDSPEAKER_ARRAY_PRESETS preset, _Atomic_FLOAT32 dirs_deg[MAX_NUM_INPUTS][2], _Atomic_INT32 *newNCH, int *nDims) |
| Loads source/loudspeaker directions from preset. | |
A frequency-dependent 3D panner based on the Vector-base Amplitude Panning (VBAP) method [1], with an optional spread control [2].
Depending on the listening room, it may be beneficial to employ amplitude- normalised gains for low frequencies, and energy-normalised gains for high frequencies. Therefore, this VBAP implementation also uses the method described in [3], to do just that.
Definition in file panner_internal.h.
| #define FORCE_3D_LAYOUT |
FLAG: Force 2D loudspeaker setups to also use 3D VBAP (i.e.
with 2 virtual loudspeakers on the top/bottom)
Definition at line 59 of file panner_internal.h.
| #define HOP_SIZE ( 128 ) |
STFT hop size.
Definition at line 67 of file panner_internal.h.
| #define HYBRID_BANDS ( HOP_SIZE + 5 ) |
Number of frequency bands.
Definition at line 68 of file panner_internal.h.
| #define PANNER_FRAME_SIZE ( 128 ) |
Framesize, in time-domain samples.
Definition at line 64 of file panner_internal.h.
| #define TIME_SLOTS ( PANNER_FRAME_SIZE / HOP_SIZE ) |
Number of STFT timeslots.
Definition at line 69 of file panner_internal.h.
| void panner_initGainTables | ( | void *const | hPan | ) |
Intialises the VBAP gain table used for panning.
Definition at line 58 of file panner_internal.c.
| void panner_initTFT | ( | void *const | hPan | ) |
Initialise the filterbank used by panner.
Definition at line 102 of file panner_internal.c.
| void panner_loadLoudspeakerPreset | ( | LOUDSPEAKER_ARRAY_PRESETS | preset, |
| _Atomic_FLOAT32 | dirs_deg[MAX_NUM_INPUTS][2], | ||
| _Atomic_INT32 * | newNCH, | ||
| int * | nDims ) |
Loads source/loudspeaker directions from preset.
| [in] | preset | See LOUDSPEAKER_ARRAY_PRESETS enum |
| [out] | dirs_deg | Source/loudspeaker directions |
| [out] | newNCH | (&) new number of channels |
| [out] | nDims | (&) estimate of the number of dimensions (2 or 3) |
Definition at line 329 of file panner_internal.c.
| void panner_loadSourcePreset | ( | SOURCE_CONFIG_PRESETS | preset, |
| _Atomic_FLOAT32 | dirs_deg[MAX_NUM_INPUTS][2], | ||
| _Atomic_INT32 * | newNCH, | ||
| int * | nDims ) |
Loads source directions from preset.
| [in] | preset | See SOURCE_CONFIG_PRESETS enum |
| [out] | dirs_deg | Source/loudspeaker directions |
| [out] | newNCH | (&) new number of channels |
| [out] | nDims | (&) estimate of the number of dimensions (2 or 3) |
Definition at line 119 of file panner_internal.c.
| void panner_setCodecStatus | ( | void *const | hPan, |
| CODEC_STATUS | newStatus ) |
Sets codec status (see CODEC_STATUS enum)
Definition at line 47 of file panner_internal.c.