 
 (def noise-1 (sample "~/work/code/borderless/resources/audio/Test21-1.aif"))
 
+;; (demo 10
+;;       (rlpf (* 0.5 (saw [338 440]))
+;;             (mouse-x 10 10000)
+;;             (mouse-y 0.0001 0.9999))) ; cutoff frequency
+
+(definst saw-wave3 [freq 440 attack 5.0 sustain 0.4 release 5.0 vol 0.4 gate 1]
+                      (* (env-gen (asr attack sustain release) gate)
+                              (saw freq)
+                              vol))
+
 ;; SYNTHS
 
 (defn tremelo-freq []

(definst drone-aw [freq 100 verb 0]
  "Inst calls the synth macro which takes a synthesizer definition form. The saw function represents a unit-generator, or ugen. These are the basic building blocks for creating synthesizers, and they can generate or process both audio and control signals (odoc saw)"
  (let [tremolo-freq (+ freq ((tremelo-freq)))
        synth-unit (* (env-gen (lin :sustain 2) 1 1 0 1 FREE)
                      (+
                       ((vowel-formant tremolo-freq 570 0.1))
                       ((vowel-formant tremolo-freq 840 0.1))
                       ((vowel-formant tremolo-freq 2410 0.1))))]
    (out 0 (free-verb synth-unit verb verb verb))
    (out 1 (free-verb synth-unit verb verb verb))))


(definst drone-eh [freq 100]

(defn end-sound! [pid]
  (if (contains? @person-sound pid)
    (do
      (ctl (get-sound pid) :gate 0)
      (remove-person-sound! pid))))

(defn control-sound
