class RemiAudio::DSP::MS20Filter

Overview

Implements a lowpass filter that is similar to the one in a Korg MS-20.

Included Modules

Defined in:

remiaudio/dsp/ms20filter.cr

Constructors

Instance Method Summary

Instance methods inherited from module RemiAudio::DSP::LPFilter

active=(active : Bool) active=, active? : Bool active?, cutoff : Float64 cutoff, cutoff=(val : Float64) cutoff=, invSampleRate : Float64 invSampleRate, process(sample : Float32) : Float32
process(sample : Float64) : Float64
process
, reset : Nil reset, resonance : Float64 resonance, resonance=(val : Float64) resonance=, sampleRate : Float64 sampleRate, sampleRate=(val : Int | Float) : Nil sampleRate=, set(newCutoff : Float64, newResonance : Float64) set, updateCoefficients : Nil updateCoefficients

Class methods inherited from module RemiAudio::DSP::LPFilter

midiToCutoff(val : UInt8) : Float64 midiToCutoff

Constructor Detail

def self.new(sampleRate) #

Creates a new BiQuadFilter.


[View source]

Instance Method Detail

def cutoff=(val : Float64) #

Sets the cutoff frequency of the filter. If this is less than the NyQuist limit, then the filter will be disabled.


[View source]
def process(block : Array(Float32)) : RemiAudio::DSP::MS20Filter #

"Runs" the filter over block.


[View source]
def process(block : Array(Float64)) : RemiAudio::DSP::MS20Filter #

"Runs" the filter over block.


[View source]
def process(block : Slice(Float32)) : RemiAudio::DSP::MS20Filter #

"Runs" the filter over block.


[View source]
def process(block : Slice(Float64)) : RemiAudio::DSP::MS20Filter #

"Runs" the filter over block.


[View source]
def process(sample : Float64) : Float64 #

Processes a single sample with the filter, returning a new sample.


[View source]
def reset : Nil #

Clears the internal buffers.


[View source]
def resonance=(val : Float64) #

Sets the resonance of the filter. This will be clamped to RESONANCE_MIN..RESONANCE_MAX.


[View source]
def set(newCutoff : Float64, newResonance : Float64) #

Sets both the cutoff frequency and resonance of the filter. If the cutoff is less than the NyQuist limit, then the filter will be disabled. The cutoff will be clamped to RESONANCE_MIN..RESONANCE_MAX.


[View source]
def updateCoefficients : Nil #

[View source]