Copyright | (c) Henning Thielemann 2006 |
---|---|
License | GPL |
Maintainer | synthesizer@henning-thielemann.de |
Stability | provisional |
Portability | requires multi-parameter type classes |
Safe Haskell | None |
Language | Haskell2010 |
Tone generators
- static :: C a => T a b -> T a -> a -> T b
- staticAntiAlias :: C a => T a b -> T a -> a -> T b
- phaseMod :: C a => T a b -> a -> T a -> T b
- shapeMod :: C a => (c -> T a b) -> T a -> a -> T c -> T b
- freqMod :: C a => T a b -> T a -> T a -> T b
- freqModAntiAlias :: C a => T a b -> T a -> T a -> T b
- phaseFreqMod :: C a => T a b -> T a -> T a -> T b
- shapeFreqMod :: C a => (c -> T a b) -> T a -> T c -> T a -> T b
- staticSample :: C a => T a b -> T b -> T a -> a -> T b
- freqModSample :: C a => T a b -> T b -> T a -> T a -> T b
- shapeFreqModSample :: (C c, C a) => T c (T a b) -> T (T a b) -> c -> T a -> T c -> T a -> T b
- shapeFreqModFromSampledTone :: (C a, Transform sig b) => T a b -> T a b -> a -> sig b -> a -> T a -> T a -> T a -> T b
- 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
- staticSine :: (C a, C a) => T a -> a -> T a
- freqModSine :: (C a, C a) => T a -> T a -> T a
- phaseModSine :: (C a, C a) => a -> T a -> T a
- staticSaw :: C a => T a -> a -> T a
- freqModSaw :: C a => T a -> T a -> T a
Oscillators with arbitrary but constant waveforms
static :: C a => T a b -> T a -> a -> T b
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
Oscillator with constant frequency that suppresses aliasing effects using waveforms with controllable smoothness.
phaseFreqMod :: C a => T a b -> T a -> T a -> T b
oscillator with both phase and frequency modulation
shapeFreqMod :: C a => (c -> T a b) -> T a -> T c -> T a -> T b
oscillator with both shape and frequency modulation
staticSample :: C a => T a b -> T b -> T a -> a -> T b
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
oscillator with a sampled waveform with modulated frequency Should behave homogenously for different types of interpolation.
shapeFreqModFromSampledTone :: (C a, Transform sig b) => T a b -> T a b -> a -> sig b -> a -> T a -> T a -> T a -> T b
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
Oscillators with specific waveforms
staticSine :: (C a, C a) => T a -> a -> T a
sine oscillator with static frequency
phaseModSine :: (C a, C a) => a -> T a -> T a
sine oscillator with modulated phase, useful for FM synthesis
freqModSaw :: C a => T a -> T a -> T a
saw tooth oscillator with modulated frequency