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

Safe HaskellNone

Synthesizer.Plain.Instrument

Synopsis

Documentation

stereoPhaserSource

Arguments

:: C a 
=> (a -> [b])

A function mapping a frequency to a signal.

-> a

The factor to the frequency, should be close to 1.

-> a

The base (undeviated) frequency of the sound.

-> [b] 

Create a sound of a slightly changed frequency just as needed for a simple stereo sound.

allpassPlain :: (C a, C a, C a a) => a -> a -> a -> a -> [a]Source

allpassDown :: (C a, C a, C a a) => a -> Int -> a -> a -> a -> [a]Source

moogDown :: (C a, C a, C a a) => a -> Int -> a -> a -> a -> [a]Source

moogReso :: (C a, C a, C a a) => a -> Int -> a -> a -> a -> [a]Source

bell :: (C a, C a) => a -> a -> [a]Source

bellHarmonic :: (C a, C a) => a -> a -> a -> a -> [a]Source

fastBell :: (C a, C a, C a a) => a -> a -> [a]Source

fatSaw :: (C a, C a, C a a) => a -> a -> [a]Source

simpleSaw :: (C a, C a, C a a) => a -> a -> [a]Source

moogGuitarSoft :: (C a, C a, C a a) => a -> a -> [a]Source

moogGuitar :: (C a, C a, C a a) => a -> a -> [a]Source

squareBell :: (C a, C a, C a a) => a -> a -> [a]Source

filterSaw :: (C a a, C a, C a) => a -> a -> a -> [a]Source

fmBell :: (C a, C a) => a -> a -> a -> a -> [a]Source

filterSweep :: (C v, C a v, C a, C a) => a -> a -> [v] -> [v]Source

low pass with resonance

fatSawChordFilter :: (C a, C a, C a a) => a -> a -> [a]Source

fatSawChord :: (C a, C a, C a a) => a -> a -> [a]Source

filterDown :: (C a, C a) => a -> [Parameter a]Source

modulatedWave :: (C a, C a) => a -> (a -> [a] -> [a]) -> a -> a -> a -> a -> a -> [a]Source

accumulate multiple similar saw sounds and observe the increase of volume The oscillator osc must accept relative frequencies.

accumulatedSaws :: (Random a, C a, C a) => a -> a -> [[a]]Source

choirWave :: C a => [a]Source

choir :: (Random a, C a, C a) => a -> a -> [a]Source

osciDoubleSaw :: (C a, C a a) => a -> [a] -> [a]Source

osciSharp :: (C a, C a) => a -> a -> [a]Source

A tone with a waveform with roughly the dependency x -> x**p, where the waveform is normalized to constant quadratic norm

osciAbsModSaw :: (C a, C a) => a -> a -> [a]Source

Build a saw sound from its harmonics and modulate it. Different to normal modulation I modulate each harmonic with the same depth rather than a proportional one.

pulsedNoiseSource

Arguments

:: (C a, Random a, C a, C a) 
=> a 
-> a

frequency of the pulses, interesting ones are around 100 Hz and below

-> [a] 

Short pulsed Noise.white, i.e. Noise.white amplified with pulses of varying H/L ratio.

noiseBass :: (C a, Random a, C a, C a, C a a) => a -> a -> [a]Source

electroTom :: (C a, Random a, C a, C a, C a a) => a -> [a]Source

Drum sound using the Karplus-Strong-Algorithm This is a Noise.white enveloped by an exponential2 which is piped through the Karplus-Strong machine for generating some frequency. The whole thing is then frequency modulated to give a falling frequency.