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

Copyright(c) Henning Thielemann 2006
LicenseGPL
Maintainersynthesizer@henning-thielemann.de
Stabilityprovisional
Portabilityrequires multi-parameter type classes
Safe HaskellNone
LanguageHaskell2010

Synthesizer.State.Oscillator

Contents

Description

Tone generators

Synopsis

Oscillators with arbitrary but constant waveforms

static :: C a => T a b -> T a -> a -> T b Source #

Oscillator with constant frequency. It causes aliasing effects for sharp waveforms and high frequencies.

staticAntiAlias :: C a => T a b -> T a -> a -> T b Source #

Oscillator with constant frequency that suppresses aliasing effects using waveforms with controllable smoothness.

phaseMod :: C a => T a b -> a -> T a -> T b Source #

oscillator with modulated phase

shapeMod :: C a => (c -> T a b) -> T a -> a -> T c -> T b Source #

oscillator with modulated shape

freqMod :: C a => T a b -> T a -> T a -> T b Source #

oscillator with modulated frequency

freqModAntiAlias :: C a => T a b -> T a -> T a -> T b Source #

oscillator with modulated frequency

phaseFreqMod :: C a => T a b -> T a -> T a -> T b Source #

oscillator with both phase and frequency modulation

shapeFreqMod :: C a => (c -> T a b) -> T a -> T c -> T a -> T b Source #

oscillator with both shape and frequency modulation

staticSample :: C a => T a b -> T b -> T a -> a -> T b Source #

oscillator with a sampled waveform with constant frequency This essentially an interpolation with cyclic padding.

freqModSample :: C a => T a b -> T b -> T a -> T a -> T b Source #

oscillator with a sampled waveform with modulated frequency Should behave homogenously for different types of interpolation.

shapeFreqModSample :: (C c, C a) => T c (T a b) -> T (T a b) -> c -> T a -> T c -> T a -> T b Source #

shapeFreqModFromSampledTone :: (C a, Transform sig b) => T a b -> T a b -> a -> sig b -> a -> T a -> T a -> T a -> T b Source #

shapePhaseFreqModFromSampledTone :: (C a, Transform sig b) => T a b -> T a b -> a -> sig b -> a -> T a -> T a -> T a -> T a -> T b Source #

Oscillators with specific waveforms

staticSine :: (C a, C a) => T a -> a -> T a Source #

sine oscillator with static frequency

freqModSine :: (C a, C a) => T a -> T a -> T a Source #

sine oscillator with modulated frequency

phaseModSine :: (C a, C a) => a -> T a -> T a Source #

sine oscillator with modulated phase, useful for FM synthesis

staticSaw :: C a => T a -> a -> T a Source #

saw tooth oscillator with modulated frequency

freqModSaw :: C a => T a -> T a -> T a Source #

saw tooth oscillator with modulated frequency