Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- 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.
Instances
class SigSpace a => BindSig a where #
A class for easy way to process the outputs of the instruments.
Instances
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 #
Instances
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 (Sco (Mix Sig)) | |
At Sig Sig2 (SE Sig) | |
At Sig Sig2 (SE Sig2) | |
At Sig2 Sig2 (Sco (Mix Sig)) | |
At Sig2 Sig2 (Sco (Mix Sig2)) | |
At Sig2 Sig2 a => At Sig2 Sig2 (Source a) Source # | |
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) (Sco (Mix Sig)) | |
At Sig (SE Sig) (Sco (Mix Sig2)) | |
At Sig (SE Sig) (Sco (Mix Sig3)) | |
At Sig (SE Sig) (Sco (Mix Sig4)) | |
At Sig (SE Sig) a => At Sig (SE Sig) (Source a) Source # | |
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 Sig (SE Sig2) (Sco (Mix Sig)) | |
At Sig2 (SE Sig2) (Sco (Mix Sig)) | |
At Sig2 (SE Sig2) (Sco (Mix Sig2)) | |
At Sig2 (SE Sig2) a => At Sig2 (SE Sig2) (Source a) Source # | |
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.
Instances
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 (Sco (Mix Sig)) | |
MixAt Sig Sig2 (SE Sig) | |
MixAt Sig Sig2 (SE Sig2) | |
MixAt Sig2 Sig2 (Sco (Mix Sig)) | |
MixAt Sig2 Sig2 (Sco (Mix 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) (Sco (Mix Sig)) | |
MixAt Sig (SE Sig) (Sco (Mix Sig2)) | |
MixAt Sig (SE Sig) (Sco (Mix Sig3)) | |
MixAt Sig (SE Sig) (Sco (Mix Sig4)) | |
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 Sig (SE Sig2) (Sco (Mix Sig)) | |
MixAt Sig2 (SE Sig2) (Sco (Mix Sig)) | |
MixAt Sig2 (SE Sig2) (Sco (Mix Sig2)) | |
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.
Instances
SigSpace2 Sig | |
(Sigs a, SigSpace2 a) => SigSpace2 (Sco (Mix a)) | |
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.
Instances
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) | |