Safe Haskell | None |
---|---|
Language | Haskell98 |
- class SigSpace a where
- class SigSpace a => BindSig a where
- mul :: SigSpace a => Sig -> a -> a
- on :: SigSpace a => Sig -> Sig -> a -> a
- uon :: SigSpace a => Sig -> Sig -> a -> a
- class SigSpace b => At a b c where
- class (SigSpace b, At a b c) => MixAt a b c where
- bat :: At Sig a b => (Sig -> a) -> b -> AtOut Sig a b
- bmixAt :: MixAt Sig a b => Sig -> (Sig -> a) -> b -> AtOut Sig a b
- cfd :: (Num a, SigSpace a) => Sig -> a -> a -> a
- cfd4 :: (Num a, SigSpace a) => Sig -> Sig -> a -> a -> a -> a -> a
- cfds :: (Num a, SigSpace a) => [Sig] -> [a] -> a
- cfdSpec :: Sig -> Spec -> Spec -> Spec
- cfdSpec4 :: Sig -> Sig -> Spec -> Spec -> Spec -> Spec -> Spec
- cfdsSpec :: [Sig] -> [Spec] -> Spec
- wsum :: (Num a, SigSpace a) => [(Sig, a)] -> a
Documentation
class SigSpace a where Source #
A class for easy way to process the outputs of the instruments.
SigSpace Sig Source # | |
SigSpace (SE (Sig, Sig)) Source # | |
SigSpace (SE (Sig, Sig, Sig)) Source # | |
SigSpace (SE (Sig, Sig, Sig, Sig)) Source # | |
SigSpace (SE Sig) Source # | |
SigSpace a => SigSpace (Seg a) Source # | |
SigSpace (Sig, Sig) Source # | |
SigSpace a => SigSpace (Patch b a) Source # | |
SigSpace (Sig, Sig, Sig) Source # | |
SigSpace (Sig, Sig, Sig, Sig) Source # | |
class SigSpace a => BindSig a where Source #
A class for easy way to process the outputs of the instruments.
on :: SigSpace a => Sig -> Sig -> a -> a Source #
Rescaling of the bipolar signal (-1, 1) -> (a, b)
on a b biSig
uon :: SigSpace a => Sig -> Sig -> a -> a Source #
Rescaling of the unipolar signal (0, 1) -> (a, b)
on a b uniSig
class SigSpace b => At a b c where Source #
At Sig2 Sig2 Sig2 Source # | |
At Sig2 Sig2 Sig Source # | |
At Sig Sig2 Sig2 Source # | |
At Sig Sig2 Sig Source # | |
SigSpace a => At Sig Sig a Source # | |
At Sig2 Sig2 (SE Sig2) Source # | |
At Sig2 Sig2 (SE Sig) Source # | |
At Sig Sig2 (SE Sig2) Source # | |
At Sig Sig2 (SE Sig) Source # | |
At Sig2 (SE Sig2) Sig2 Source # | |
At Sig2 (SE Sig2) Sig Source # | |
At Sig (SE Sig) Sig2 Source # | |
At Sig (SE Sig) Sig3 Source # | |
At Sig (SE Sig) Sig4 Source # | |
At Sig (SE Sig) Sig Source # | |
At Sig2 (SE Sig2) (SE Sig2) Source # | |
At Sig2 (SE Sig2) (SE Sig) Source # | |
At Sig (SE Sig) (SE Sig2) Source # | |
At Sig (SE Sig) (SE Sig3) Source # | |
At Sig (SE Sig) (SE Sig4) Source # | |
At Sig (SE Sig) (SE Sig) Source # | |
class (SigSpace b, At a b c) => MixAt a b c where Source #
It applies an effect and mixes the processed signal with original one.
The first argument is for proportion of drywet (originalprocessed).
It's like at
but it allows to balance processed signal with original one.
MixAt Sig2 Sig2 Sig2 Source # | |
MixAt Sig2 Sig2 Sig Source # | |
MixAt Sig Sig2 Sig2 Source # | |
MixAt Sig Sig2 Sig Source # | |
SigSpace a => MixAt Sig Sig a Source # | |
MixAt Sig2 Sig2 (SE Sig2) Source # | |
MixAt Sig2 Sig2 (SE Sig) Source # | |
MixAt Sig Sig2 (SE Sig2) Source # | |
MixAt Sig Sig2 (SE Sig) Source # | |
MixAt Sig2 (SE Sig2) Sig2 Source # | |
MixAt Sig2 (SE Sig2) Sig Source # | |
MixAt Sig (SE Sig) Sig2 Source # | |
MixAt Sig (SE Sig) Sig3 Source # | |
MixAt Sig (SE Sig) Sig4 Source # | |
MixAt Sig (SE Sig) Sig Source # | |
MixAt Sig2 (SE Sig2) (SE Sig2) Source # | |
MixAt Sig2 (SE Sig2) (SE Sig) Source # | |
MixAt Sig (SE Sig) (SE Sig2) Source # | |
MixAt Sig (SE Sig) (SE Sig3) Source # | |
MixAt Sig (SE Sig) (SE Sig4) Source # | |
MixAt Sig (SE Sig) (SE Sig) Source # | |
bat :: At Sig a b => (Sig -> a) -> b -> AtOut Sig a b Source #
It applies an effect and balances the processed signal by original one.
bmixAt :: MixAt Sig a b => Sig -> (Sig -> a) -> b -> AtOut Sig a b Source #
It applies an effect and balances the processed signal by original one. Also it applies an effect and mixes the processed balanced signal with original one.
cfd :: (Num a, SigSpace a) => Sig -> a -> a -> a Source #
Crossfade.
cfd coeff sig1 sig2
If coeff equals 0 then we get the first signal and if it equals 1 we get the second signal.
cfd4 :: (Num a, SigSpace a) => Sig -> Sig -> a -> a -> a -> a -> a Source #
Bilinear interpolation for four signals. The signals are placed in the corners of the unit square. The first two signals are the xy coordinates in the square.
cfd4 x y a b c d
- (0, 0) is for a
- (1, 0) is for b
- (1, 1) is for c
- (0, 1) is for d
cfds :: (Num a, SigSpace a) => [Sig] -> [a] -> a Source #
Generic crossfade for n coefficients and n+1 signals.
cfds coeffs sigs
cfdSpec4 :: Sig -> Sig -> Spec -> Spec -> Spec -> Spec -> Spec Source #
Spectral bilinear crossfade (see cfd4
).
Orphan instances
Fractional (SE (Sig, Sig)) Source # | |
Fractional (SE (Sig, Sig, Sig)) Source # | |
Fractional (SE (Sig, Sig, Sig, Sig)) Source # | |
Fractional (SE Sig) Source # | |
Num (SE (Sig, Sig)) Source # | |
Num (SE (Sig, Sig, Sig)) Source # | |
Num (SE (Sig, Sig, Sig, Sig)) Source # | |
Num (SE Sig) Source # | |
Fractional (a -> (Sig, Sig, Sig, Sig)) Source # | |
Fractional (a -> (Sig, Sig, Sig)) Source # | |
Fractional (a -> (Sig, Sig)) Source # | |
Fractional (a -> Sig) Source # | |
Fractional (a -> SE (Sig, Sig, Sig, Sig)) Source # | |
Fractional (a -> SE (Sig, Sig, Sig)) Source # | |
Fractional (a -> SE (Sig, Sig)) Source # | |
Fractional (a -> SE Sig) Source # | |
Fractional (Sig, Sig) Source # | |
Num (a -> SE (Sig, Sig, Sig, Sig)) Source # | |
Num (a -> SE (Sig, Sig, Sig)) Source # | |
Num (a -> SE (Sig, Sig)) Source # | |
Num (a -> SE Sig) Source # | |
Num (a -> (Sig, Sig, Sig, Sig)) Source # | |
Num (a -> (Sig, Sig, Sig)) Source # | |
Num (a -> (Sig, Sig)) Source # | |
Num (a -> Sig) Source # | |
Fractional (Sig, Sig, Sig) Source # | |
Fractional (Sig, Sig, Sig, Sig) Source # | |