Tenemos dos botones para subir y bajar octava. Si los pulsamos, transportamos toda la secuencia una octava hacia arriba o hacia abajo. Tambien hemos añadido un bloqueo para que la octava no cambie si es mayor de 9 o menor de 1.

  if (!muteActivado && octPlusPulsed && tiempoActualMillis - ultimoTiempoBotonOct > 500) {
    ultimoTiempoBotonOct = tiempoActualMillis;
    timeShowOctValue = tiempoActualMillis;
    for (int i = 0; i < numMutes; i++) {
      if(octavaValue[i] < 9){octavaValue[i]++;}
    }
    menuActual = 5;
    updateLCD = true;
  } 
  else if (!muteActivado && octRestPulsed && tiempoActualMillis - ultimoTiempoBotonOct > 500) {
    ultimoTiempoBotonOct = tiempoActualMillis;
    timeShowOctValue = tiempoActualMillis;
    for (int i = 0; i < numMutes; i++) {
      if(octavaValue[i] > 0){octavaValue[i]--;}
    }
    menuActual = 5;
    updateLCD = true;
  }

Al haber convertido los mutes en selectores, si mantenemos el botón mute de una nota y pulsamos el botón de octava, variaremos la octava de solo esa nota.

    if (mute) {
//...
      if (octPlusPulsed && tiempoActualMillis - ultimoTiempoBotonOct > 500 && octavaValue[i] < 9) {
        ultimoTiempoBotonOct = tiempoActualMillis;
        timeShowOctValue = tiempoActualMillis;
        octavaValue[i]++;
        menuActual = 4;
        updateLCD = true;
        pulsedIndividualOctave = true;
      } 

Además, se ha programado la pantalla de visualización de la octava.