csound-expression-5.3.2: library to make electronic music

Safe HaskellNone
LanguageHaskell98

Csound.SigSpace

Contents

Synopsis

Documentation

class SigSpace a where #

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

Minimal complete definition

mapSig

Methods

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

Instances

SigSpace Sig 

Methods

mapSig :: (Sig -> Sig) -> Sig -> Sig #

SigSpace a => SigSpace (SE a) 

Methods

mapSig :: (Sig -> Sig) -> SE a -> SE a #

SigSpace a => SigSpace (Seg a) # 

Methods

mapSig :: (Sig -> Sig) -> Seg a -> Seg a #

SigSpace a => SigSpace (Patch a) # 

Methods

mapSig :: (Sig -> Sig) -> Patch a -> Patch a #

(SigSpace a1, SigSpace a2) => SigSpace (a1, a2) 

Methods

mapSig :: (Sig -> Sig) -> (a1, a2) -> (a1, a2) #

(SigSpace a1, SigSpace a2, SigSpace a3) => SigSpace (a1, a2, a3) 

Methods

mapSig :: (Sig -> Sig) -> (a1, a2, a3) -> (a1, a2, a3) #

(SigSpace a1, SigSpace a2, SigSpace a3, SigSpace a4) => SigSpace (a1, a2, a3, a4) 

Methods

mapSig :: (Sig -> Sig) -> (a1, a2, a3, a4) -> (a1, a2, a3, a4) #

(SigSpace a1, SigSpace a2, SigSpace a3, SigSpace a4, SigSpace a5) => SigSpace (a1, a2, a3, a4, a5) 

Methods

mapSig :: (Sig -> Sig) -> (a1, a2, a3, a4, a5) -> (a1, a2, a3, a4, a5) #

(SigSpace a1, SigSpace a2, SigSpace a3, SigSpace a4, SigSpace a5, SigSpace a6) => SigSpace (a1, a2, a3, a4, a5, a6) 

Methods

mapSig :: (Sig -> Sig) -> (a1, a2, a3, a4, a5, a6) -> (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) 

Methods

mapSig :: (Sig -> Sig) -> (a1, a2, a3, a4, a5, a6, a7) -> (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) 

Methods

mapSig :: (Sig -> Sig) -> (a1, a2, a3, a4, a5, a6, a7, a8) -> (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.

Minimal complete definition

bindSig

Methods

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

Instances

BindSig Sig 

Methods

bindSig :: (Sig -> SE Sig) -> Sig -> SE Sig #

BindSig a => BindSig (SE a) 

Methods

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

(BindSig a1, BindSig a2) => BindSig (a1, a2) 

Methods

bindSig :: (Sig -> SE Sig) -> (a1, a2) -> SE (a1, a2) #

(BindSig a1, BindSig a2, BindSig a3) => BindSig (a1, a2, a3) 

Methods

bindSig :: (Sig -> SE Sig) -> (a1, a2, a3) -> SE (a1, a2, a3) #

(BindSig a1, BindSig a2, BindSig a3, BindSig a4) => BindSig (a1, a2, a3, a4) 

Methods

bindSig :: (Sig -> SE Sig) -> (a1, a2, a3, a4) -> SE (a1, a2, a3, a4) #

(BindSig a1, BindSig a2, BindSig a3, BindSig a4, BindSig a5) => BindSig (a1, a2, a3, a4, a5) 

Methods

bindSig :: (Sig -> SE Sig) -> (a1, a2, a3, a4, a5) -> SE (a1, a2, a3, a4, a5) #

(BindSig a1, BindSig a2, BindSig a3, BindSig a4, BindSig a5, BindSig a6) => BindSig (a1, a2, a3, a4, a5, a6) 

Methods

bindSig :: (Sig -> SE Sig) -> (a1, a2, a3, a4, a5, a6) -> SE (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) 

Methods

bindSig :: (Sig -> SE Sig) -> (a1, a2, a3, a4, a5, a6, a7) -> SE (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) 

Methods

bindSig :: (Sig -> SE Sig) -> (a1, a2, a3, a4, a5, a6, a7, a8) -> SE (a1, a2, a3, a4, a5, a6, a7, a8) #

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

Scaling the sound.

mul' :: BindSig a => SE Sig -> a -> SE a #

Scaling the sound with effectful signal.

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 #

Minimal complete definition

at

Associated Types

type AtOut a b c :: * #

Methods

at :: (a -> b) -> c -> AtOut a b c #

Instances

SigSpace a => At Sig Sig a 

Associated Types

type AtOut Sig Sig a :: * #

Methods

at :: (Sig -> Sig) -> a -> AtOut Sig Sig a #

At Sig Sig2 Sig 

Associated Types

type AtOut Sig Sig2 Sig :: * #

Methods

at :: (Sig -> Sig2) -> Sig -> AtOut Sig Sig2 Sig #

At Sig Sig2 Sig2 

Associated Types

type AtOut Sig Sig2 Sig2 :: * #

Methods

at :: (Sig -> Sig2) -> Sig2 -> AtOut Sig Sig2 Sig2 #

At Sig2 Sig2 Sig 

Associated Types

type AtOut Sig2 Sig2 Sig :: * #

Methods

at :: (Sig2 -> Sig2) -> Sig -> AtOut Sig2 Sig2 Sig #

At Sig2 Sig2 Sig2 

Associated Types

type AtOut Sig2 Sig2 Sig2 :: * #

Methods

at :: (Sig2 -> Sig2) -> Sig2 -> AtOut Sig2 Sig2 Sig2 #

At Sig Sig2 (SE Sig) 

Associated Types

type AtOut Sig Sig2 (SE Sig) :: * #

Methods

at :: (Sig -> Sig2) -> SE Sig -> AtOut Sig Sig2 (SE Sig) #

At Sig Sig2 (SE Sig2) 

Associated Types

type AtOut Sig Sig2 (SE Sig2) :: * #

Methods

at :: (Sig -> Sig2) -> SE Sig2 -> AtOut Sig Sig2 (SE Sig2) #

At Sig2 Sig2 (SE Sig) 

Associated Types

type AtOut Sig2 Sig2 (SE Sig) :: * #

Methods

at :: (Sig2 -> Sig2) -> SE Sig -> AtOut Sig2 Sig2 (SE Sig) #

At Sig2 Sig2 (SE Sig2) 

Associated Types

type AtOut Sig2 Sig2 (SE Sig2) :: * #

Methods

at :: (Sig2 -> Sig2) -> SE Sig2 -> AtOut Sig2 Sig2 (SE Sig2) #

At Sig (SE Sig) Sig 

Associated Types

type AtOut Sig (SE Sig) Sig :: * #

Methods

at :: (Sig -> SE Sig) -> Sig -> AtOut Sig (SE Sig) Sig #

At Sig (SE Sig) Sig2 

Associated Types

type AtOut Sig (SE Sig) Sig2 :: * #

Methods

at :: (Sig -> SE Sig) -> Sig2 -> AtOut Sig (SE Sig) Sig2 #

At Sig (SE Sig) Sig3 

Associated Types

type AtOut Sig (SE Sig) Sig3 :: * #

Methods

at :: (Sig -> SE Sig) -> Sig3 -> AtOut Sig (SE Sig) Sig3 #

At Sig (SE Sig) Sig4 

Associated Types

type AtOut Sig (SE Sig) Sig4 :: * #

Methods

at :: (Sig -> SE Sig) -> Sig4 -> AtOut Sig (SE Sig) Sig4 #

At Sig2 (SE Sig2) Sig 

Associated Types

type AtOut Sig2 (SE Sig2) Sig :: * #

Methods

at :: (Sig2 -> SE Sig2) -> Sig -> AtOut Sig2 (SE Sig2) Sig #

At Sig2 (SE Sig2) Sig2 

Associated Types

type AtOut Sig2 (SE Sig2) Sig2 :: * #

Methods

at :: (Sig2 -> SE Sig2) -> Sig2 -> AtOut Sig2 (SE Sig2) Sig2 #

At Sig (SE Sig) (SE Sig) 

Associated Types

type AtOut Sig (SE Sig) (SE Sig) :: * #

Methods

at :: (Sig -> SE Sig) -> SE Sig -> AtOut Sig (SE Sig) (SE Sig) #

At Sig (SE Sig) (SE Sig2) 

Associated Types

type AtOut Sig (SE Sig) (SE Sig2) :: * #

Methods

at :: (Sig -> SE Sig) -> SE Sig2 -> AtOut Sig (SE Sig) (SE Sig2) #

At Sig (SE Sig) (SE Sig3) 

Associated Types

type AtOut Sig (SE Sig) (SE Sig3) :: * #

Methods

at :: (Sig -> SE Sig) -> SE Sig3 -> AtOut Sig (SE Sig) (SE Sig3) #

At Sig (SE Sig) (SE Sig4) 

Associated Types

type AtOut Sig (SE Sig) (SE Sig4) :: * #

Methods

at :: (Sig -> SE Sig) -> SE Sig4 -> AtOut Sig (SE Sig) (SE Sig4) #

At Sig2 (SE Sig2) (SE Sig) 

Associated Types

type AtOut Sig2 (SE Sig2) (SE Sig) :: * #

Methods

at :: (Sig2 -> SE Sig2) -> SE Sig -> AtOut Sig2 (SE Sig2) (SE Sig) #

At Sig2 (SE Sig2) (SE Sig2) 

Associated Types

type AtOut Sig2 (SE Sig2) (SE Sig2) :: * #

Methods

at :: (Sig2 -> SE Sig2) -> SE Sig2 -> AtOut 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.

Minimal complete definition

mixAt

Methods

mixAt :: Sig -> (a -> b) -> c -> AtOut a b c #

Instances

SigSpace a => MixAt Sig Sig a 

Methods

mixAt :: Sig -> (Sig -> Sig) -> a -> AtOut Sig Sig a #

MixAt Sig Sig2 Sig 

Methods

mixAt :: Sig -> (Sig -> Sig2) -> Sig -> AtOut Sig Sig2 Sig #

MixAt Sig Sig2 Sig2 

Methods

mixAt :: Sig -> (Sig -> Sig2) -> Sig2 -> AtOut Sig Sig2 Sig2 #

MixAt Sig2 Sig2 Sig 

Methods

mixAt :: Sig -> (Sig2 -> Sig2) -> Sig -> AtOut Sig2 Sig2 Sig #

MixAt Sig2 Sig2 Sig2 

Methods

mixAt :: Sig -> (Sig2 -> Sig2) -> Sig2 -> AtOut Sig2 Sig2 Sig2 #

MixAt Sig Sig2 (SE Sig) 

Methods

mixAt :: Sig -> (Sig -> Sig2) -> SE Sig -> AtOut Sig Sig2 (SE Sig) #

MixAt Sig Sig2 (SE Sig2) 

Methods

mixAt :: Sig -> (Sig -> Sig2) -> SE Sig2 -> AtOut Sig Sig2 (SE Sig2) #

MixAt Sig2 Sig2 (SE Sig) 

Methods

mixAt :: Sig -> (Sig2 -> Sig2) -> SE Sig -> AtOut Sig2 Sig2 (SE Sig) #

MixAt Sig2 Sig2 (SE Sig2) 

Methods

mixAt :: Sig -> (Sig2 -> Sig2) -> SE Sig2 -> AtOut Sig2 Sig2 (SE Sig2) #

MixAt Sig (SE Sig) Sig 

Methods

mixAt :: Sig -> (Sig -> SE Sig) -> Sig -> AtOut Sig (SE Sig) Sig #

MixAt Sig (SE Sig) Sig2 

Methods

mixAt :: Sig -> (Sig -> SE Sig) -> Sig2 -> AtOut Sig (SE Sig) Sig2 #

MixAt Sig (SE Sig) Sig3 

Methods

mixAt :: Sig -> (Sig -> SE Sig) -> Sig3 -> AtOut Sig (SE Sig) Sig3 #

MixAt Sig (SE Sig) Sig4 

Methods

mixAt :: Sig -> (Sig -> SE Sig) -> Sig4 -> AtOut Sig (SE Sig) Sig4 #

MixAt Sig2 (SE Sig2) Sig 

Methods

mixAt :: Sig -> (Sig2 -> SE Sig2) -> Sig -> AtOut Sig2 (SE Sig2) Sig #

MixAt Sig2 (SE Sig2) Sig2 

Methods

mixAt :: Sig -> (Sig2 -> SE Sig2) -> Sig2 -> AtOut Sig2 (SE Sig2) Sig2 #

MixAt Sig (SE Sig) (SE Sig) 

Methods

mixAt :: Sig -> (Sig -> SE Sig) -> SE Sig -> AtOut Sig (SE Sig) (SE Sig) #

MixAt Sig (SE Sig) (SE Sig2) 

Methods

mixAt :: Sig -> (Sig -> SE Sig) -> SE Sig2 -> AtOut Sig (SE Sig) (SE Sig2) #

MixAt Sig (SE Sig) (SE Sig3) 

Methods

mixAt :: Sig -> (Sig -> SE Sig) -> SE Sig3 -> AtOut Sig (SE Sig) (SE Sig3) #

MixAt Sig (SE Sig) (SE Sig4) 

Methods

mixAt :: Sig -> (Sig -> SE Sig) -> SE Sig4 -> AtOut Sig (SE Sig) (SE Sig4) #

MixAt Sig2 (SE Sig2) (SE Sig) 

Methods

mixAt :: Sig -> (Sig2 -> SE Sig2) -> SE Sig -> AtOut Sig2 (SE Sig2) (SE Sig) #

MixAt Sig2 (SE Sig2) (SE Sig2) 

Methods

mixAt :: Sig -> (Sig2 -> SE Sig2) -> SE Sig2 -> AtOut 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

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.

Stereo sig space

class SigSpace2 a where #

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

Minimal complete definition

mapSig2

Methods

mapSig2 :: (Sig2 -> Sig2) -> a -> a #

Instances

SigSpace2 Sig 

Methods

mapSig2 :: (Sig2 -> Sig2) -> Sig -> Sig #

SigSpace2 (SE (Sig, Sig)) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> SE (Sig, Sig) -> SE (Sig, Sig) #

SigSpace2 (SE (Sig, Sig, Sig)) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> SE (Sig, Sig, Sig) -> SE (Sig, Sig, Sig) #

SigSpace2 (SE (Sig, Sig, Sig, Sig)) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> SE (Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig) #

SigSpace2 (SE Sig) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> SE Sig -> SE Sig #

SigSpace2 (Sig, Sig) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> (Sig, Sig) -> (Sig, Sig) #

SigSpace2 (Sig2, Sig2) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> (Sig2, Sig2) -> (Sig2, Sig2) #

SigSpace2 (Sig8, Sig8) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> (Sig8, Sig8) -> (Sig8, Sig8) #

SigSpace2 (Sig, Sig, Sig) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> (Sig, Sig, Sig) -> (Sig, Sig, Sig) #

SigSpace2 (Sig2, Sig2, Sig2) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> (Sig2, Sig2, Sig2) -> (Sig2, Sig2, Sig2) #

SigSpace2 (Sig, Sig, Sig, Sig) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> (Sig, Sig, Sig, Sig) -> (Sig, Sig, Sig, Sig) #

SigSpace2 (Sig2, Sig2, Sig2, Sig2) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> (Sig2, Sig2, Sig2, Sig2) -> (Sig2, Sig2, Sig2, Sig2) #

SigSpace2 (Sig8, Sig8, Sig8, Sig8) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> (Sig8, Sig8, Sig8, Sig8) -> (Sig8, Sig8, Sig8, Sig8) #

SigSpace2 (Sig, Sig, Sig, Sig, Sig) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> (Sig, Sig, Sig, Sig, Sig) -> (Sig, Sig, Sig, Sig, Sig) #

SigSpace2 (Sig2, Sig2, Sig2, Sig2, Sig2) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> (Sig2, Sig2, Sig2, Sig2, Sig2) -> (Sig2, Sig2, Sig2, Sig2, Sig2) #

SigSpace2 (Sig, Sig, Sig, Sig, Sig, Sig) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> (Sig, Sig, Sig, Sig, Sig, Sig) -> (Sig, Sig, Sig, Sig, Sig, Sig) #

SigSpace2 (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) -> (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) #

SigSpace2 (Sig, Sig, Sig, Sig, Sig, Sig, Sig) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> (Sig, Sig, Sig, Sig, Sig, Sig, Sig) -> (Sig, Sig, Sig, Sig, Sig, Sig, Sig) #

SigSpace2 (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) -> (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) #

SigSpace2 (Sig, Sig, Sig, Sig, Sig, Sig, Sig, Sig) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> (Sig, Sig, Sig, Sig, Sig, Sig, Sig, Sig) -> (Sig, Sig, Sig, Sig, Sig, Sig, Sig, Sig) #

SigSpace2 (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) 

Methods

mapSig2 :: (Sig2 -> Sig2) -> (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) -> (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.

Minimal complete definition

bindSig2

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> a -> SE a #

Instances

BindSig2 Sig 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> Sig -> SE Sig #

BindSig2 (SE (Sig, Sig)) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> SE (Sig, Sig) -> SE (SE (Sig, Sig)) #

BindSig2 (SE (Sig, Sig, Sig)) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> SE (Sig, Sig, Sig) -> SE (SE (Sig, Sig, Sig)) #

BindSig2 (SE (Sig, Sig, Sig, Sig)) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> SE (Sig, Sig, Sig, Sig) -> SE (SE (Sig, Sig, Sig, Sig)) #

BindSig2 (SE Sig) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> SE Sig -> SE (SE Sig) #

BindSig2 (Sig, Sig) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> (Sig, Sig) -> SE (Sig, Sig) #

BindSig2 (Sig2, Sig2) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> (Sig2, Sig2) -> SE (Sig2, Sig2) #

BindSig2 (Sig8, Sig8) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> (Sig8, Sig8) -> SE (Sig8, Sig8) #

BindSig2 (Sig, Sig, Sig) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> (Sig, Sig, Sig) -> SE (Sig, Sig, Sig) #

BindSig2 (Sig2, Sig2, Sig2) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> (Sig2, Sig2, Sig2) -> SE (Sig2, Sig2, Sig2) #

BindSig2 (Sig, Sig, Sig, Sig) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> (Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig) #

BindSig2 (Sig2, Sig2, Sig2, Sig2) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> (Sig2, Sig2, Sig2, Sig2) -> SE (Sig2, Sig2, Sig2, Sig2) #

BindSig2 (Sig8, Sig8, Sig8, Sig8) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> (Sig8, Sig8, Sig8, Sig8) -> SE (Sig8, Sig8, Sig8, Sig8) #

BindSig2 (Sig, Sig, Sig, Sig, Sig) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> (Sig, Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig, Sig) #

BindSig2 (Sig2, Sig2, Sig2, Sig2, Sig2) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> (Sig2, Sig2, Sig2, Sig2, Sig2) -> SE (Sig2, Sig2, Sig2, Sig2, Sig2) #

BindSig2 (Sig, Sig, Sig, Sig, Sig, Sig) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> (Sig, Sig, Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig, Sig, Sig) #

BindSig2 (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) -> SE (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) #

BindSig2 (Sig, Sig, Sig, Sig, Sig, Sig, Sig) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> (Sig, Sig, Sig, Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig, Sig, Sig, Sig) #

BindSig2 (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) -> SE (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) #

BindSig2 (Sig, Sig, Sig, Sig, Sig, Sig, Sig, Sig) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> (Sig, Sig, Sig, Sig, Sig, Sig, Sig, Sig) -> SE (Sig, Sig, Sig, Sig, Sig, Sig, Sig, Sig) #

BindSig2 (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) 

Methods

bindSig2 :: (Sig2 -> SE Sig2) -> (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) -> SE (Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2, Sig2) #

mul2 :: SigSpace2 a => Sig2 -> a -> a #

Scaling the sound with a pair.

mul2' :: BindSig2 a => SE Sig2 -> a -> SE a #

Scaling the sound with effectful pair of signals.