tidal-midi-0.6: Sound/Tidal/VolcaBeats.hs
module Sound.Tidal.VolcaBeats where
import Sound.Tidal.Stream (makeI, makeF)
import Sound.Tidal.MIDI.Control
import Control.Applicative
beats :: ControllerShape
beats = ControllerShape { params = [
mCC "lKick" 40,
mCC "lSnare" 41,
mCC "lLoTom" 42,
mCC "lHiTom" 43,
mCC "lClHat" 44,
mCC "lOpHat" 45,
mCC "lClap" 46,
mCC "lClaves" 47,
mCC "lAgogo" 48,
mCC "lCrash" 49,
mCC "sClap" 50,
mCC "sClaves" 51,
mCC "sAgogo" 52,
mCC "sCrash" 53,
mCC "stutterTime" 54,
mCC "stutterDepth" 55,
mCC "tomDecay" 56,
mCC "clHatDecay" 57,
mCC "opHatDecay" 58,
mCC "hatGrain" 59
],
duration = ("dur", 0.05),
velocity = ("vel", 0.5),
latency = 0.1
}
oscBeats = toOscShape beats
drum = (makeI oscBeats "note") . (noteN <$>)
lbd = makeF oscBeats "lKick"
lsn = makeF oscBeats "lSnare"
llt = makeF oscBeats "lLoTom"
lht = makeF oscBeats "lHiTom"
lch = makeF oscBeats "lClHat"
loh = makeF oscBeats "lOpHat"
lcp = makeF oscBeats "lClap"
lcl = makeF oscBeats "lClaves"
lag = makeF oscBeats "lAgogo"
lcr = makeF oscBeats "lCrash"
scp = makeF oscBeats "sClap"
scl = makeF oscBeats "sClaves"
sag = makeF oscBeats "sAgogo"
scr = makeF oscBeats "sCrash"
stt = makeF oscBeats "stutterTime"
std = makeF oscBeats "stutterDepth"
dt = makeF oscBeats "tomDecay"
dch = makeF oscBeats "clHatDecay"
doh = makeF oscBeats "opHatDecay"
hg = makeF oscBeats "hatGrain"
noteN :: String -> Int
noteN "bd" = 36
noteN "sn" = 38
noteN "lt" = 43
noteN "ht" = 50
noteN "ch" = 42
noteN "oh" = 46
noteN "cp" = 39
noteN "cl" = 75
noteN "ag" = 67
noteN "cr" = 49
noteN _ = 0