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

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

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) body Source #

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) body Source #

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

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

envelope Source #

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) 

envelopeScalarDimension Source #

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.

envelopeVector Source #

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) 

envelopeVectorDimension Source #

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