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

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

Synthesizer.Dimensional.Amplitude.Filter

Contents

Description

 

Synopsis

Non-recursive

Amplification

amplify :: (C y, C u) => y -> T rate (Dimensional u y) body -> T rate (Dimensional u y) bodySource

The amplification factor must be positive.

amplifyDimension :: (C y, C u, C v) => T v y -> T rate (Dimensional u y) body -> T rate (Dimensional (Mul v u) y) bodySource

amplifyScalarDimension :: (C y, C v) => T v y -> T rate (Dimensional Scalar y) body -> T rate (Dimensional v y) bodySource

negate :: (Transform sig yv, C yv) => T rate amp (sig yv) -> T rate amp (sig yv)Source

envelopeSource

Arguments

:: (C y flat, C y) 
=> T (Phantom s) flat (T y)

the envelope

-> T (Phantom s) amp (T y)

the signal to be enveloped

-> T (Phantom s) amp (T y) 

envelopeScalarDimensionSource

Arguments

:: (C v, C y) 
=> R s Scalar y y

the envelope

-> R s v y y

the signal to be enveloped

-> R s v y y 

This is like envelope but it does not require prior conversion to a flat signal, what might violate the sample range (-1,1). Instead the global amplitudes are multiplied.

envelopeVectorSource

Arguments

:: (C y0 flat, C y0 yv) 
=> T (Phantom s) flat (T y0)

the envelope

-> T (Phantom s) amp (T yv)

the signal to be enveloped

-> T (Phantom s) amp (T yv) 

envelopeVectorDimensionSource

Arguments

:: (C y0 yv, C y, C u, C v) 
=> R s v y y0

the envelope

-> R s u y yv

the signal to be enveloped

-> R s (Mul v u) y yv