csound-expression-5.0.1: library to make electronic music

Safe HaskellNone
LanguageHaskell98

Csound.SigSpace

Synopsis

Documentation

class SigSpace a where Source

A class for easy way to process the outputs of the instruments.

Methods

mapSig :: (Sig -> Sig) -> a -> a Source

class SigSpace a => BindSig a where Source

A class for easy way to process the outputs of the instruments.

Methods

bindSig :: (Sig -> SE Sig) -> a -> SE a Source

mul :: SigSpace a => Sig -> a -> a Source

Scaling the sound.

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) => 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.

Methods

mixAt :: Sig -> (a -> b) -> c -> AtOut a b c 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

cfdSpec :: Sig -> Spec -> Spec -> Spec Source

Spectral crossfade.

cfdSpec4 :: Sig -> Sig -> Spec -> Spec -> Spec -> Spec -> Spec Source

Spectral bilinear crossfade (see cfd4).

cfdsSpec :: [Sig] -> [Spec] -> Spec Source

Generic spectral crossfade.

wsum :: (Num a, SigSpace a) => [(Sig, a)] -> a Source

Weighted sum.