
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 


:: 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 


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 




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.








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.



:: (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.






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


Produced by Haddock version 2.4.2 