synthesizer-core-0.5.2: Audio signal processing coded in Haskell: Low level part

Portabilityrequires multi-parameter type classes
Stabilityprovisional
Maintainersynthesizer@henning-thielemann.de
Safe HaskellNone

Synthesizer.Generic.Oscillator

Contents

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

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