A piano app built for a MIDI keyboard, not adapted to one
Most piano apps listen through your phone's microphone and offer MIDI as an upgrade. That order matters. When MIDI is the upgrade, the timing model, the feedback and the lesson design were all built for something less precise.
Klaviero has no microphone mode for scoring and no letter-typing mode. Every chart is a MIDI performance. Every judgment is measured against the note-on you actually sent.
You need a MIDI keyboard and Chrome, Edge, Firefox or Opera on a desktop or laptop. Safari does not support Web MIDI, and neither does any browser on iPhone or iPad, because Apple requires them all to use Safari's engine. Apple has said it does not plan to add it. Full requirements.
What that changes
Setup, honestly
Plug the keyboard into your computer over USB. Open klaviero.com in Chrome, Edge, Firefox or Opera. Chrome will ask permission to use MIDI devices, say yes. The keyboard appears in the top-right corner.
That is the whole setup. There is nothing to install and no driver on any modern keyboard.
If your keyboard has fewer keys than a piece needs, Klaviero says so before you start and offers to fold the out-of-range notes into your range so every note stays playable.
What it will not do
It will not work in Safari. It will not work on an iPhone or an iPad in any browser, because Apple requires them all to use Safari's engine and Apple has said it does not plan to support Web MIDI. This is not something we can work around.
It will not teach you to read staff notation. It is a falling-notes game with a piano roll, not a sheet-music tutor. If reading is what you are after, the honest version of what this does train is on the reading-ahead page.
The library
315 classical pieces, 811,562 notes, 24.2 hours, 27 composers. Both hands charted separately. Five difficulty tiers derived from the writing rather than assigned by hand, and every chart carries its measured note count and peak density, so the whole catalogue is browsable by how hard a piece actually is.
Plus your own MIDI files, and MP3s transcribed into arrangements in the browser.