synthesizer-0.2.0.1: Audio signal processing coded in HaskellSource codeContentsIndex
Synthesizer.Dimensional.RateAmplitude.Signal
Portabilityrequires multi-parameter type classes
Stabilityprovisional
Maintainersynthesizer@henning-thielemann.de
Description
For a description see Synthesizer.Dimensional.Process.
Synopsis
type D v y = T (T v y)
type R s v y yv = T s (S v y) yv
toTimeScalar :: (C t, C u) => T u t -> T s u t t
toFrequencyScalar :: (C t, C u) => T (Recip u) t -> T s u t t
toAmplitudeScalar :: (C w, C y, C v) => w (D v y sig) yv -> T v y -> y
toGradientScalar :: (C q, C u, C v) => T v q -> T (DimensionGradient u v) q -> T s u q q
type DimensionGradient u v = Mul (Recip u) v
amplitude :: (C w, C v) => w (D v y sig) yv -> T v y
samples :: (C w, C v) => w (D v y (T sig)) yv -> sig yv
fromSignal :: amp -> R s yv -> T s (T amp S) yv
fromSamples :: amp -> T yv -> T s (T amp S) yv
scalarSamples :: (C w, C y, C amp) => (amp -> y) -> w (T amp S) y -> T y
fromScalarSamples :: amp -> T y -> T s (T amp S) y
scalarSamplesGeneric :: (C w, C y, C v, Transform sig y) => (T v y -> y) -> w (D v y (T sig)) y -> sig y
vectorSamples :: (C w, C y yv, C v) => (T v y -> y) -> w (S v y) yv -> T yv
fromVectorSamples :: amp -> T yv -> T s (T amp S) yv
replaceAmplitude :: (C w, C v0, C v1) => T v1 y -> w (D v0 y sig) yv -> w (D v1 y sig) yv
replaceSamples :: (C w, C v) => sig1 yv1 -> w (D v y sig0) yv0 -> w (D v y (T sig1)) yv1
processSamples :: (C w, C v) => (sig0 yv0 -> sig1 yv1) -> w (D v y (T sig0)) yv0 -> w (D v y (T sig1)) yv1
asTypeOfAmplitude :: y -> w (D v y sig) yv -> y
($-) :: (C y, C y, C u, C v) => T s u t (R s v y y -> a) -> T v y -> T s u t a
($&) :: C y => T s u t (R s y -> a) -> T s u t (R s Scalar y y) -> T s u t a
(&*^) :: C flat y => T v y -> T s u t (T s flat y) -> T s u t (R s v y y)
(&*>^) :: T v y -> T s u t (R s yv) -> T s u t (R s v y yv)
cache :: (C v, C w, Storable yv0) => T s u t (w (D v y S) yv0) -> T s u t (w (D v y S) yv0)
bindCached :: (C v, C w, Storable yv0) => T s u t (w (D v y S) yv0) -> (w (D v y S) yv0 -> T s u t b) -> T s u t b
share :: (C v, C w, Storable yv0) => T s u t (w (D v y S) yv0) -> (T s u t (w (D v y S) yv0) -> T s u t b) -> T s u t b
toStorableInt16Mono :: (C w, C a) => w (S Voltage a) a -> w T Int16
toStorableInt16Stereo :: (C w, C a a, C a) => w (S Voltage a) (T a) -> w T (T Int16)
Documentation
type D v y = T (T v y)Source
type R s v y yv = T s (S v y) yvSource
toTimeScalar :: (C t, C u) => T u t -> T s u t tSource
toFrequencyScalar :: (C t, C u) => T (Recip u) t -> T s u t tSource
toAmplitudeScalar :: (C w, C y, C v) => w (D v y sig) yv -> T v y -> ySource
toGradientScalar :: (C q, C u, C v) => T v q -> T (DimensionGradient u v) q -> T s u q qSource
type DimensionGradient u v = Mul (Recip u) vSource
amplitude :: (C w, C v) => w (D v y sig) yv -> T v ySource
samples :: (C w, C v) => w (D v y (T sig)) yv -> sig yvSource
fromSignal :: amp -> R s yv -> T s (T amp S) yvSource
fromSamples :: amp -> T yv -> T s (T amp S) yvSource
scalarSamples :: (C w, C y, C amp) => (amp -> y) -> w (T amp S) y -> T ySource
fromScalarSamples :: amp -> T y -> T s (T amp S) ySource
scalarSamplesGeneric :: (C w, C y, C v, Transform sig y) => (T v y -> y) -> w (D v y (T sig)) y -> sig ySource
vectorSamples :: (C w, C y yv, C v) => (T v y -> y) -> w (S v y) yv -> T yvSource
fromVectorSamples :: amp -> T yv -> T s (T amp S) yvSource
replaceAmplitude :: (C w, C v0, C v1) => T v1 y -> w (D v0 y sig) yv -> w (D v1 y sig) yvSource
replaceSamples :: (C w, C v) => sig1 yv1 -> w (D v y sig0) yv0 -> w (D v y (T sig1)) yv1Source
processSamples :: (C w, C v) => (sig0 yv0 -> sig1 yv1) -> w (D v y (T sig0)) yv0 -> w (D v y (T sig1)) yv1Source
asTypeOfAmplitude :: y -> w (D v y sig) yv -> ySource
($-) :: (C y, C y, C u, C v) => T s u t (R s v y y -> a) -> T v y -> T s u t aSource
Take a scalar argument where a process expects a signal. Only possible for non-negative values so far.
($&) :: C y => T s u t (R s y -> a) -> T s u t (R s Scalar y y) -> T s u t aSource
Take a signal with Scalar unit in amplitude where the process expects a plain T. This is no longer important since the processes which expects those inputs can use the Flat type class.
(&*^) :: C flat y => T v y -> T s u t (T s flat y) -> T s u t (R s v y y)Source
(&*>^) :: T v y -> T s u t (R s yv) -> T s u t (R s v y yv)Source
cache :: (C v, C w, Storable yv0) => T s u t (w (D v y S) yv0) -> T s u t (w (D v y S) yv0)Source
bindCached :: (C v, C w, Storable yv0) => T s u t (w (D v y S) yv0) -> (w (D v y S) yv0 -> T s u t b) -> T s u t bSource
share :: (C v, C w, Storable yv0) => T s u t (w (D v y S) yv0) -> (T s u t (w (D v y S) yv0) -> T s u t b) -> T s u t bSource
toStorableInt16Mono :: (C w, C a) => w (S Voltage a) a -> w T Int16Source
toStorableInt16Stereo :: (C w, C a a, C a) => w (S Voltage a) (T a) -> w T (T Int16)Source
Produced by Haddock version 2.4.2