synthesizer-0.2.0.1: Audio signal processing coded in HaskellSource codeContentsIndex
Synthesizer.Plain.Instrument
Synopsis
stereoPhaser :: C a => (a -> [b]) -> a -> a -> [b]
allpassPlain :: (C a, C a, C a a) => a -> a -> a -> a -> [a]
allpassDown :: (C a, C a, C a a) => a -> Int -> a -> a -> a -> [a]
moogReso :: (C a, C a, C a a) => a -> Int -> a -> a -> a -> [a]
moogDown :: (C a, C a, C a a) => a -> Int -> a -> a -> a -> [a]
bell :: (C a, C a) => a -> a -> [a]
bellHarmonic :: (C a, C a) => a -> a -> a -> a -> [a]
squareBell :: (C a, C a, C a a) => a -> a -> [a]
moogGuitar :: (C a, C a, C a a) => a -> a -> [a]
moogGuitarSoft :: (C a, C a, C a a) => a -> a -> [a]
simpleSaw :: (C a, C a, C a a) => a -> a -> [a]
fatSaw :: (C a, C a, C a a) => a -> a -> [a]
fastBell :: (C a, C a, C a a) => a -> a -> [a]
filterSaw :: (C a a, C a, C a) => a -> a -> a -> [a]
fmBell :: (C a, C a) => a -> a -> a -> a -> [a]
filterSweep :: (C v, C a v, C a, C a) => a -> a -> [v] -> [v]
fatSawChord :: (C a, C a, C a a) => a -> a -> [a]
fatSawChordFilter :: (C a, C a, C a a) => a -> a -> [a]
filterDown :: (C a, C a) => a -> [Parameter a]
modulatedWave :: (C a, C a) => a -> (a -> [a] -> [a]) -> a -> a -> a -> a -> a -> [a]
accumulatedSaws :: (Random a, C a, C a) => a -> a -> [[a]]
choirWave :: C a => [a]
choir :: (Random a, C a, C a) => a -> a -> [a]
osciDoubleSaw :: (C a, C a a) => a -> [a] -> [a]
osciSharp :: (C a, C a) => a -> a -> [a]
osciAbsModSaw :: (C a, C a) => a -> a -> [a]
pulsedNoise :: (C a, Random a, C a, C a) => a -> a -> [a]
noiseBass :: (C a, Random a, C a, C a, C a a) => a -> a -> [a]
electroTom :: (C a, Random a, C a, C a, C a a) => a -> [a]
Documentation
stereoPhaserSource
:: C a
=> a -> [b]A function mapping a frequency to a signal.
-> aThe factor to the frequency, should be close to 1.
-> aThe 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
moogReso :: (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
bell :: (C a, C a) => a -> a -> [a]Source
bellHarmonic :: (C a, C a) => a -> a -> a -> a -> [a]Source
squareBell :: (C a, C a, C a a) => a -> a -> [a]Source
moogGuitar :: (C a, C a, C a a) => a -> a -> [a]Source
moogGuitarSoft :: (C a, C a, C a a) => a -> a -> [a]Source
simpleSaw :: (C a, C a, C a a) => a -> a -> [a]Source
fatSaw :: (C a, C a, C a a) => a -> a -> [a]Source
fastBell :: (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
fatSawChord :: (C a, C a, C a a) => a -> a -> [a]Source
fatSawChordFilter :: (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
:: (C a, Random a, C a, C a)
=> a
-> afrequency 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.
Produced by Haddock version 2.4.2