synthesizer-0.0.3: Audio signal processing coded in HaskellSource codeContentsIndex
Synthesizer.Generic.Oscillator
Portabilityrequires multi-parameter type classes
Stabilityprovisional
Maintainersynthesizer@henning-thielemann.de
Contents
Oscillators with arbitrary but constant waveforms
Oscillators with specific waveforms
Description

Tone generators

Frequencies are always specified in ratios of the sample rate, e.g. the frequency 0.01 for the sample rate 44100 Hz means a physical frequency of 441 Hz.

Synopsis
freqToPhase :: (C a, C a, C sig) => T a -> sig a -> sig (T a)
static :: (C a, C a, C b, C sig) => T a b -> T a -> a -> sig b
freqMod :: (C a, C a, C b, C sig) => T a b -> T a -> sig a -> sig b
phaseMod :: (C a, C a, C b, C sig) => T a b -> a -> sig a -> sig b
shapeMod :: (C a, C a, C b, C c, C sig) => (c -> T a b) -> T a -> a -> sig c -> sig b
phaseFreqMod :: (C a, C a, C b, C sig) => T a b -> sig a -> sig a -> sig b
shapeFreqMod :: (C a, C a, C b, C c, C sig) => (c -> T a b) -> T a -> sig c -> sig a -> sig b
staticSample :: (C a, C a, C b, C sig) => T sig a b -> [b] -> T a -> a -> sig b
freqModSample :: (C a, C a, C b, C sig) => T sig a b -> [b] -> T a -> sig a -> sig b
staticSine :: (C a, C a, C a, C sig) => T a -> a -> sig a
freqModSine :: (C a, C a, C a, C sig) => T a -> sig a -> sig a
phaseModSine :: (C a, C a, C a, C sig) => a -> sig a -> sig a
staticSaw :: (C a, C a, C sig) => T a -> a -> sig a
freqModSaw :: (C a, C a, C sig) => T a -> sig a -> sig a
Oscillators with arbitrary but constant waveforms
freqToPhase :: (C a, C a, C sig) => T a -> sig a -> sig (T a)Source
static :: (C a, C a, C b, C sig) => T a b -> T a -> a -> sig bSource
oscillator with constant frequency
freqMod :: (C a, C a, C b, C sig) => T a b -> T a -> sig a -> sig bSource
oscillator with modulated frequency
phaseMod :: (C a, C a, C b, C sig) => T a b -> a -> sig a -> sig bSource
oscillator with modulated phase
shapeMod :: (C a, C a, C b, C c, C sig) => (c -> T a b) -> T a -> a -> sig c -> sig bSource
oscillator with modulated shape
phaseFreqMod :: (C a, C a, C b, C sig) => T a b -> sig a -> sig a -> sig bSource
oscillator with both phase and frequency modulation
shapeFreqMod :: (C a, C a, C b, C c, C sig) => (c -> T a b) -> T a -> sig c -> sig a -> sig bSource
oscillator with both shape and frequency modulation
staticSample :: (C a, C a, C b, C sig) => T sig a b -> [b] -> T a -> a -> sig bSource
oscillator with a sampled waveform with constant frequency This is essentially an interpolation with cyclic padding.
freqModSample :: (C a, C a, C b, C sig) => T sig a b -> [b] -> T a -> sig a -> sig bSource
oscillator with a sampled waveform with modulated frequency Should behave homogenously for different types of interpolation.
Oscillators with specific waveforms
staticSine :: (C a, C a, C a, C sig) => T a -> a -> sig aSource
sine oscillator with static frequency
freqModSine :: (C a, C a, C a, C sig) => T a -> sig a -> sig aSource
sine oscillator with modulated frequency
phaseModSine :: (C a, C a, C a, C sig) => a -> sig a -> sig aSource
sine oscillator with modulated phase, useful for FM synthesis
staticSaw :: (C a, C a, C sig) => T a -> a -> sig aSource
saw tooth oscillator with modulated frequency
freqModSaw :: (C a, C a, C sig) => T a -> sig a -> sig aSource
saw tooth oscillator with modulated frequency
Produced by Haddock version 2.3.0