 
 (def params
   {:voice/polyphony-mode {:cc 3 :in [0 4] :enum ["Mono" "Mono AG" "Poly 1" "Poly 2" "Mono 2"] :offset 34}
-   :voice/portamento-rate {:cc 5 :in [0 127]}
-   :voice/pre-glide {:cc 9 :in [52 76] :out [-12 12]}
-   :voice/portamento-mode {:cc 12 :in [0 1] :enum ["Expo" "Linear"]}
+   :voice/portamento-rate {:cc 5 :in [0 127] :offset 35}
+   :voice/pre-glide {:cc 9 :in [52 76] :out [-12 12] :offset 36}
+   :voice/portamento-mode {:cc 12 :in [0 1] :enum ["Expo" "Linear"] :offset 37}
    ;; FIXME: Handle this range properly
    :voice/keyboard-octave {:cc 13 :in [124 4] :out [-4 4] :offset 0}
-   :voice/unison {:cc 14 :in [0 4] :enum ["Off" 1 2 3 4]}
-   :voice/unison-detune {:cc 15 :in [0 127]}
+   :voice/unison {:cc 14 :in [0 4] :enum ["Off" 1 2 3 4] :offset 39}
+   :voice/unison-detune {:cc 15 :in [0 127] :offset 40}
 
    :midi/modulation {:cc 1 :in [0 127] :offset 0}
    :midi/breath-controller {:cc 2 :in [0 127] :offset 0}

   :chorder/chorder-key-9 {:cc [7 24] :in [0 127] :offset 0}
   :chorder/chorder-key-10 {:cc [7 25] :in [0 127] :offset 0}

   :vocal-tune/shift {:cc [1 80] :in [40 88] :out [-24 24]}
   :vocal-tune/bend {:cc [1 81] :in [40 88] :out [-24 24]}
   ;; NOTE: Collides with mod-matrix-9/source-1 (0-18) ?! doesn't collide with (0-11) in lfo-n/fade-mode
   :vocal-tune/mode {:cc [1 123] :in [16 19] :enum ["Off" "Scale Correction" "KBCtrl" "Pitch"]}
   ;; NOTE: Doesn't collide with (0-11) in lfo-n/fade-mode or (16-19)
   :vocal-tune/insert {:cc [1 123] :in [25 27] :enum ["PreFilter" "PostFilter" "PreFx"]}
   :vocal-tune/scale-type {:cc [2 56] :in [0 5] :enum ["Played" "Chromatic" "Major" "NatMinor" "HarMinor" "MelMinor"]}
   :vocal-tune/scale-key {:cc [2 57] :in [0 11] :enum ["C" "C#" "D" "D#" "E" "F" "F#" "G" "G#" "A" "A#" "B"]}
   :vocal-tune/correction-time {:cc [2 58] :in [0 127]}
   :vocal-tune/level {:cc [2 59] :in [0 127]}
   :vocal-tune/vibrato {:cc [2 60] :in [0 127]}
   :vocal-tune/vibrato-mod-wheel {:cc [2 61] :in [0 127]}
   :vocal-tune/vibrato-rate {:cc [2 62] :in [0 127]}

   ;; TODO: Figure out the encoding @ 317
   ;; FIXME: Modifying either `on` or `key-latch` changes both in the store because they share
   ;; the `cc`. Make `::ui/control` action smarter about this
   :arp/on {:cc [0 122] :in [46 47] :enum ["Off" "On"] :offset 317}
   :arp/key-latch {:cc [0 122] :in [50 51] :enum ["Latch Off" "Latch On"] :offset 317}
   :arp/octaves {:cc [1 62] :in [0 3] :out [1 4] :offset 318}
   :arp/rate-sync {:cc [1 63] :in [0 18] :enum arp-pattern-enum :offset 319}
   ;; FIXME: This was detected at 320 AND 325?
   :arp/gate {:cc [1 64] :in [1 127] :offset 320}
   :arp/mode {:cc [1 65] :in [0 6] :enum ["Up" "Down" "UpDown" "UpDown2" "Played" "Random" "Chord"] :offset 321}
   :arp/pattern {:cc [1 66] :in [0 18] :enum arp-pattern-enum :offset 322}

   :osc-3/cents {:cc 49 :in [0 127] :out [-64 63] :offset 74}
   :osc-3/pitch-bend {:cc 50 :in [52 76] :out [-12 12] :offset 75}

   :mixer/wet-level {:cc 8 :in [0 127] :offset 85}
   :mixer/osc-1-level {:cc 51 :in [0 127] :offset 76}
   :mixer/osc-2-level {:cc 52 :in [0 127] :offset 77}
   :mixer/osc-3-level {:cc 53 :in [0 127] :offset 78}
   :mixer/ring-mod-13-level {:cc 54 :in [0 127] :offset 79}
   :mixer/ring-mod-23-level {:cc 55 :in [0 127] :offset 80}
   :mixer/noise-level {:cc 56 :in [0 127] :offset 81}
   :mixer/noise-colour {:cc 57 :in [0 3] :enum ["White" "High" "Band" "HiBand"] :offset 82}
   :mixer/pre-fx-level {:cc 58 :in [52 82] :out [-12 18] :offset 83}
   :mixer/post-fx-level {:cc 59 :in [52 82] :out [-12 18] :offset 84}

   :filter/routing {:cc 60 :in [0 5] :enum ["Bypass" "Single" "Series" "Parallel" "Parallal" "Drum"] :offset 86}
   :filter/balance {:cc 61 :in [0 127] :out [-64 63] :offset 87}
