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
Synopsis
- freqToPhase :: (C a, Storable a) => T a -> T a -> T (T a)
- static :: (C a, Storable a, Storable b) => ChunkSize -> T a b -> T a -> a -> T b
- phaseMod :: (C a, Storable a, Storable b) => ChunkSize -> T a b -> a -> T a -> T b
- shapeMod :: (C a, Storable a, Storable b, Storable c) => ChunkSize -> (c -> T a b) -> T a -> a -> T c -> T b
- freqMod :: (C a, Storable a, Storable b) => ChunkSize -> T a b -> T a -> T a -> T b
- phaseFreqMod :: (C a, Storable a, Storable b) => ChunkSize -> T a b -> T a -> T a -> T b
- shapeFreqMod :: (C a, Storable a, Storable b, Storable c) => ChunkSize -> (c -> T a b) -> T a -> T c -> T a -> T b
- staticSine :: (C a, C a, Storable a) => ChunkSize -> T a -> a -> T a
- freqModSine :: (C a, C a, Storable a) => ChunkSize -> T a -> T a -> T a
- phaseModSine :: (C a, C a, Storable a) => ChunkSize -> a -> T a -> T a
- staticSaw :: (C a, Storable a) => ChunkSize -> T a -> a -> T a
- freqModSaw :: (C a, Storable a) => ChunkSize -> T a -> T a -> T a
Oscillators with arbitrary but constant waveforms
freqToPhase :: (C a, Storable a) => T a -> T a -> T (T a) Source #
Convert a list of phase steps into a list of momentum phases phase is a number in the interval [0,1) freq contains the phase steps
static :: (C a, Storable a, Storable b) => ChunkSize -> T a b -> T a -> a -> T b Source #
oscillator with constant frequency
phaseMod :: (C a, Storable a, Storable b) => ChunkSize -> T a b -> a -> T a -> T b Source #
oscillator with modulated phase
shapeMod :: (C a, Storable a, Storable b, Storable c) => ChunkSize -> (c -> T a b) -> T a -> a -> T c -> T b Source #
oscillator with modulated shape
freqMod :: (C a, Storable a, Storable b) => ChunkSize -> T a b -> T a -> T a -> T b Source #
oscillator with modulated frequency
phaseFreqMod :: (C a, Storable a, Storable b) => ChunkSize -> T a b -> T a -> T a -> T b Source #
oscillator with both phase and frequency modulation
shapeFreqMod :: (C a, Storable a, Storable b, Storable c) => ChunkSize -> (c -> T a b) -> T a -> T c -> T a -> T b Source #
oscillator with both shape and frequency modulation
Oscillators with specific waveforms
staticSine :: (C a, C a, Storable a) => ChunkSize -> T a -> a -> T a Source #
sine oscillator with static frequency
freqModSine :: (C a, C a, Storable a) => ChunkSize -> T a -> T a -> T a Source #
sine oscillator with modulated frequency
phaseModSine :: (C a, C a, Storable a) => ChunkSize -> a -> T a -> T a Source #
sine oscillator with modulated phase, useful for FM synthesis