-- megalet for battery123.tidal
let msil = mapM_ ($ silence)
    cf = slow 2
    every' n o f = when ((== (o-1)) . (`mod` n)) f
    halfosc = (/2).(+0.5)
    halfosc1 = (+1).(/2)
    thirdosc1 = (+1).(/3)
    d'drum = d1
    d'perc = d2
    d'bass = d3
    d'hand = d4
    d'warb = d5 -- warbler
    d'bass2 = d6 -- more bass right at the end
    d'arpy = d7
    d'tr = d8 -- trump
    d'tac = d9 -- tacscan
    b1'bass = s "bass3 [~ bass3] ! ~"
              # begin "0.2"
    b1'hand = slow 8 $ rev . striate 256 $ s "hand*8"
              # speed "0.7"
    b1'perc = slow 2 $ s "uxay [~ uxay] [psr uxay] ~"
    b1'tac = s "[~ tacscan] ! ~ ~"
             # gain "0.8"
             # vowel (slow 3 "e u")
    b1'warbler = slow 4 $ striate 32 $ s "warbler"
                 # n (slow 7 $ run 7)
                 # gain "0.8"
    b2'uxp = (# gain "0.8") .
             (# speed "[0.7 1 1.2]/2")
    b2'ux = cf $ s "uxay*4"
            # n "1 0 1 2"
    b2'ux2 i = (if i then brak . iter 4 else cf . brak) $
               b2'uxp $ s "uxay*4"
               # n "1 0 1 2"
               # shape "0.4 0.3 0.6"
    b2'psr = s "psr*4 psr*2"
             # gain "0.6"
    b2'psrf = s "[[psr*4 psr*2] ! ! psr*8]/4"
              # gain "0.6"
    b2'trump p = whenmod 5 4 rev $ s p
                 # n (slow 3.2 $ run 4)
                 # gain "0.8"
                 # speed (halfosc1 <$> slow 4 sinewave1)
                 # vowel (slow 3.2 "a e o")
                 # shape "0.6"
    b2'bass = slow 8 $ s "[jvbass ~] [jvbass [~ ~ ~ ~ jvbass]] [~ [~ ~ ~ ~ jvbass]] [~ jvbass !]"
              # n (slow 2.8 "0 1 2")
              # vowel "i"
              # speed "0.8"
    b2'arpy = s "arpy*8"
              # n "2 1 3 1"
              # gain "0.7"
    b3'perc = sound "[tok*2 [rm tok]] [psr:1 tok*2]"
    b3'bass = s "bass*4"
              # n "0 1"
              # begin "0.4"
              # speed "1.2"
              # shape "0.2"
    b3'bassf = s "{bass*4, wobble*3}"
               # n "0 1"
               # begin "0.4"
               # speed "1.2"
               # shape "0.2"
    b3'drum = slow 2 $ s "peri [~ ~ ~ peri] [~ peri peri ~] ~"
    b3'drumf = slow 2 $ s "peri*2 [~ ~ ~ peri] [~ peri peri ~] ~"
