packages feed

maquinitas-tidal-0.2.16: src/Boss/DR880.hs

-- maquinitas-tidal
-- parameters for instruments by Korg

module Boss.DR880 where

  import qualified Sound.Tidal.Params
  import Sound.Tidal.Pattern

  -- Drum machine 1
  
  drum1 :: Pattern String -> ControlPattern
  drum1 = Sound.Tidal.Params.n . (subtract 60 . drum1midi <$>)
  
  drum1midi :: Num a => String -> a
  drum1midi m =
    case m of
      "kick1"         -> 36
      "kick2"         -> 35
      "snare1"        -> 38
      "snare2"        -> 40
      "closedHH"      -> 42
      "crossStick"    -> 37
      "clap"          -> 39
      "cowbell"       -> 56
      "pedalHH"       -> 44
      "openHH"        -> 46
      "tom1"          -> 50
      "tom2"          -> 48
      "tom3"          -> 45
      "tom4"          -> 41
      "chinaCym"      -> 52
      "crash1"        -> 49
      "crash2"        -> 57
      "splashCym"     -> 55
      "bell"          -> 53
      "ride"          -> 51
      _               -> 0  -- no match

  
  -- Drum machine 2
  
  drum2 :: Pattern String -> ControlPattern
  drum2 = Sound.Tidal.Params.n . (subtract 60 . drum2midi <$>)
  
  drum2midi :: Num a => String -> a
  drum2midi m =
    case m of
      "kick1"       -> 60
      "kick2"       -> 61
      "snare1"      -> 62
      "snare2"      -> 63
      "closedHH"    -> 64
      "crossStick"  -> 54
      "clap"        -> 91
      "cowbell"     -> 95
      "pedalHH"     -> 96
      "openHH"      -> 97
      "tom1"        -> 69
      "tom2"        -> 94
      "tom3"        -> 70
      "tom4"        -> 82
      "chinaCym"    -> 92
      "crash1"      -> 89
      "crash2"      -> 90
      "splashCym"   -> 93
      "bell"        -> 84
      "ride"        -> 59  
      _             -> 0  -- no match


  -- Drum machine 3
  
  drum3 :: Pattern String -> ControlPattern
  drum3 = Sound.Tidal.Params.n . (subtract 60 . drum3midi <$>)
  
  drum3midi :: Num a => String -> a
  drum3midi m =
    case m of
      "kick1"       -> 86
      "kick2"       -> 87
      "snare1"      -> 78
      "snare2"      -> 79
      "closedHH"    -> 83
      "crossStick"  -> 76
      "clap"        -> 77
      "cowbell"     -> 85
      "pedalHH"     -> 66
      "openHH"      -> 65
      "tom1"        -> 71
      "tom2"        -> 72
      "tom3"        -> 75
      "tom4"        -> 67
      "chinaCym"    -> 68
      "crash1"      -> 73
      "crash2"      -> 74
      "splashCym"   -> 58
      "bell"        -> 80
      "ride"        -> 81
      _             -> 0  -- no match