Microfono Ding-Dong

Bueno con ese pedazo de código que pusiste está un poco complicado saber para que es " if(antirebote(PULFORM))"
ademas que hacen esos delay y la variable "K". Entonces dejando de lado todo eso, creo que tu problema esta en la forma en que detectas cuando el boton se presiona y cuando se suelta.

prueba lo siguiente:

//////////////MICROFONO ALTOPARLANTE/////////////////
estadoBoton = digitalRead(PULFORM);

if(estadoBoton && !estadoBotonAnterior) {    //Me imagino que aqui es cuando presionas el boton
    analogWrite(LedForm,0);
    myDFPlayer.play(18);
    delay(2000);                                  //Me gustaria saber para que es éste delay
    digitalWrite (AUDIOPOT, HIGH); // Habilita señal de audio a potencias
    K = true;
  
  }
   
  if (!estadoBoton && estadoBotonAnterior){    // y aqui cuando lo sueltas
    Serial.println("NO PULSADO");
    myDFPlayer.play(19);
    delay(2000);
   digitalWrite (AUDIOPOT, LOW); // Habilita señal de audio a potencias

  }

    estadoBotonAnterior=estadoBoton;

Si esa variable antirrebote es para evitar el rebote del botón(obvio no?), entonces no la necesitas porque con ese delay de 2 segundos te aseguro que no tendrás ningún rebote