Thank you so much for writing this! I'm currently trying to implement a latency calibration screen in my own rhythm game, and your articles are one of the rare sources that explain the subject very well. They helped me tremendously.
I have one question though: on the first step, is it better to take the player's taps average delay, or median? From what I've read, I understand that the extremes should be ignored, but then I'm not sure what should be the best method to find the optimal value (especially if there are high discrepancies between each taps).
By the way, I should also mention that I loved the Rhythm Quest demo, and I'm eager to play the full game. :)