synthesizer-core-0.2: Audio signal processing coded in Haskell: Low level partSource 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
static :: (C a, Write sig b) => LazySize -> T a b -> T a -> a -> sig b
freqMod :: (C a, Transform sig a b) => T a b -> T a -> sig a -> sig b
phaseMod :: (C a, Transform sig a b) => T a b -> a -> sig a -> sig b
shapeMod :: (C a, Transform sig c b) => (c -> T a b) -> T a -> a -> sig c -> sig b
phaseFreqMod :: (C a, Transform sig a b) => T a b -> sig a -> sig a -> sig b
shapeFreqMod :: (C a, Read sig c, Transform sig a b) => (c -> T a b) -> T a -> sig c -> sig a -> sig b
staticSample :: (C a, Read wave b, Write sig b) => LazySize -> T a b -> wave b -> T a -> a -> sig b
freqModSample :: (C a, Read wave b, Transform sig a b) => T a b -> wave b -> T a -> sig a -> sig b
staticSine :: (C a, C a, Write sig a) => LazySize -> T a -> a -> sig a
freqModSine :: (C a, C a, Transform sig a) => T a -> sig a -> sig a
phaseModSine :: (C a, C a, Transform sig a) => a -> sig a -> sig a
staticSaw :: (C a, Write sig a) => LazySize -> T a -> a -> sig a
freqModSaw :: (C a, Transform sig a) => T a -> sig a -> sig a
Oscillators with arbitrary but constant waveforms
static :: (C a, Write sig b) => LazySize -> T a b -> T a -> a -> sig bSource
oscillator with constant frequency
freqMod :: (C a, Transform sig a b) => T a b -> T a -> sig a -> sig bSource
oscillator with modulated frequency
phaseMod :: (C a, Transform sig a b) => T a b -> a -> sig a -> sig bSource
oscillator with modulated phase
shapeMod :: (C a, Transform sig c b) => (c -> T a b) -> T a -> a -> sig c -> sig bSource
oscillator with modulated shape
phaseFreqMod :: (C a, Transform sig a b) => T a b -> sig a -> sig a -> sig bSource
oscillator with both phase and frequency modulation
shapeFreqMod :: (C a, Read sig c, Transform sig a b) => (c -> T a b) -> T a -> sig c -> sig a -> sig bSource
oscillator with both shape and frequency modulation
staticSample :: (C a, Read wave b, Write sig b) => LazySize -> T a b -> wave 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, Read wave b, Transform sig a b) => T a b -> wave 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, Write sig a) => LazySize -> T a -> a -> sig aSource
sine oscillator with static frequency
freqModSine :: (C a, C a, Transform sig a) => T a -> sig a -> sig aSource
sine oscillator with modulated frequency
phaseModSine :: (C a, C a, Transform sig a) => a -> sig a -> sig aSource
sine oscillator with modulated phase, useful for FM synthesis
staticSaw :: (C a, Write sig a) => LazySize -> T a -> a -> sig aSource
saw tooth oscillator with modulated frequency
freqModSaw :: (C a, Transform sig a) => T a -> sig a -> sig aSource
saw tooth oscillator with modulated frequency
Produced by Haddock version 2.4.2