Need to exit this loop, to then be ready to start again.

i think this is why i changed the

 if ( !mfrc522.PICC_IsNewCardPresent()) {
    fadeOutMP3();
  }
  else {
    if ( !mfrc522.PICC_ReadCardSerial()) {
      // do nothing;
    }
    else {
      playMP3();
    }
  }

too

if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) { //In new card found and new serial
    /*PrintHex(mfrc522.uid.uidByte, mfrc522.uid.size);                    // Print the Hex uid &
      Serial.println();                                               // use to get new uids.*/
    playMP3();
  }
  else {