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
Preset
instances forMVerb
that 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)