        (concat (triples (runs [[0 -3] [-5 -3]])) (run [12 0])))))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Canons                                       ;;
+;; Canone alla quarta - Johann Sebastian Bach   ;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(defn bpm [per-minute] #(-> % (/ per-minute) (* 60) (* 1000)))
 
 (def t 0)
 (def p 1)

(defn => [val & fs] (reduce #(apply %2 [%1]) val fs))

(defn play# [notes] 
  (let [play-at# (fn [[t p]] (at t (piano# p)))]
    (->> notes (map play-at#) dorun)))

(defn demo# [pitches]

        end (+ start (* note-length (count pitches)))
        notes (map vector (range start end note-length) pitches)]
    (play# notes)))

;(demo# (range 60 73))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Scale                                        ;;
