Skip to content

Instantly share code, notes, and snippets.

@binzram
Last active April 21, 2017 00:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save binzram/a982981d2a19ae5554b73be633c63d61 to your computer and use it in GitHub Desktop.
Save binzram/a982981d2a19ae5554b73be633c63d61 to your computer and use it in GitHub Desktop.
Overtone demo presentation FHTB
PATH=$PATH:/home/binzram/dev/overtone
emacs

M-x cider-jack-in

(ns ch.tsbe.binz(:use 
			[overtone.live]
			[overtone.inst.sampled-piano]
			[overtone.inst.drum :only [quick-kick haziti-clap soft-hat open-hat]]))

(def piano sampled-piano)
(defn akord[a-chord] (doseq[note a-chord](piano note)))
(definst beep [note 60]
  (let [sound-src (sin-osc (midicps note))
        env       (env-gen (perc 0.01 1.0) :action FREE)] ; sam uses :free
    (* sound-src env)))
(def m (metronome 128))
(defn player
  [beat]
  (let [next-beat (inc beat)]
    (at (m beat)
        (quick-kick :amp 0.5)
        (if (zero? (mod beat 2))
          (open-hat :amp 0.1)))
    (at (m (+ 0.5 beat))
        (haziti-clap :decay 0.05 :amp 0.3))
    (when (zero? (mod beat 3))
      (at (m (+ 0.75 beat))
          (soft-hat :decay 0.03 :amp 0.2)))
    (when (zero? (mod beat 8))
      (at (m (+ 1.25 beat))
          (soft-hat :decay 0.03)))
    (apply-by (m next-beat) #'player [next-beat])))


(piano)
(akord(chord :D3 :major7))

(let [time (now)]
  (at time (akord (chord :D3 :major7)))
  (at (+ 2000 time) (akord (chord :F3 :major)))
)


(beep)
(for [i(range 110)] (at (+(now) (* i 20)) (beep i)))


(player(m))
(stop)
(def m (metronome 128))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment