   value = analogRead(multiplexInputPin1);
 
   // LFO target
-  value = analogRead(multiplexInputPin3);
+  value = readSelectorPin(multiplexInputPin3);
 
 //  if (value >= 512) {
 //    synth.setFilterLFOAmount(fscale(512, 1023, 0, 3, value, -3));

  delayMicroseconds(propagationDelay);

  // Synth osc 2 voice
  value = analogRead(multiplexInputPin1);
   if (value != p1) {
     p1 = value;

     switch (p1 * 5 / 1023 ) {
       case 0:
         synth.setWaveForm2(WAVEFORM_NOISE);
         break;

  }
}

/**
 * Read a 12-position selector.
 */
byte readSelectorPin(byte pin) {
  int interval = (1023 - 1) / 11; // There are twelve positions, with 11 intervals.
  return (analogRead(pin)+interval/2)/interval;
}

void readInputKey(byte baseNote, byte keyOffset) {
  byte pressed = digitalRead(keyInputPins[keyOffset]);
  byte note = baseNote + keyOffset;
