synthesizer-dimensional-0.2: Audio signal processing with static physical dimensionsSource codeContentsIndex
Synthesizer.Dimensional.RateAmplitude.Instrument
Synopsis
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)
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)
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)
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)
squareBell :: (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)
moogGuitarSoft :: (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)
fastBell :: (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)
fatSawChord :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)
fatSawChordFilter :: (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)]
choir :: (Random a, C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)
accumulatedSaws :: (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)
ampVolt :: (C y, C u) => T s u y (a -> R s y) -> T s u y (a -> R s Voltage y 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
stereoPhaserSource
:: C a
=> T Frequency a -> T s Time a (R s u b b)A function mapping a frequency to a signal.
-> aThe factor to the frequency, should be close to 1.
-> T Frequency aThe 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
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
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
bell :: (C a, C a, C a 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
squareBell :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)Source
moogGuitar :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)Source
moogGuitarSoft :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)Source
fatSaw :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)Source
fastBell :: (C a, C a, C a 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
fmBell :: (C a, C a, C a a) => a -> 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.
fatPad :: (C a, C a, C a a, Random a) => T Frequency a -> T s Time a (R s Voltage a a)Source
brass :: (C a, C a, C a a, Random a) => T Frequency a -> T s Time a (R s Voltage a a)Source
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
fatSawChord :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)Source
fatSawChordFilter :: (C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)Source
filterDown :: (C a, C a) => T s Time a (R s Frequency a a)Source
simpleSaw :: (C a, C u, C v) => T (Recip u) v -> T s u v (R s Voltage a v)Source
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.
accumulationParameters :: (Random a, C a, C a, C a a) => [(T a, a, T a, T Frequency a)]Source
choir :: (Random a, C a, C a, C a a) => T Frequency a -> T s Time a (R s Voltage a a)Source
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
osciDoubleSaw :: (C a, C a a, C u) => T s u a (R s (Recip u) a a -> R s Voltage a a)Source
ampVolt :: (C y, C u) => T s u y (a -> R s y) -> T s u y (a -> R s Voltage y 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.
pulsedNoiseSource
:: (Random a, C a, C a, C a a)
=> T Frequency afrequency 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.
noisePerc :: (Random a, C a, C a) => T s Time a (R s Voltage a a)Source
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.
bassDrum :: (C q, C q, C q q, Random q) => T s Time q (R s Voltage q q)Source
Produced by Haddock version 2.4.2