Portability | requires multi-parameter type classes |
---|---|

Stability | provisional |

Maintainer | synthesizer@henning-thielemann.de |

Tone generators

- phaseMod :: C a => T a b -> a -> T a b
- shapeMod :: C a => (c -> T a b) -> T a -> a -> T c b
- freqMod :: C a => T a b -> T a -> T a b
- freqModAntiAlias :: C a => T a b -> T a -> T a b
- phaseFreqMod :: C a => T a b -> T (a, a) b
- shapeFreqMod :: C a => (c -> T a b) -> T a -> T (c, a) b
- freqModSample :: C a => T a b -> T b -> T a -> T a b
- shapeFreqModSample :: (C c, C b) => T c (T b a) -> T (T b a) -> c -> T b -> T (c, b) a
- shapeFreqModFromSampledTone :: (C t, Transform sig y) => T t y -> T t y -> t -> sig y -> t -> T t -> T (t, t) y
- shapePhaseFreqModFromSampledTone :: (C t, Transform sig y) => T t y -> T t y -> t -> sig y -> t -> T t -> T (t, t, t) y
- freqModSine :: (C a, C a) => T a -> T a a
- phaseModSine :: (C a, C a) => a -> T a a
- freqModSaw :: C a => T a -> T a a

# Oscillators with arbitrary but constant waveforms

phaseFreqMod :: C a => T a b -> T (a, a) bSource

oscillator with both phase and frequency modulation

shapeFreqMod :: C a => (c -> T a b) -> T a -> T (c, a) bSource

oscillator with both shape and frequency modulation

freqModSample :: C a => T a b -> T b -> T a -> T a bSource

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

shapeFreqModFromSampledTone :: (C t, Transform sig y) => T t y -> T t y -> t -> sig y -> t -> T t -> T (t, t) ySource

shapePhaseFreqModFromSampledTone :: (C t, Transform sig y) => T t y -> T t y -> t -> sig y -> t -> T t -> T (t, t, t) ySource

# Oscillators with specific waveforms

phaseModSine :: (C a, C a) => a -> T a aSource

sine oscillator with modulated phase, useful for FM synthesis

freqModSaw :: C a => T a -> T a aSource

saw tooth oscillator with modulated frequency