Safe Haskell | None |
---|---|
Language | Haskell98 |
Basic waveforms that are used most often. A waveform function takes in a time varied frequency (in Hz).
- osc :: Sig -> Sig
- oscBy :: Tab -> Sig -> Sig
- saw :: Sig -> Sig
- isaw :: Sig -> Sig
- pulse :: Sig -> Sig
- sqr :: Sig -> Sig
- pw :: Sig -> Sig -> Sig
- tri :: Sig -> Sig
- ramp :: Sig -> Sig -> Sig
- blosc :: Tab -> Sig -> Sig
- osc' :: D -> Sig -> Sig
- oscBy' :: Tab -> D -> Sig -> Sig
- saw' :: D -> Sig -> Sig
- isaw' :: D -> Sig -> Sig
- pulse' :: D -> Sig -> Sig
- sqr' :: D -> Sig -> Sig
- pw' :: Sig -> D -> Sig -> Sig
- tri' :: D -> Sig -> Sig
- ramp' :: Sig -> D -> Sig -> Sig
- blosc' :: Tab -> D -> Sig -> Sig
- rndOsc :: Sig -> SE Sig
- rndOscBy :: Tab -> Sig -> SE Sig
- rndSaw :: Sig -> SE Sig
- rndIsaw :: Sig -> SE Sig
- rndPulse :: Sig -> SE Sig
- rndSqr :: Sig -> SE Sig
- rndPw :: Sig -> Sig -> SE Sig
- rndTri :: Sig -> SE Sig
- rndRamp :: Sig -> Sig -> SE Sig
- rndBlosc :: Tab -> Sig -> SE Sig
- unipolar :: Sig -> Sig
- bipolar :: Sig -> Sig
- uosc :: Sig -> Sig
- uoscBy :: Tab -> Sig -> Sig
- usaw :: Sig -> Sig
- uisaw :: Sig -> Sig
- upulse :: Sig -> Sig
- usqr :: Sig -> Sig
- upw :: Sig -> Sig -> Sig
- utri :: Sig -> Sig
- uramp :: Sig -> Sig -> Sig
- ublosc :: Tab -> Sig -> Sig
- uosc' :: D -> Sig -> Sig
- uoscBy' :: Tab -> D -> Sig -> Sig
- usaw' :: D -> Sig -> Sig
- uisaw' :: D -> Sig -> Sig
- upulse' :: D -> Sig -> Sig
- usqr' :: D -> Sig -> Sig
- upw' :: Sig -> D -> Sig -> Sig
- utri' :: D -> Sig -> Sig
- uramp' :: Sig -> D -> Sig -> Sig
- ublosc' :: Tab -> D -> Sig -> Sig
- urndOsc :: Sig -> SE Sig
- urndOscBy :: Tab -> Sig -> SE Sig
- urndSaw :: Sig -> SE Sig
- urndIsaw :: Sig -> SE Sig
- urndPulse :: Sig -> SE Sig
- urndSqr :: Sig -> SE Sig
- urndPw :: Sig -> Sig -> SE Sig
- urndTri :: Sig -> SE Sig
- urndRamp :: Sig -> Sig -> SE Sig
- urndBlosc :: Tab -> Sig -> SE Sig
- rndh :: Sig -> SE Sig
- urndh :: Sig -> SE Sig
- rndi :: Sig -> SE Sig
- urndi :: Sig -> SE Sig
- white :: SE Sig
- pink :: SE Sig
- fosc :: Sig -> Sig -> Sig -> Sig -> Sig
- type Lfo = Sig
- lfo :: (Sig -> Sig) -> Sig -> Sig -> Sig
- detune :: Sig -> (Sig -> a) -> Sig -> a
- multiHz :: Fractional a => Int -> Sig -> (Sig -> a) -> Sig -> a
- multiCent :: Fractional a => Int -> Sig -> (Sig -> a) -> Sig -> a
- multiRnd :: Fractional a => Int -> Sig -> (Sig -> a) -> Sig -> SE a
- multiGauss :: Fractional a => Int -> Sig -> (Sig -> a) -> Sig -> SE a
- multiRndSE :: Fractional a => Int -> Sig -> (Sig -> SE a) -> Sig -> SE a
- multiGaussSE :: Fractional a => Int -> Sig -> (Sig -> SE a) -> Sig -> SE a
- urspline :: Sig -> Sig -> SE Sig
- birspline :: Sig -> Sig -> SE Sig
Bipolar
ramp :: Sig -> Sig -> Sig Source
Triangle wave with ramp factor (factor's range is 0 to 1)
ramp factor cps
A band-limited oscillator with user defined waveform (it's stored in the table).
With phase control
oscBy' :: Tab -> D -> Sig -> Sig Source
An oscillator with user provided waveform with initial phase (the second argiment).
pw' :: Sig -> D -> Sig -> Sig Source
Pulse width modulation (width range is 0 to 1)
pw' dutyCycle phase cps
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
Turns a bipolar sound (ranges from -1 to 1) to unipolar (ranges from 0 to 1)
Turns an unipolar sound (ranges from 0 to 1) to bipolar (ranges from -1 to 1)
With phase control
With random phase
Noise
Constant random signal. It updates random numbers with given frequency.
constRnd freq
Linear random signal. It updates random numbers with given frequency.
rndi freq
Frequency modulation
fosc :: Sig -> Sig -> Sig -> Sig -> Sig Source
Frequency modulation
fosc carrierFreq modulatorFreq modIndex cps
Low frequency oscillators
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