csound-expression-4.8.4: library to make electronic music

Safe HaskellNone
LanguageHaskell98

Csound.Air.Wave

Contents

Description

Basic waveforms that are used most often. A waveform function takes in a time varied frequency (in Hz).

Synopsis

Bipolar

osc :: Sig -> Sig Source

A pure tone (sine wave).

oscBy :: Tab -> Sig -> Sig Source

An oscillator with user provided waveform.

saw :: Sig -> Sig

A sawtooth.

isaw :: Sig -> Sig

Integrated sawtooth: 4 * x * (1 - x).

pulse :: Sig -> Sig

Pulse (not normalized).

sqr :: Sig -> Sig

A square wave.

pw :: Sig -> Sig -> Sig Source

Pulse width modulation (width range is 0 to 1)

pw dutyCycle cps

tri :: Sig -> Sig

A triangle wave.

ramp :: Sig -> Sig -> Sig Source

Triangle wave with ramp factor (factor's range is 0 to 1)

ramp factor cps

blosc :: Tab -> Sig -> Sig

A band-limited oscillator with user defined waveform (it's stored in the table).

With phase control

osc' :: D -> Sig -> Sig Source

A pure tone (sine wave) with initial phase (the first argiment).

oscBy' :: Tab -> D -> Sig -> Sig Source

An oscillator with user provided waveform with initial phase (the second argiment).

saw' :: D -> Sig -> Sig

A sawtooth.

isaw' :: D -> Sig -> Sig

Integrated sawtooth: 4 * x * (1 - x).

pulse' :: D -> Sig -> Sig

Pulse (not normalized).

sqr' :: D -> Sig -> Sig

A square wave.

pw' :: Sig -> D -> Sig -> Sig Source

Pulse width modulation (width range is 0 to 1)

pw' dutyCycle phase cps

tri' :: D -> Sig -> Sig

A triangle wave.

ramp' :: Sig -> D -> Sig -> Sig Source

Triangle wave with ramp factor (factor's range is 0 to 1)

ramp' factor phase cps

blosc' :: Tab -> D -> Sig -> Sig

A band-limited oscillator with user defined waveform (it's stored in the table).

With random phase

Unipolar

unipolar :: Sig -> Sig Source

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

bipolar :: Sig -> Sig Source

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

uosc :: Sig -> Sig Source

Unipolar pure tone.

uoscBy :: Tab -> Sig -> Sig Source

Unipolar oscBy.

usaw :: Sig -> Sig Source

Unipolar sawtooth.

uisaw :: Sig -> Sig Source

Unipolar integrated sawtooth.

upulse :: Sig -> Sig Source

Unipolar pulse.

usqr :: Sig -> Sig Source

Unipolar square wave.

upw :: Sig -> Sig -> Sig Source

Unipolar pulse width modulation wave.

utri :: Sig -> Sig Source

Unipolar triangle wave.

uramp :: Sig -> Sig -> Sig Source

Unipolar triangle wave with ram factor.

ublosc :: Tab -> Sig -> Sig Source

Unipolar band-limited oscillator.

With phase control

uosc' :: D -> Sig -> Sig Source

uoscBy' :: Tab -> D -> Sig -> Sig Source

usaw' :: D -> Sig -> Sig Source

uisaw' :: D -> Sig -> Sig Source

usqr' :: D -> Sig -> Sig Source

upw' :: Sig -> D -> Sig -> Sig Source

utri' :: D -> Sig -> Sig Source

uramp' :: Sig -> D -> Sig -> Sig Source

ublosc' :: Tab -> D -> Sig -> Sig Source

With random phase

Noise

rndh :: Sig -> SE Sig Source

Constant random signal. It updates random numbers with given frequency.

constRnd freq 

urndh :: Sig -> SE Sig Source

Unipolar rndh

rndi :: Sig -> SE Sig Source

Linear random signal. It updates random numbers with given frequency.

rndi freq 

urndi :: Sig -> SE Sig Source

Unipolar rndi

white :: SE Sig Source

White noise.

pink :: SE Sig Source

Pink noise.

Frequency modulation

fosc :: Sig -> Sig -> Sig -> Sig -> Sig Source

Frequency modulation

fosc carrierFreq modulatorFreq modIndex cps

Low frequency oscillators

type Lfo = Sig Source

Low frequency oscillator

lfo :: (Sig -> Sig) -> Sig -> Sig -> Sig Source

Low frequency oscillator

lfo shape depth rate

Detune

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

Scales the oscillator by frequency. That's how we can rise the pitch by 2 semitones and 15 cents:

detune (semitone 2 * cent 15) osc

Unision

multiHz :: Fractional a => Int -> Sig -> (Sig -> a) -> Sig -> a Source

Unision by Hertz. It creates n oscillators that are playing the same pitch slightly detuned. The oscillatos's pitch is evenly distributed in Hz.

multiHz numberOfUnits amountHz wave

multiCent :: Fractional a => Int -> Sig -> (Sig -> a) -> Sig -> a Source

Unision by Cents. It creates n oscillators that are playing the same pitch slightly detuned. The oscillatos's pitch is evenly distributed in cents.

multiCent numberOfUnits amountCent wave

multiRnd :: Fractional a => Int -> Sig -> (Sig -> a) -> Sig -> SE a Source

Oscillators are detuned randomly in the given interval.

multiRnd numberOfUnits amountCent wave

multiGauss :: Fractional a => Int -> Sig -> (Sig -> a) -> Sig -> SE a Source

Oscillators are detuned randomly with Gauss distribution in the given interval.

multiGauss numberOfUnits amountCent wave

multiRndSE :: Fractional a => Int -> Sig -> (Sig -> SE a) -> Sig -> SE a Source

Oscillators are detuned randomly in the given interval. Useful for waves that return a signals with Side Effects.

multiRnd numberOfUnits amountCent wave

multiGaussSE :: Fractional a => Int -> Sig -> (Sig -> SE a) -> Sig -> SE a Source

Oscillators are detuned randomly with Gauss distribution in the given interval. Useful for waves that return a signals with Side Effects.

multiGauss numberOfUnits amountCent wave

Random splines

urspline :: Sig -> Sig -> SE Sig Source

Unipolar random splines. It generates the splines with unipolar output (ranges from 0 to 1). Arguments affect the frequency for generation of new values.

urspline cpsMin cpsMax

birspline :: Sig -> Sig -> SE Sig Source

Bipolar random splines. It generates the splines with bipolar output (ranges from -1 to 1). Arguments affect the frequency for generation of new values.

birspline cpsMin cpsMax