synthesizer-dimensional-0.7.0.2: Audio signal processing with static physical dimensions

Portabilityrequires multi-parameter type classes
Stabilityprovisional
Maintainersynthesizer@henning-thielemann.de
Safe HaskellNone

Synthesizer.Dimensional.Causal.FilterParameter

Contents

Description

 

Synopsis

Recursive

Without resonance

highpassFromFirstOrder :: Single s amp amp (Result yv) yvSource

lowpassFromFirstOrder :: Single s amp amp (Result yv) yvSource

firstOrder :: (C u, C q, Arrow arrow) => T s u q (T arrow (Dimensional (Recip u) q q) (T FirstOrderGlobal (RateDep s (Parameter q))))Source

data FirstOrderGlobal Source

Instances

Primitive FirstOrderGlobal 
C FirstOrderGlobal 
C q yv => C FirstOrderGlobal (Parameter q) (T amp yv) (T amp (Result yv)) 

butterworthLowpassSource

Arguments

:: (Arrow arrow, C q, Storable q, C u) 
=> Int

Order of the filter, must be even, the higher the order, the sharper is the separation of frequencies.

-> SecondOrderCascade s u q arrow 

butterworthHighpassSource

Arguments

:: (Arrow arrow, C q, Storable q, C u) 
=> Int

Order of the filter, must be even, the higher the order, the sharper is the separation of frequencies.

-> SecondOrderCascade s u q arrow 

chebyshevALowpass :: (Arrow arrow, C q, Storable q, C u) => Int -> SecondOrderCascade s u q arrowSource

chebyshevAHighpass :: (Arrow arrow, C q, Storable q, C u) => Int -> SecondOrderCascade s u q arrowSource

chebyshevBLowpass :: (Arrow arrow, C q, Storable q, C u) => Int -> SecondOrderCascade s u q arrowSource

chebyshevBHighpass :: (Arrow arrow, C q, Storable q, C u) => Int -> SecondOrderCascade s u q arrowSource

data SecondOrderCascadeGlobal Source

Instances

C SecondOrderCascadeGlobal 
(Storable q, Storable yv, C q yv) => C SecondOrderCascadeGlobal (Parameter q) (T amp yv) (T amp yv) 

Allpass

allpassCascadeSource

Arguments

:: (C u, C q, Arrow arrow) 
=> Int

order, number of filters in the cascade

-> q

the phase shift to be achieved for the given frequency

-> T s u q (T arrow (Dimensional (Recip u) q q) (T AllpassCascadeGlobal (RateDep s (Parameter q)))) 

data AllpassCascadeGlobal Source

Instances

C AllpassCascadeGlobal 
C q yv => C AllpassCascadeGlobal (Parameter q) (T amp yv) (T amp yv) 

allpassPhaserSource

Arguments

:: (C u, C q, Arrow arrow) 
=> Int

order, number of filters in the cascade

-> T s u q (T arrow (Dimensional Scalar q q, Dimensional (Recip u) q q) (T AllpassPhaserGlobal (RateDep s (q, Parameter q)))) 

data AllpassPhaserGlobal Source

Instances

C AllpassPhaserGlobal 
C q yv => C AllpassPhaserGlobal (q, Parameter q) (T amp yv) (T amp yv) 

With resonance

universal :: (C u, C q, Arrow arrow) => T s u q (T arrow (Dimensional Scalar q q, Dimensional (Recip u) q q) (T UniversalGlobal (RateDep s (Parameter q))))Source

data UniversalGlobal Source

Instances

Primitive UniversalGlobal 
C UniversalGlobal 
C q yv => C UniversalGlobal (Parameter q) (T amp yv) (T amp (Result yv)) 

highpassFromUniversal :: Single s amp amp (Result yv) yvSource

bandpassFromUniversal :: Single s amp amp (Result yv) yvSource

lowpassFromUniversal :: Single s amp amp (Result yv) yvSource

bandlimitFromUniversal :: Single s amp amp (Result yv) yvSource

moogLowpass :: (C u, C q, Arrow arrow) => Int -> T s u q (T arrow (Dimensional Scalar q q, Dimensional (Recip u) q q) (T MoogLowpassGlobal (RateDep s (Parameter q))))Source

The returned arrow has intentionally no s type parameter, in order to let you apply the parameter generator to control signals with control sampling rate that is different from the one target audio sampling rate.

data MoogLowpassGlobal Source

Instances

C MoogLowpassGlobal 
C q yv => C MoogLowpassGlobal (Parameter q) (T amp yv) (T amp yv)