csound-expression-1.1.1: library to make electronic music

Safe HaskellNone

Csound.Air

Contents

Description

The vital tools.

Synopsis

Oscillators

Bipolar

osc :: Cps -> SigSource

Pure tone.

oscBy :: Tab -> Cps -> SigSource

Oscillates with the given table (cubic interpolation).

saw :: Cps -> SigSource

Sawtooth.

sq :: Cps -> SigSource

Square wave.

tri :: Cps -> SigSource

Triangle wave.

Unipolar

unipolar :: Sig -> SigSource

Turns a bipolar sound (ranges from -1 to 1) to unipolar (ranges from 0 to 1)

uosc :: Cps -> SigSource

Unipolar pure tone.

uoscBy :: Tab -> Cps -> SigSource

Unipolar oscBy.

usaw :: Cps -> SigSource

Unipolar sawtooth.

usq :: Cps -> SigSource

Unipolar square wave.

utri :: Cps -> SigSource

Unipolar triangle wave.

Filters

Arguemnts are inversed to get most out of curruing. First come parameters and the last one is the signal.

Simple filters

lp :: Sig -> Sig -> SigSource

Low-pass filter.

 lp cutoff sig

hp :: Sig -> Sig -> SigSource

High-pass filter.

 hp cutoff sig

bp :: Sig -> Sig -> Sig -> SigSource

Band-pass filter.

 bp cutoff bandwidth sig

br :: Sig -> Sig -> Sig -> SigSource

Band-regect filter.

 br cutoff bandwidth sig

Butterworth filters

blp :: Sig -> Sig -> SigSource

Low-pass filter.

 blp cutoff sig

bhp :: Sig -> Sig -> SigSource

High-pass filter.

 bhp cutoff sig

bbp :: Sig -> Sig -> Sig -> SigSource

Band-pass filter.

 bbp cutoff bandwidth sig

bbr :: Sig -> Sig -> Sig -> SigSource

Band-regect filter.

 bbr cutoff bandwidth sig

Patterns

once :: Tab -> SigSource

Reads table once during the note length.

several :: Tab -> Sig -> SigSource

Reads table several times during the note length.

sine :: TabSource

Table for pure sine wave.

mean :: Fractional a => [a] -> aSource

Mean value.

Series

hase :: (a -> Sig -> Sig) -> [a] -> Sig -> SigSource

Harmonic series. Takes a function that transforms the signal by some parameter and the list of parameters. It constructs the series of transformers and sums them at the end with equal strength.

whase :: (a -> Sig -> Sig) -> [(Sig, a)] -> Sig -> SigSource

Harmonic series, but now you can specify the weights of the final sum.

haseS :: (a -> Sig -> SE Sig) -> [a] -> Sig -> SE SigSource

Harmonic series for functions with side effects.

whaseS :: (a -> Sig -> SE Sig) -> [(Sig, a)] -> Sig -> SE SigSource

Weighted harmonic series for functions with side effects.

Crossfade

cfd :: Sig -> Sig -> Sig -> SigSource

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.

cfds :: [Sig] -> [Sig] -> SigSource

Generic crossfade for n coefficients and n+1 signals.

 cfds coeffs sigs

cfdSpec :: Sig -> Spec -> Spec -> SpecSource

Spectral crossfade.

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

Generic spectral crossfade.