 }
 
 void updateLeslieAmplifier() {
-    preamp.setK(50.0);
+    float k = remap((float)midiControl[CC_SPEAKER_DRIVE], 0, 127, 5.0, 50.0);
+    preamp.setK(k);
     crossover.frequency(800);
     crossover.resonance(0.707);
 }
 
 void updateLeslieRotation() {
     // Reset some things that should be constant.
-    leslieBassR.setTremoloDepth(0.5);
-    leslieTrebleR.setTremoloDepth(0.3);
-    leslieBassL.setTremoloDepth(0.5);
-    leslieTrebleL.setTremoloDepth(0.3);
+    leslieBassR.setTremoloDepth(0.3);
+    leslieTrebleR.setTremoloDepth(0.1);
+    leslieBassL.setTremoloDepth(0.3);
+    leslieTrebleL.setTremoloDepth(0.1);
+
+    // Vibrato in the AMFM blocks currently has some fizz artifacts.
 
     // These Leslie speeds are from
     // http://www.dairiki.org/HammondWiki/LeslieRotationSpeed


    updateLeslieAmplifier();
    updateLeslieRotation();

    updatePercussionEnvelope();
    updateTonewheelVolumes();
}

void setup() {

    } else if (ctrl > CC_DRAWBAR_0 && ctrl <= CC_DRAWBAR_9) {
        updateTonewheelVolumes();
    } else if (ctrl == CC_ROTARY_STOP || ctrl == CC_ROTARY_SPEED) {
        updateLeslieRotation();
    } else if (ctrl == CC_VIBRATO || ctrl == CC_VIBRATO_MODE) {
        updateVibrato();
    }
}

