Safe Haskell | None |
---|---|

Language | Haskell2010 |

- 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]
- moogDown :: (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]
- bell :: (C a, C a) => a -> a -> [a]
- bellHarmonic :: (C a, C a) => a -> a -> a -> a -> [a]
- fastBell :: (C a, C a, C 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]
- 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]
- fatSawChordFilter :: (C a, C a, C a a) => a -> a -> [a]
- fatSawChord :: (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.

bellHarmonic :: (C a, C a) => 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.

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.