Safe Haskell | None |
---|

- stereoPhaser :: C a => (T Frequency a -> T s Time a (R s u b b)) -> a -> T Frequency a -> T s Time a (R s u b b)
- allpassDown :: (C a, C a, C a a) => Int -> T Time a -> T Frequency a -> T Frequency a -> T s Time a (R s Voltage a a)
- moogDown :: (C a, C a, C a a) => Int -> T Time a -> T Frequency a -> T Frequency a -> T s Time a (R s Voltage a a)
- moogReso :: (C a, C a, C a a) => Int -> T Time a -> T Frequency a -> T Frequency a -> T s Time a (R s Voltage a a)
- bell :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)
- bellHarmonic :: (C a, C a, C a a) => a -> T Time a -> T Frequency a -> T s Time a (R s Voltage a a)
- fastBell :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)
- fatSaw :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)
- moogGuitarSoft :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)
- moogGuitar :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)
- squareBell :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)
- filterSaw :: (C a a, C a, C a) => T Frequency a -> T Frequency a -> T s Time a (R s Voltage a a)
- fmBell :: (C a, C a, C a a) => a -> a -> T Frequency a -> T s Time a (R s Voltage a a)
- fmRing :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)
- fatPad :: (C a, C a, C a a, Random a) => T Frequency a -> T s Time a (R s Voltage a a)
- brass :: (C a, C a, C a a, Random a) => T Frequency a -> T s Time a (R s Voltage a a)
- filterSweep :: (C a v, C a, C a) => T a -> T s Time a (R s Voltage a v -> R s Voltage a v)
- fatSawChordFilter :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)
- fatSawChord :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)
- filterDown :: (C a, C a) => T s Time a (R s Frequency a a)
- simpleSaw :: (C a, C u, C v) => T (Recip u) v -> T s u v (R s Voltage a v)
- modulatedWave :: (C a, C a, C u) => T s u a (R s (Recip u) a a -> R s Voltage a a) -> T (Recip u) a -> a -> T a -> T (Recip u) a -> T s u a (R s Voltage a a)
- accumulationParameters :: (Random a, C a, C a, C a a) => [(T a, a, T a, T Frequency a)]
- accumulatedSaws :: (Random a, C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)
- choir :: (Random a, C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)
- wasp :: (C q, C q, C q q, Random q, C u) => T (Recip u) q -> T s u q (R s Voltage q q)
- osciDoubleSaw :: (C a, C a a, C u) => T s u a (R s (Recip u) a a -> R s Voltage a a)
- sampledWave :: C t => T t y -> amp -> [y] -> T t (Numeric amp y)
- osciSharp :: (C a, C a) => T Frequency a -> T s Time a (R s Voltage a a)
- osciAbsModSaw :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)
- pulsedNoise :: (Random a, C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)
- noisePerc :: (Random a, C a, C a) => T s Time a (R s Voltage a a)
- noiseBass :: (Random a, C a, C a, C a a, Storable a) => T Frequency a -> T s Time a (R s Voltage a a)
- electroTom :: (Random a, C a, C a, C a a, Storable a) => T s Time a (R s Voltage a a)
- bassDrum :: (C q, C q, C q q, Random q) => T s Time q (R s Voltage q q)

# Documentation

:: C a | |

=> (T Frequency a -> T s Time a (R s u b b)) | A function mapping a frequency to a signal. |

-> a | The factor to the frequency, should be close to 1. |

-> T Frequency a | The base (undeviated) frequency of the sound. |

-> T s Time a (R s u b b) |

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

allpassDown :: (C a, C a, C a a) => Int -> T Time a -> T Frequency a -> T Frequency a -> T s Time a (R s Voltage a a)Source

moogDown :: (C a, C a, C a a) => Int -> T Time a -> T Frequency a -> T Frequency a -> T s Time a (R s Voltage a a)Source

moogReso :: (C a, C a, C a a) => Int -> T Time a -> T Frequency a -> T Frequency a -> T s Time a (R s Voltage a a)Source

bellHarmonic :: (C a, C a, C a a) => a -> T Time a -> T Frequency a -> T s Time a (R s Voltage a a)Source

filterSaw :: (C a a, C a, C a) => T Frequency a -> T Frequency a -> T s Time a (R s Voltage a a)Source

fmRing :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)Source

Phase modulation using a ring modulated signal. May be used as some kind of e-guitar.

filterSweep :: (C a v, C a, C a) => T a -> T s Time a (R s Voltage a v -> R s Voltage a v)Source

low pass with resonance

modulatedWave :: (C a, C a, C u) => T s u a (R s (Recip u) a a -> R s Voltage a a) -> T (Recip u) a -> a -> T a -> T (Recip u) a -> T s u a (R s Voltage 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, C a a) => T Frequency a -> T s Time a (R s Voltage a a)Source

wasp :: (C q, C q, C q q, Random q, C u) => T (Recip u) q -> T s u q (R s Voltage q q)Source

A good choice is `freq = DN.frequency 110`

sampledWave :: C t => T t y -> amp -> [y] -> T t (Numeric amp y)Source

osciSharp :: (C a, C a) => T Frequency a -> T s Time a (R s Voltage 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, C a a) => T Frequency a -> T s Time a (R s Voltage 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.

:: (Random a, C a, C a, C a a) | |

=> T Frequency a | frequency of the pulses, interesting ones are around 100 Hz and below |

-> T s Time a (R s Voltage a a) |

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

noiseBass :: (Random a, C a, C a, C a a, Storable a) => T Frequency a -> T s Time a (R s Voltage a a)Source

electroTom :: (Random a, C a, C a, C a a, Storable a) => T s Time a (R s Voltage 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.