Safe Haskell | None |
---|
Timbres
- flute :: D -> D -> D -> D -> D -> D -> D -> Sig
- bassClarinet :: D -> D -> D -> D -> D -> D -> D -> Sig
- frenchHorn :: D -> D -> D -> D -> D -> D -> D -> Sig
- sheng :: D -> D -> D -> D -> D -> D -> D -> Sig
- hulusi :: D -> D -> D -> D -> D -> D -> D -> Sig
- dizi :: D -> D -> D -> D -> D -> D -> D -> Sig
- pulseWidth :: Sig -> Sig -> Sig
- xanadu1 :: D -> SE Sig
- xanadu2 :: D -> SE Sig
- stringPad :: Sig -> Sig -> Sig
- toneWheel :: D -> Sig
- guitar :: D -> Sig
- harpsichord :: D -> Sig
- xing :: D -> Sig -> Sig
- fmMod :: D -> Sig -> Sig
- filteredChorus :: D -> Sig -> Sig
- plainString :: D -> Sig
- fmTubularBell :: Sig -> Sig
- delayedString :: D -> Sig
- melody :: D -> Sig -> SE Sig
- rhodes :: Sig -> Sig
- tibetan :: Int -> Sig -> D -> Sig
- nightPad :: D -> Sig -> Sig
- filteredSaw :: Sig -> Sig -> Sig
- filteredSawRising :: D -> Sig -> Sig
- filteredSawFalling :: D -> Sig -> Sig
- filteredNoise :: Sig -> Sig -> SE Sig
- resonInstr :: Sig -> Sig -> Sig -> Sig -> Sig -> Sig
- simpleResonInstr :: D -> Sig -> Sig
- resonVibrato :: Sig -> Sig -> Sig -> Sig -> Sig -> Sig
- delaySaw :: Sig -> Sig
- femaleVowel :: Reson -> Sig -> Sig
- amBell :: D -> Sig -> Sig
- simpleMarimba :: D -> Sig -> Sig
- marimbaWave :: D -> Sig -> Sig -> Sig
- phasingSynth :: Sig -> Sig -> Sig
- noiz :: Sig -> SE Sig
- wind :: D -> (D, D) -> (D, D) -> D -> SE Sig
- heartbeat :: Sig
- monoPluck :: D -> D -> Sig
- chorusel :: D -> D -> D -> Sig -> (Sig, Sig)
- ivory :: D -> D -> Sig -> D -> Sig -> Sig
- blue :: D -> D -> D -> Sig -> Sig -> SE Sig
- black :: D -> D -> D -> Sig -> Sig -> SE Sig
- blackMarimba :: Sig -> SE Sig
- dahina :: Sig -> Sig
- banyan :: Sig -> Sig
- xylophone :: Sig -> Sig
- tibetanBowl180 :: Sig -> Sig
- spinelSphere :: Sig -> Sig
- potLid :: Sig -> Sig
- redCedarWoodPlate :: Sig -> Sig
- tubularBell :: Sig -> Sig
- redwoodPlate :: Sig -> Sig
- douglasFirWoodPlate :: Sig -> Sig
- uniformWoodenBar :: Sig -> Sig
- uniformAluminumBar :: Sig -> Sig
- vibraphone1 :: Sig -> Sig
- vibraphone2 :: Sig -> Sig
- chalandiPlates :: Sig -> Sig
- tibetanBowl152 :: Sig -> Sig
- tibetanBowl140 :: Sig -> Sig
- wineGlass :: Sig -> Sig
- smallHandbell :: Sig -> Sig
- albertClockBellBelfast :: Sig -> Sig
- woodBlock :: Sig -> Sig
- vowels :: D -> [(Vowel, D)] -> Vowel -> Sig -> Sig
- loopVowels :: D -> Sig -> [(Vowel, D)] -> Sig -> Sig
- oneVowel :: D -> Vowel -> Sig -> Sig
- data Vowel
- maleA :: Vowel
- maleE :: Vowel
- maleIY :: Vowel
- maleO :: Vowel
- maleOO :: Vowel
- maleU :: Vowel
- maleER :: Vowel
- maleUH :: Vowel
- femaleA :: Vowel
- femaleE :: Vowel
- femaleIY :: Vowel
- femaleO :: Vowel
- femaleOO :: Vowel
- okComputer :: Sig -> SE Sig
Woodwind instruments
flute :: D -> D -> D -> D -> D -> D -> D -> SigSource
An emulation of the flute. Parameters
flute seed vibDepth attack sustain decay brightnessLevel cps =
- seed - a seed for the random signals/numbers. It's in (0, 1)
- vibDepth - Amount of the vibrato. It's in [-1, 1]
- attack - duration of the attack. Recommended value: 0.12 for slurred notes, 0.06 for tongued notes, 0.03 for short notes.
- sustain - duration of the sustain
- decay - duration of the decay. Recommended value: 0.1 (0.05 for short notes).
- brightnessLevel - filter cutoff factor. It's in (0, 1). The 0 is 40 Hz, the 1 s 10240 Hz
- cps - frequency of the note
bassClarinet :: D -> D -> D -> D -> D -> D -> D -> SigSource
An emulation of the bass clarinet. Parameters
bassClarinet seed vibDepth attack sustain decay brightnessLevel cps =
- seed - a seed for the random signals/numbers. It's in (0, 1)
- vibDepth - Amount of the vibrato. It's in [-1, 1]
- attack - duration of the attack. Recommended value: 0.06 for tongued notes, 0.03 for short notes.
- sustain - duration of the sustain
- decay - duration of the decay. Recommended value: 0.15 (0.04 for short notes).
- brightnessLevel - filter cutoff factor. It's in (0, 1). The 0 is 40 Hz, the 1 s 10240 Hz
- cps - frequency of the note
frenchHorn :: D -> D -> D -> D -> D -> D -> D -> SigSource
An emulation of the french horn. Parameters
frenchHorn seed vibDepth attack sustain decay brightnessLevel cps =
- seed - a seed for the random signals/numbers. It's in (0, 1)
- vibDepth - Amount of the vibrato. It's in [-1, 1]
- attack - duration of the attack. Recommended value: 0.06 for tongued notes (up to 0.12 for lower notes, up to G2), 0.03 for short notes.
- sustain - duration of the sustain
- decay - duration of the decay. Recommended value: 0.25 (0.04 for short notes).
- brightnessLevel - filter cutoff factor. It's in (0, 1). The 0 is 40 Hz, the 1 s 10240 Hz
- cps - frequency of the note
sheng :: D -> D -> D -> D -> D -> D -> D -> SigSource
An emulation of the sheng. Parameters
sheng seed vibDepth attack sustain decay brightnessLevel cps =
- seed - a seed for the random signals/numbers. It's in (0, 1)
- vibDepth - Amount of the vibrato. It's in [-1, 1]
- attack - duration of the attack. Recommended value: 0.1, 0.03 for short notes.
- sustain - duration of the sustain
- decay - duration of the decay. Recommended value: 0.2 (0.04 for short notes).
- brightnessLevel - filter cutoff factor. It's in (0, 1). The 0 is 40 Hz, the 1 s 10240 Hz
- cps - frequency of the note
hulusi :: D -> D -> D -> D -> D -> D -> D -> SigSource
An emulation of the hulusi. Parameters
hulusi seed vibDepth attack sustain decay brightnessLevel cps =
- seed - a seed for the random signals/numbers. It's in (0, 1)
- vibDepth - Amount of the vibrato. It's in [-1, 1]
- attack - duration of the attack. Recommended value: 0.03
- sustain - duration of the sustain
- decay - duration of the decay. Recommended value: 0.1 (0.04 for short notes).
- brightnessLevel - filter cutoff factor. It's in (0, 1). The 0 is 40 Hz, the 1 s 10240 Hz
- cps - frequency of the note
dizi :: D -> D -> D -> D -> D -> D -> D -> SigSource
An emulation of the dizi. Parameters
dizi seed vibDepth attack sustain decay brightnessLevel cps =
- seed - a seed for the random signals/numbers. It's in (0, 1)
- vibDepth - Amount of the vibrato. It's in [-1, 1]
- attack - duration of the attack. Recommended value: 0.12 for slurred notes, 0.07 for tongued notes, 0.03 for short notes.
- sustain - duration of the sustain
- decay - duration of the decay. Recommended value: 0.14 (0.04 for short notes).
- brightnessLevel - filter cutoff factor. It's in (0, 1). The 0 is 40 Hz, the 1 s 10240 Hz
- cps - frequency of the note
Michael Gogins gallery
pulseWidth :: Sig -> Sig -> SigSource
aout = pulseWidth amplitude cps
harpsichord :: D -> SigSource
fmMod :: D -> Sig -> SigSource
FM modulated left and right detuned chorusing, Thomas Kung
fmMod cycleDuration cps
filteredChorus :: D -> Sig -> SigSource
Filtered chorus, Michael Bergeman
filteredChorus cycleDuration cps
plainString :: D -> SigSource
Plain plucked string, Michael Gogins
plainString cps
fmTubularBell :: Sig -> SigSource
Tubular bell model, Perry Cook
fmTubularBell cps
delayedString :: D -> SigSource
Delayed plucked string, Michael Gogins
delayedString cps
melody :: D -> Sig -> SE SigSource
Melody (Chebyshev FM additive), Jon Nelson
melody cycleDuration cps
Amsterdam catalog instruments
tibetan :: Int -> Sig -> D -> SigSource
Tibetan chant. It's a chorus of many sinusoids.
tibetan n off cps
- n - the number of sinusoids (the best is 9)
- off - frequency step of the harmonics ~ (0.01, 0.03)
- cps - the frequency of the note
Bay at night
Instruments from the piece "Bay at night" by JL Diaz.
Vestige of time
Instruments from the piece "Vestige of time" by Matthew Mariano.
filteredSaw :: Sig -> Sig -> SigSource
The saw is filtered with band pass filter. Centere frequency of the filter can vary.
filteredSaw centerFrequency sawCps
filteredSawRising :: D -> Sig -> SigSource
Filtered saw with rising envelope. Centere frequency starts at 500 Hz
and then rises to 5000 by riseDur
seconds.
filteredSawRising riseDur cps
filteredSawFalling :: D -> Sig -> SigSource
Filtered saw with falling envelope. Centere frequency starts at 5000 Hz
and then falls down to 500 by riseDur
seconds.
filteredSawFalling riseDur cps
filteredNoise :: Sig -> Sig -> SE SigSource
The white noise is filtered with band pass filter. Centere frequency of the filter can vary.
filteredNoise centerFrequency sawCps
resonInstr :: Sig -> Sig -> Sig -> Sig -> Sig -> SigSource
Signal is passed through three band-pass filters. We can alter the relative center frequencies of the filters.
resonInstr filt1 filt2 filt3 amp cps = aout
simpleResonInstr :: D -> Sig -> SigSource
simpleResonInstr cycleLength cps
resonVibrato :: Sig -> Sig -> Sig -> Sig -> Sig -> SigSource
Vibrato and resonant filter with varying center frequency.
resonVibrato vibDepth vibRate filtCps amp cps = aout
femaleVowel :: Reson -> Sig -> SigSource
Singing a reson's vowels (see Csound.Catalog.Reson).
Desrted
Instruments from the piece "Desrted" by Jen Scaturro.
simpleMarimba :: D -> Sig -> SigSource
Simple marimba (by John Fitch) with percussive envelope.
simpleMarimba noteDur cps
marimbaWave :: D -> Sig -> Sig -> SigSource
Simple marimba (by John Fitch) without fixed envelope.
marimba noteDur amp cps
phasingSynth :: Sig -> Sig -> SigSource
phasingSynth amp cps
wind :: D -> (D, D) -> (D, D) -> D -> SE SigSource
Sound of the wind.
wind noteDur (bandRise, bandDecay) (freqRise, freqDecay) attackDecayRatio
- * bandRise, banDecay, freqRise, freqDecay -- (50, 1000)
- attackDecayRatio -- (0, 1)
The Heartbeat
Instruments from the piece "The Heartbeat" by Julie Friedman.
chorusel :: D -> D -> D -> Sig -> (Sig, Sig)Source
chorusel dur rise dec cps
- dur - note duration
- rise - rise time
- dec - decay time
- cps - frequency of the note
Trapped in convert
Instruments from the piece "Trapped in convert" by Richard Boulanger
blue :: D -> D -> D -> Sig -> Sig -> SE SigSource
blue noteDuration numberOfHarmonics sweepRate lfoCps cps
- numberOfHarmonics ~ (6, 10)
- sweepRate ~ (0, 1)
- lfoCps ~ 20
black :: D -> D -> D -> Sig -> Sig -> SE SigSource
Noise filtered with sweep filter.
black noteDuration filterSweepStart filterSweepEnd bandWidth cps
-
filterSweepStart
,filterSweepEnd
- hearing range -
bandWidth
- (10, 50)
blackMarimba :: Sig -> SE SigSource
Black with fixed parameters.
blackMarimba cps
Modes
Percussive instruments defined with modal synthesis -- (see the functions modes
and modesInstr
). All instruments take in a frequency and produce the output signal with percussive envelope.
tibetanBowl180 :: Sig -> SigSource
spinelSphere :: Sig -> SigSource
redCedarWoodPlate :: Sig -> SigSource
tubularBell :: Sig -> SigSource
redwoodPlate :: Sig -> SigSource
douglasFirWoodPlate :: Sig -> SigSource
uniformWoodenBar :: Sig -> SigSource
uniformAluminumBar :: Sig -> SigSource
vibraphone1 :: Sig -> SigSource
vibraphone2 :: Sig -> SigSource
chalandiPlates :: Sig -> SigSource
tibetanBowl152 :: Sig -> SigSource
tibetanBowl140 :: Sig -> SigSource
smallHandbell :: Sig -> SigSource
Vowel
An emulation of the singing of the vowels with granular synthesis (fof-opcode in the Csound) It's best to use these functions with vibrato.
vibrato 0.12 5 $ oneVowel maleA 330
vowels :: D -> [(Vowel, D)] -> Vowel -> Sig -> SigSource
Sings a sequence of vowels with the given frequency.
vowels maxDur [(vowel1, dur1), (vowel2, dur2), (vowel3, dur3), ...] lastVowel cps
- maxDur - total duration of the note
-
vowel1
,vowel2
, ... lastVowel -- vowels - dur1, dur2, ... - durations
- cps - frequency of the note.
loopVowels :: D -> Sig -> [(Vowel, D)] -> Sig -> SigSource
Sings a loop of vowels with the given frequency.
loopVowels maxDur xdur [(vowel1, dur1), (vowel2, dur2), (vowel3, dur3), ...] cps
- maxDur - total duration of the note
- xdur - the duration of the loop of vowels.
-
vowel1
,vowel2
, ... -- vowels - dur1, dur2, ... - durations
- cps - frequency of the note.
oneVowel :: D -> Vowel -> Sig -> SigSource
Sings a single vowel with the given frequency.
oneVowel maxDur vowel cps
- maxDur - total duration of the note.
Vowels
Other instruments
okComputer :: Sig -> SE SigSource
Tech sound. Random sinusoids palyed at the very fast rate.
okComputer rate
-
rate
-- rate of new notes ~ (5, 20)