Safe Haskell | None |
---|---|
Language | Haskell98 |
- class SigSpace a where
- class SigSpace a => BindSig a where
- mul :: SigSpace a => Sig -> a -> a
- mul' :: BindSig a => SE Sig -> a -> SE 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
- class SigSpace2 a where
- class SigSpace2 a => BindSig2 a where
- mul2 :: SigSpace2 a => Sig2 -> a -> a
- mul2' :: BindSig2 a => SE Sig2 -> a -> SE a
Documentation
A class for easy way to process the outputs of the instruments.
SigSpace Sig | |
SigSpace a => SigSpace (SE a) | |
SigSpace a => SigSpace (Seg a) # | |
SigSpace a => SigSpace (Patch a) # | |
(SigSpace a1, SigSpace a2) => SigSpace (a1, a2) | |
(SigSpace a1, SigSpace a2, SigSpace a3) => SigSpace (a1, a2, a3) | |
(SigSpace a1, SigSpace a2, SigSpace a3, SigSpace a4) => SigSpace (a1, a2, a3, a4) | |
(SigSpace a1, SigSpace a2, SigSpace a3, SigSpace a4, SigSpace a5) => SigSpace (a1, a2, a3, a4, a5) | |
(SigSpace a1, SigSpace a2, SigSpace a3, SigSpace a4, SigSpace a5, SigSpace a6) => SigSpace (a1, a2, a3, a4, a5, a6) | |
(SigSpace a1, SigSpace a2, SigSpace a3, SigSpace a4, SigSpace a5, SigSpace a6, SigSpace a7) => SigSpace (a1, a2, a3, a4, a5, a6, a7) | |
(SigSpace a1, SigSpace a2, SigSpace a3, SigSpace a4, SigSpace a5, SigSpace a6, SigSpace a7, SigSpace a8) => SigSpace (a1, a2, a3, a4, a5, a6, a7, a8) | |
class SigSpace a => BindSig a where #
A class for easy way to process the outputs of the instruments.
BindSig Sig | |
BindSig a => BindSig (SE a) | |
(BindSig a1, BindSig a2) => BindSig (a1, a2) | |
(BindSig a1, BindSig a2, BindSig a3) => BindSig (a1, a2, a3) | |
(BindSig a1, BindSig a2, BindSig a3, BindSig a4) => BindSig (a1, a2, a3, a4) | |
(BindSig a1, BindSig a2, BindSig a3, BindSig a4, BindSig a5) => BindSig (a1, a2, a3, a4, a5) | |
(BindSig a1, BindSig a2, BindSig a3, BindSig a4, BindSig a5, BindSig a6) => BindSig (a1, a2, a3, a4, a5, a6) | |
(BindSig a1, BindSig a2, BindSig a3, BindSig a4, BindSig a5, BindSig a6, BindSig a7) => BindSig (a1, a2, a3, a4, a5, a6, a7) | |
(BindSig a1, BindSig a2, BindSig a3, BindSig a4, BindSig a5, BindSig a6, BindSig a7, BindSig a8) => BindSig (a1, a2, a3, a4, a5, a6, a7, a8) | |
on :: SigSpace a => Sig -> Sig -> a -> a #
Rescaling of the bipolar signal (-1, 1) -> (a, b)
on a b biSig
uon :: SigSpace a => Sig -> Sig -> a -> a #
Rescaling of the unipolar signal (0, 1) -> (a, b)
on a b uniSig
class SigSpace b => At a b c where #
SigSpace a => At Sig Sig a | |
At Sig Sig2 Sig | |
At Sig Sig2 Sig2 | |
At Sig2 Sig2 Sig | |
At Sig2 Sig2 Sig2 | |
At Sig Sig2 (SE Sig) | |
At Sig Sig2 (SE Sig2) | |
At Sig2 Sig2 (SE Sig) | |
At Sig2 Sig2 (SE Sig2) | |
At Sig (SE Sig) Sig | |
At Sig (SE Sig) Sig2 | |
At Sig (SE Sig) Sig3 | |
At Sig (SE Sig) Sig4 | |
At Sig2 (SE Sig2) Sig | |
At Sig2 (SE Sig2) Sig2 | |
At Sig (SE Sig) (SE Sig) | |
At Sig (SE Sig) (SE Sig2) | |
At Sig (SE Sig) (SE Sig3) | |
At Sig (SE Sig) (SE Sig4) | |
At Sig2 (SE Sig2) (SE Sig) | |
At Sig2 (SE Sig2) (SE Sig2) | |
class (SigSpace b, At a b c) => MixAt a b c where #
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.
SigSpace a => MixAt Sig Sig a | |
MixAt Sig Sig2 Sig | |
MixAt Sig Sig2 Sig2 | |
MixAt Sig2 Sig2 Sig | |
MixAt Sig2 Sig2 Sig2 | |
MixAt Sig Sig2 (SE Sig) | |
MixAt Sig Sig2 (SE Sig2) | |
MixAt Sig2 Sig2 (SE Sig) | |
MixAt Sig2 Sig2 (SE Sig2) | |
MixAt Sig (SE Sig) Sig | |
MixAt Sig (SE Sig) Sig2 | |
MixAt Sig (SE Sig) Sig3 | |
MixAt Sig (SE Sig) Sig4 | |
MixAt Sig2 (SE Sig2) Sig | |
MixAt Sig2 (SE Sig2) Sig2 | |
MixAt Sig (SE Sig) (SE Sig) | |
MixAt Sig (SE Sig) (SE Sig2) | |
MixAt Sig (SE Sig) (SE Sig3) | |
MixAt Sig (SE Sig) (SE Sig4) | |
MixAt Sig2 (SE Sig2) (SE Sig) | |
MixAt Sig2 (SE Sig2) (SE Sig2) | |
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 #
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 #
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 #
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
).
Stereo sig space
A class for easy way to process the outputs of the instruments.
SigSpace2 Sig | |
SigSpace2 (SE (Sig, Sig)) | |
SigSpace2 (SE (Sig, Sig, Sig)) | |
SigSpace2 (SE (Sig, Sig, Sig, Sig)) | |
SigSpace2 (SE Sig) | |
SigSpace2 (Sig, Sig) | |
SigSpace2 (Sig2, Sig2) | |
SigSpace2 (Sig8, Sig8) | |
SigSpace2 (Sig, Sig, Sig) | |
SigSpace2 (Sig2, Sig2, Sig2) | |
SigSpace2 (Sig, Sig, Sig, Sig) | |
SigSpace2 (Sig2, Sig2, Sig2, Sig2) | |
SigSpace2 (Sig8, Sig8, Sig8, Sig8) | |
SigSpace2 (Sig, Sig, Sig, Sig, Sig) | |
SigSpace2 (Sig2, Sig2, Sig2, Sig2, Sig2) | |
SigSpace2 (Sig, Sig, Sig, Sig, Sig, Sig) | |
SigSpace2 (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) | |
SigSpace2 (Sig, Sig, Sig, Sig, Sig, Sig, Sig) | |
SigSpace2 (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) | |
SigSpace2 (Sig, Sig, Sig, Sig, Sig, Sig, Sig, Sig) | |
SigSpace2 (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) | |
class SigSpace2 a => BindSig2 a where #
A class for easy way to process the outputs of the instruments.
BindSig2 Sig | |
BindSig2 (SE (Sig, Sig)) | |
BindSig2 (SE (Sig, Sig, Sig)) | |
BindSig2 (SE (Sig, Sig, Sig, Sig)) | |
BindSig2 (SE Sig) | |
BindSig2 (Sig, Sig) | |
BindSig2 (Sig2, Sig2) | |
BindSig2 (Sig8, Sig8) | |
BindSig2 (Sig, Sig, Sig) | |
BindSig2 (Sig2, Sig2, Sig2) | |
BindSig2 (Sig, Sig, Sig, Sig) | |
BindSig2 (Sig2, Sig2, Sig2, Sig2) | |
BindSig2 (Sig8, Sig8, Sig8, Sig8) | |
BindSig2 (Sig, Sig, Sig, Sig, Sig) | |
BindSig2 (Sig2, Sig2, Sig2, Sig2, Sig2) | |
BindSig2 (Sig, Sig, Sig, Sig, Sig, Sig) | |
BindSig2 (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) | |
BindSig2 (Sig, Sig, Sig, Sig, Sig, Sig, Sig) | |
BindSig2 (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) | |
BindSig2 (Sig, Sig, Sig, Sig, Sig, Sig, Sig, Sig) | |
BindSig2 (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) | |