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

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

Synthesizer.Storable.Oscillator

Contents

Description

Tone generators

Synopsis

Oscillators with arbitrary but constant waveforms

freqToPhase :: (C a, Storable a) => T a -> T a -> T (T a)

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

oscillator with constant frequency

phaseMod :: (C a, Storable a, Storable b) => ChunkSize -> T a b -> a -> T a -> T b

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

oscillator with modulated shape

freqMod :: (C a, Storable a, Storable b) => ChunkSize -> T a b -> T a -> T a -> T b

oscillator with modulated frequency

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

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

oscillator with both shape and frequency modulation

Oscillators with specific waveforms

staticSine :: (C a, C a, Storable a) => ChunkSize -> T a -> a -> T a

sine oscillator with static frequency

freqModSine :: (C a, C a, Storable a) => ChunkSize -> T a -> T a -> T a

sine oscillator with modulated frequency

phaseModSine :: (C a, C a, Storable a) => ChunkSize -> a -> T a -> T a

sine oscillator with modulated phase, useful for FM synthesis

staticSaw :: (C a, Storable a) => ChunkSize -> T a -> a -> T a

saw tooth oscillator with modulated frequency

freqModSaw :: (C a, Storable a) => ChunkSize -> T a -> T a -> T a

saw tooth oscillator with modulated frequency