   (swap! *beats assoc latchbell [a a  a  a [a a a]])
   (swap! *beats assoc laserbeam [d c c c b c c d c c d c b c c d])
   (swap! *beats assoc laserbeam (take 16 (cycle [d b c d c b [d] c c [c c c] d])))
+  (swap! *beats assoc laserbeam (take 16 (cycle [b [d d] [c c c c c] d [d d]])))
   (swap! *beats assoc laserbeam (vec (repeat 16 c)))
   (swap! *beats assoc grumble [g _ _ _ _ _ _ _ _  _ _ _ _ _ _ _])
   (swap! *beats assoc kick [[1 _ _ [1 1]] [_ _ _ 1] [_ _ 1 _] [_ _ _ [1 1 1]]])

(def *fn-beats (atom fn-beats))
(comment
  (start-live-fn-sequencer (sequencer-metro (next-beat (sequencer-metro) 0 (* 8 beat-per-pattern))) (* 1 beat-per-pattern) *fn-beats "fn-beats")
  ;;(live-fn-sequencer (now) 4 *fn-beats "fn-beats")
  (swap! *fn-beats assoc ambi-rand [_])
  (swap! *fn-beats assoc ambi-rand [1 _ 1 _ 1 _ 1 _ 1 _ 1 _ 1 _ 1 _])

      (let [idx (Math/floor (* x (count logistics-scale)))
            note (nth logistics-scale idx)
            freq (midi->hz note)
            dur (* 1 4/8 (/ 60.0 (metro :bpm)))
            next-beat (+ 2/8 beat)
            next-x (* logistics-r x (- 1 x))] ;; x = r * x * (1 - x)
        (if (< 0 (rand-int 3))
