class RemiAudio::DSP::Schroeder
- RemiAudio::DSP::Schroeder
- RemiAudio::DSP::Reverb
- Reference
- Object
Overview
Produces a Schroeder-style plate reverberation effect.
This reverb implementation is based on Freeverb, a public domain reverb implementation by Jezar at Dreampoint.
Defined in:
remiaudio/dsp/reverbs/schroeder-presets.crremiaudio/dsp/reverbs/schroeder.cr
Constant Summary
-
APF_TUNING_L1 =
556 -
APF_TUNING_L2 =
441 -
APF_TUNING_L3 =
341 -
APF_TUNING_L4 =
225 -
APF_TUNING_R1 =
556 + STEREO_SPREAD -
APF_TUNING_R2 =
441 + STEREO_SPREAD -
APF_TUNING_R3 =
341 + STEREO_SPREAD -
APF_TUNING_R4 =
225 + STEREO_SPREAD -
CF_TUNING_L1 =
1116 -
CF_TUNING_L2 =
1188 -
CF_TUNING_L3 =
1277 -
CF_TUNING_L4 =
1356 -
CF_TUNING_L5 =
1422 -
CF_TUNING_L6 =
1491 -
CF_TUNING_L7 =
1557 -
CF_TUNING_L8 =
1617 -
CF_TUNING_R1 =
1116 + STEREO_SPREAD -
CF_TUNING_R2 =
1188 + STEREO_SPREAD -
CF_TUNING_R3 =
1277 + STEREO_SPREAD -
CF_TUNING_R4 =
1356 + STEREO_SPREAD -
CF_TUNING_R5 =
1422 + STEREO_SPREAD -
CF_TUNING_R6 =
1491 + STEREO_SPREAD -
CF_TUNING_R7 =
1557 + STEREO_SPREAD -
CF_TUNING_R8 =
1617 + STEREO_SPREAD -
DAMPING_MAX =
2.0 -
DAMPING_MIN =
0.01 -
DEFAULT_DAMPING =
0.5 -
DEFAULT_ROOM =
0.5 -
DEFAULT_WET =
1.0 / SCALE_WET -
DEFAULT_WIDTH =
1.0 -
FIXED_GAIN =
0.015 -
OFFSET_ROOM =
0.7 -
PRESETS =
{PresetNames::GmDefault => Preset.new(roomSize: 0.5, damping: 0.5, width: 1.0), PresetNames::Room => Preset.new(roomSize: 0.3, damping: 0.3, width: 0.94), PresetNames::Hall => Preset.new(roomSize: 0.9, damping: 0.7, width: 1.1)} -
Pre-constructed
Presetinstances forMVerbthat correspond to the names inPresetNames. -
ROOM_MAX =
0.99 -
ROOM_MIN =
0.01 -
SCALE_DAMPING =
0.4 -
SCALE_ROOM =
0.28 -
SCALE_WET =
3.0 -
STEREO_SPREAD =
23 -
WET_MAX =
1.0 -
WET_MIN =
0.0 -
WIDTH_MAX =
1.5 -
WIDTH_MIN =
0.0
Constructors
Class Method Summary
- .checkDamping(value) : Nil
- .checkRoomSize(value) : Nil
- .checkWet(value) : Nil
- .checkWidth(value) : Nil
Instance Method Summary
- #damping : Float64
- #damping=(val : Float64)
- #inputGain : Float64
- #mute : Nil
- #process(inputLeft : Array(Float64) | Slice(Float64), inputRight : Array(Float64) | Slice(Float64), outputLeft : Array(Float64) | Slice(Float64), outputRight : Array(Float64) | Slice(Float64)) : Nil
- #roomSize : Float64
- #roomSize=(val : Float64)
- #updateInternalParams(*, numFrames : Int32 = 0)
- #usePreset(preset : Reverb::Preset) : Nil
- #wet : Float64
- #wet=(val : Float64)
- #width : Float64
- #width=(val : Float64)