Deluge Firmware 1.3.0
Build date: 2025.06.05
Loading...
Searching...
No Matches
deluge::dsp::reverb::Digital Class Reference

The Griesinger topology model from Part 1 of Effect Design by John Dattorro, classically based on the famous Lexicon 224 Digital Reverb. More...

#include <digital.hpp>

Inheritance diagram for deluge::dsp::reverb::Digital:
Collaboration diagram for deluge::dsp::reverb::Digital:

Public Member Functions

void process (std::span< q31_t > in, std::span< StereoSample > output) override
 
- Public Member Functions inherited from deluge::dsp::reverb::Mutable
void process (std::span< int32_t > in, std::span< StereoSample > output) override
 
void Clear ()
 
void setRoomSize (float value) override
 
float getRoomSize () const override
 
void setDamping (float value) override
 
float getDamping () const override
 
void setWidth (float value) override
 
float getWidth () const override
 
void setHPF (float f) override
 
float getHPF () const override
 
void setLPF (float f) override
 
float getLPF () const override
 
- Public Member Functions inherited from deluge::dsp::reverb::Base
constexpr void setPanLevels (const int32_t amplitude_left, const int32_t amplitude_right)
 
constexpr int32_t getPanLeft () const
 
constexpr int32_t getPanRight () const
 

Private Attributes

float lp_band_
 

Static Private Attributes

static constexpr float kRatio = 29761.f / kSampleRate
 
static constexpr size_t max_excursion = 16.f * kRatio
 

Additional Inherited Members

- Public Types inherited from deluge::dsp::reverb::Base
enum class  FilterType { LowPass , HighPass }
 
- Static Public Member Functions inherited from deluge::dsp::reverb::Base
template<FilterType filtertype>
static constexpr float calcFilterCutoff (float f)
 
- Static Public Attributes inherited from deluge::dsp::reverb::Mutable
static constexpr float kReverbTimeMin = 0.01f
 
static constexpr float kReverbTimeMax = 0.98f
 
static constexpr float kWidthMin = 0.1f
 
static constexpr float kWidthMax = 0.9f
 
- Protected Attributes inherited from deluge::dsp::reverb::Mutable
std::array< float, kBufferSize > buffer_ {}
 
FxEngine engine_ {buffer_, {0.5f / sample_rate, 0.3f / sample_rate}}
 
float input_gain_ = 0.2
 
float reverb_time_ = 0.665f
 
float diffusion_ = 0.625f
 
float lp_ {0.7f}
 
float lp_val_ {0.7f}
 
float lp_decay_1_ {0}
 
float lp_decay_2_ {0}
 
float hp_cutoff_val_ {0.f}
 
float hp_cutoff_ {calcFilterCutoff<FilterType::HighPass>(0)}
 
float hp_l_ {0.0}
 
float hp_r_ {0.0}
 
float lp_cutoff_val_ {0.f}
 
float lp_cutoff_ {calcFilterCutoff<FilterType::LowPass>(0)}
 
float lp_l_ {0.0}
 
float lp_r_ {0.0}
 
- Static Protected Attributes inherited from deluge::dsp::reverb::Mutable
static constexpr float sample_rate = kSampleRate
 

Detailed Description

The Griesinger topology model from Part 1 of Effect Design by John Dattorro, classically based on the famous Lexicon 224 Digital Reverb.

Member Function Documentation

◆ process()

void deluge::dsp::reverb::Digital::process ( std::span< q31_t > in,
std::span< StereoSample > output )
inlineoverridevirtual

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