JPL Spatial
Sound spatialization and propagation library
Loading...
Searching...
No Matches
JPL::ReverbBus Class Reference

#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)
 

Detailed Description

Multi-channel reverb processing bus implementing a feedback delay network (FDN) with four-band attenuation filters for dynamic RT60 control.

Constructor & Destructor Documentation

◆ ReverbBus()

JPL::ReverbBus::ReverbBus ( )
default

◆ ~ReverbBus()

JPL::ReverbBus::~ReverbBus ( )
defaultnoexcept

Member Function Documentation

◆ Prepare()

void JPL::ReverbBus::Prepare ( float  sampleRate,
const SplitFrequencies splits = {} 
)

Prepare FDN and filters for processing.

Parameters
sampleRatesampling rate of the process block
splitssplit frequencies for the attenuation decay crossover filter

◆ ProcessInterleaved()

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

Parameters
inputif > 1 channel, mixed down to mono

◆ SetDecaySlope()

void JPL::ReverbBus::SetDecaySlope ( const simd newDecaySlope)

Set reverberation time in four frequency bands as decay slope -dB/s

◆ SetRT60()

void JPL::ReverbBus::SetRT60 ( const simd newRT60Seconds)

Set reverberation time in four frequency bands as per split frequencies set in Prepare()


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