synthesizer-dimensional-0.7.0.1: Audio signal processing with static physical dimensions

Safe HaskellNone

Synthesizer.Dimensional.RateAmplitude.Instrument

Synopsis

Documentation

stereoPhaserSource

Arguments

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

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

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

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

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

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

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

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

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

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.

pulsedNoiseSource

Arguments

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

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