Safe Haskell | None |
---|---|
Language | Haskell98 |
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
- data RissetBellSpec = RissetBellSpec {
- rissetBellRands :: [D]
- rissetBellRandShifts :: [D]
- rissetBellDurs :: [D]
- rissetBellAmps :: [Sig]
- rissetBellFreqs :: [Sig]
- rissetBellFreqShifts :: [Sig]
- rissetBell :: RissetBellSpec -> (D, D) -> D -> Sig -> Sig -> SE Sig
- timpani :: (D, D) -> D -> Sig -> Sig -> SE Sig
- timpaniSpec :: RissetBellSpec
- noiseBell :: (D, D) -> D -> Sig -> Sig -> SE Sig
- noiseBellSpec :: RissetBellSpec
- snowCrackle :: Sig -> Sig
- fmDrone :: Sig -> (D, D) -> Sig -> (Sig, Sig)
- fmDrones :: Sig -> [Sig] -> [Sig] -> (D, D) -> Sig -> SE (Sig, Sig)
- tenorOsc :: (Sig -> Sig) -> Sig -> Sig -> SE Sig
- sopranoOsc :: (Sig -> Sig) -> Sig -> Sig -> SE Sig
- amFlavio :: t -> Sig -> Sig
- fmFlavio :: D -> Sig -> Sig -> Sig
- simpleSust :: D -> (D, D) -> SE (Sig, Sig)
- simpleFading :: D -> (D, D) -> SE (Sig, Sig)
- cathedralOrgan :: Sig -> SE Sig
- cathedralOrganFx :: Sig -> Sig2
- hammondOrgan :: Sig -> Sig -> SE Sig
- amPiano :: Sig -> SE Sig
- pwBass :: Sig -> SE Sig
- pwHarpsichord :: Sig -> SE Sig
- pwEnsemble :: Sig -> SE Sig
- simpleBass :: (D, D) -> Sig
- data EpianoOsc = EpianoOsc {}
- epiano :: [EpianoOsc] -> (D, D) -> SE Sig
- noisyChoir :: Int -> Sig -> Sig -> SE Sig
- thorWind :: Sig -> Sig -> (Sig, Sig) -> SE Sig
- mildWind :: Sig -> SE Sig
- boom :: Sig -> SE Sig
- windWall :: Sig -> SE Sig
- razorPad :: Sig -> Sig -> Sig -> SE Sig
- razorLead :: Sig -> Sig -> Sig -> Sig -> SE Sig
- pwPad :: Sig -> SE Sig
- triPad :: Sig -> SE Sig
- triPadFx :: Sig2 -> SE Sig2
- data Accordeon = Accordeon {}
- accordeon :: Accordeon -> Sig -> SE Sig2
- accordeonFx :: Sig2 -> SE Sig2
- polySynthFx :: SE Sig -> SE Sig2
- polySynth :: Sig -> SE Sig
- dreamPad :: Sig -> Sig -> SE Sig
- underwaterPad :: Sig -> Sig -> SE Sig
- lightIsTooBrightPad :: Sig -> Sig -> SE Sig
- whaleSongPad :: Sig -> Sig -> SE Sig
- okComputer :: Sig -> SE Sig
- deepBass :: Sig -> Sig
Woodwind instruments
flute :: D -> D -> D -> D -> D -> D -> D -> Sig Source
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 -> Sig Source
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 -> Sig Source
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 -> Sig Source
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 -> Sig Source
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 -> Sig Source
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 -> Sig Source
aout = pulseWidth amplitude cps
harpsichord :: D -> Sig Source
fmMod :: D -> Sig -> Sig Source
FM modulated left and right detuned chorusing, Thomas Kung
fmMod cycleDuration cps
filteredChorus :: D -> Sig -> Sig Source
Filtered chorus, Michael Bergeman
filteredChorus cycleDuration cps
plainString :: D -> Sig Source
Plain plucked string, Michael Gogins
plainString cps
fmTubularBell :: Sig -> Sig Source
Tubular bell model, Perry Cook
fmTubularBell cps
delayedString :: D -> Sig Source
Delayed plucked string, Michael Gogins
delayedString cps
melody :: D -> Sig -> SE Sig Source
Melody (Chebyshev FM additive), Jon Nelson
melody cycleDuration cps
Amsterdam catalog instruments
tibetan :: Int -> Sig -> D -> Sig Source
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 -> Sig Source
The saw is filtered with band pass filter. Centere frequency of the filter can vary.
filteredSaw centerFrequency sawCps
filteredSawRising :: D -> Sig -> Sig Source
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 -> Sig Source
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 Sig Source
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 -> Sig Source
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 -> Sig Source
simpleResonInstr cycleLength cps
resonVibrato :: Sig -> Sig -> Sig -> Sig -> Sig -> Sig Source
Vibrato and resonant filter with varying center frequency.
resonVibrato vibDepth vibRate filtCps amp cps = aout
femaleVowel :: Reson -> Sig -> Sig Source
Singing a reson's vowels (see Csound.Catalog.Reson).
Desrted
Instruments from the piece "Desrted" by Jen Scaturro.
simpleMarimba :: D -> Sig -> Sig Source
Simple marimba (by John Fitch) with percussive envelope.
simpleMarimba noteDur cps
marimbaWave :: D -> Sig -> Sig -> Sig Source
Simple marimba (by John Fitch) without fixed envelope.
marimba noteDur amp cps
phasingSynth :: Sig -> Sig -> Sig Source
phasingSynth amp cps
wind :: D -> (D, D) -> (D, D) -> D -> SE Sig Source
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 Sig Source
blue noteDuration numberOfHarmonics sweepRate lfoCps cps
- numberOfHarmonics ~ (6, 10)
- sweepRate ~ (0, 1)
- lfoCps ~ 20
black :: D -> D -> D -> Sig -> Sig -> SE Sig Source
Noise filtered with sweep filter.
black noteDuration filterSweepStart filterSweepEnd bandWidth cps
filterSweepStart
,filterSweepEnd
- hearing rangebandWidth
- (10, 50)
blackMarimba :: Sig -> SE Sig Source
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 -> Sig Source
spinelSphere :: Sig -> Sig Source
redCedarWoodPlate :: Sig -> Sig Source
tubularBell :: Sig -> Sig Source
redwoodPlate :: Sig -> Sig Source
douglasFirWoodPlate :: Sig -> Sig Source
uniformWoodenBar :: Sig -> Sig Source
uniformAluminumBar :: Sig -> Sig Source
vibraphone1 :: Sig -> Sig Source
vibraphone2 :: Sig -> Sig Source
chalandiPlates :: Sig -> Sig Source
tibetanBowl152 :: Sig -> Sig Source
tibetanBowl140 :: Sig -> Sig Source
smallHandbell :: Sig -> Sig Source
albertClockBellBelfast :: Sig -> Sig Source
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 -> Sig Source
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 -> Sig Source
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 -> Sig Source
Sings a single vowel with the given frequency.
oneVowel maxDur vowel cps
- maxDur - total duration of the note.
Vowels
Sean Costello
data RissetBellSpec Source
RissetBellSpec | |
|
rissetBell :: RissetBellSpec -> (D, D) -> D -> Sig -> Sig -> SE Sig Source
snowCrackle :: Sig -> Sig Source
speed ~ 10 - 20
snowCrackle speed
Flavio
Thor
cathedralOrgan :: Sig -> SE Sig Source
cathedralOrganFx :: Sig -> Sig2 Source
pwHarpsichord :: Sig -> SE Sig Source
pwEnsemble :: Sig -> SE Sig Source
simpleBass :: (D, D) -> Sig Source
Bitwig
Accordeon | |
|
accordeonFx :: Sig2 -> SE Sig2 Source
Pads
Other instruments
okComputer :: Sig -> SE Sig Source
Tech sound. Random sinusoids palyed at the very fast rate.
okComputer rate
rate
-- rate of new notes ~ (5, 20)