23#include "IndexedVector.h"
24#include <juce_dsp/juce_dsp.h>
74 void process(juce::AudioBuffer<float>&);
80 std::array<util::IndexedVector, fdnSize> delayBuffers;
81 std::array<float, fdnSize> feedbackGains = {};
82 std::array<float, fdnSize> transferVector = {};
83 std::vector<unsigned> primeNumbers;
86 double sampleRate = 0.0;
88 void updateParameterSettings();
Ambisonic FDN reverb algorithm.
Definition FDNReverb.h:39
void process(juce::AudioBuffer< float > &)
Apply the FDN reverb algorithm to the given ambisonic audio buffer.
Definition FDNReverb.cpp:138
void setParams(const Params &)
Set the parameters for the FDN reverb algorithm directly.
Definition FDNReverb.cpp:195
FDNReverb()
Default constructor.
Definition FDNReverb.cpp:132
Preset
Presets for the FDN reverb algorithm.
Definition FDNReverb.h:54
@ Sky
Large room with a long reverberation time.
@ Earth
Small room with a short reverberation time.
@ Metal
Medium-sized room with a medium reverberation time.
void reset()
Clear the delay buffers.
Definition FDNReverb.cpp:215
static constexpr size_t fdnSize
The number of delay lines in the FDN.
Definition FDNReverb.h:42
void setPreset(Preset)
Set the parameters for the FDN reverb algorithm using a preset.
Definition FDNReverb.cpp:201
void setSampleRate(double)
Set the sample rate. Must be called before calling process().
Definition FDNReverb.cpp:209
Parameters for the FDN reverb algorithm.
Definition FDNReverb.h:46
float revTime
Reverberation time in seconds.
Definition FDNReverb.h:48
float dryWet
Dry/wet mix [0, 1].
Definition FDNReverb.h:49
float roomSize
Room size in meters.
Definition FDNReverb.h:47