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

Copyright(c) Henning Thielemann 2008-2011
LicenseGPL
Maintainersynthesizer@henning-thielemann.de
Stabilityprovisional
Portabilityrequires multi-parameter type classes
Safe HaskellNone
LanguageHaskell2010

Synthesizer.Dimensional.Causal.FilterParameter

Contents

Description

 

Synopsis

Recursive

Without resonance

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 Source # 
C FirstOrderGlobal Source # 
C q yv => C FirstOrderGlobal (Parameter q) (T amp yv) (T amp (Result yv)) Source # 

Methods

process :: C u => T s u t (T s (T FirstOrderGlobal (RateDep s (Parameter q)), T amp yv) (T amp (Result yv))) Source #

butterworthLowpass Source #

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 

butterworthHighpass Source #

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 arrow Source #

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

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

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

data SecondOrderCascadeGlobal Source #

Instances

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

Methods

process :: C u => T s u t (T s (T SecondOrderCascadeGlobal (RateDep s (Parameter q)), T amp yv) (T amp yv)) Source #

Allpass

allpassCascade Source #

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 Source # 
C q yv => C AllpassCascadeGlobal (Parameter q) (T amp yv) (T amp yv) Source # 

Methods

process :: C u => T s u t (T s (T AllpassCascadeGlobal (RateDep s (Parameter q)), T amp yv) (T amp yv)) Source #

allpassPhaser Source #

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 Source # 
C q yv => C AllpassPhaserGlobal (q, Parameter q) (T amp yv) (T amp yv) Source # 

Methods

process :: C u => T s u t (T s (T AllpassPhaserGlobal (RateDep s (q, Parameter q)), T amp yv) (T amp yv)) Source #

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 Source # 
C UniversalGlobal Source # 
C q yv => C UniversalGlobal (Parameter q) (T amp yv) (T amp (Result yv)) Source # 

Methods

process :: C u => T s u t (T s (T UniversalGlobal (RateDep s (Parameter q)), T amp yv) (T amp (Result yv))) Source #

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 Source # 
C q yv => C MoogLowpassGlobal (Parameter q) (T amp yv) (T amp yv) Source # 

Methods

process :: C u => T s u t (T s (T MoogLowpassGlobal (RateDep s (Parameter q)), T amp yv) (T amp yv)) Source #