|
JPL Spatial
Sound spatialization and propagation library
|
#include <JPLSpatial/Auralization/LateReverb.h>
Public Member Functions | |
| ReverbBus ()=default | |
| ~ReverbBus () noexcept=default | |
| void | SetRT60 (const simd &newRT60Seconds) |
| void | SetDecaySlope (const simd &newDecaySlope) |
| void | Prepare (float sampleRate, const SplitFrequencies &splits={}) |
| void | ProcessInterleaved (std::span< const float > input, std::span< float > output, uint32 numFrames) |
Multi-channel reverb processing bus implementing a feedback delay network (FDN) with four-band attenuation filters for dynamic RT60 control.
|
default |
|
defaultnoexcept |
| void JPL::ReverbBus::Prepare | ( | float | sampleRate, |
| const SplitFrequencies & | splits = {} |
||
| ) |
Prepare FDN and filters for processing.
| sampleRate | sampling rate of the process block |
| splits | split frequencies for the attenuation decay crossover filter |
| void JPL::ReverbBus::ProcessInterleaved | ( | std::span< const float > | input, |
| std::span< float > | output, | ||
| uint32 | numFrames | ||
| ) |
Process interleaved block of samples, producing interleaved output.
Number of input/output channels inferred from buffer.size() / numFrames
| input | if > 1 channel, mixed down to mono |
Set reverberation time in four frequency bands as decay slope -dB/s
Set reverberation time in four frequency bands as per split frequencies set in Prepare()