 (defcard
   "A look-ahead gate with the following parameters, fed with a
    stream of 32768 samples linearly distributed from -1.0 to 1.0.
-   Threshold -32dB, look-ahead 0ms, hold 0ms, RMS window 10ms."
+   Threshold -12dB, look-ahead 0ms, hold 0ms, RMS window 10ms."
   (fn [state owner]
     (gate-test state))
-  {:threshold   -32.0
-   :buffer-size 4096
-   :look-ahead  0
-   :hold        0
-   :rms-window  100
-   :chunks      []
-   :data-fn     (fn [sample-rate]
-                  (into [] (repeat sample-rate 1.0)))})
+  {:worker  "gate-1.js"
+   :data-fn (fn [sample-rate]
+              (linear-distribution [-1.0 1.0] 32768))})

                input-data
                output-data]} @state]
    (cond
      finished?   (plot-buffers sample-rate
                                (gstring/format "Input (%d samples)"
                                                (count input-data))
                                input-data

            [goog.string :as gstring]
            [goog.string.format]
            [sablono.core :refer-macros [html]]
            [audio-utils.gate :as g]
            [audio-utils.viz :refer [linear-distribution
                                     plot-buffers
                                     sine-wave]]
            [audio-utils.web-audio :as a]
            [audio-utils.worker :as w]
            [cljs.core.async :refer [<! timeout]]))

(defn run-test
