@KC8JC Well said. Agreed. Especially the part about being embarrassed and afraid of getting on the air. Don't be. Once you get out there and start doing it with other operators, especially other beginners, you'll see why I say that. ;-)
I also agree with the part about excessive off-air practice. I know from experience. Back in the day I wanted to take all the tests in one sitting so I worked my code speed past 20 words per minute and took the test in one sitting. That's very nice but doesn't teach you a thing about holding a conversation on CW. Learning to recite the alphabet really fast doesn't teach you to speak French.
I also found when I finally got on the air that I could only copy perfectly sent code. Hah! Nobody sends perfect code with perfect timing. How do people copy this busted up mess I'm hearing? It turns out that just like language, with experience your brain can make sense of what you're hearing, regardless of inconsistent timing, extra dits, missing dits, and so on. With practice it becomes easy and effortless.
In addition, radio conditions can be extremely difficult if you're trying to copy a weak signal through noise and fading. This is where repeats come in too. Your brain can fill in what's missing and assemble the information from bits and pieces.
Learning to copy perfect machine-generated code at 25 words per minute doesn't help you with any of the above so don't waste your time on it. Get on the air.