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
- mixAt :: (At a b c, c ~ AtOut a b c, SigSpace c, Num c) => Sig -> (a -> b) -> c -> c
- bat :: At Sig a b => (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
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 |
mixAt :: (At a b c, c ~ AtOut a b c, SigSpace c, Num c) => Sig -> (a -> b) -> c -> c 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.
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.
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