A Machine to Learn Piano


Why we built PianoML


Learning piano requires a strong personal investment.
It is a long and difficult process.
The best piano learning app can't replace a real piano teacher. Using an app is not enough to learn piano and can lead you to bad habits.
That said practice is good.
Practicing scales is one of the best ways to learn Piano and this is why we built PianoML.
Each week, a new scale is to be practiced. Every day, a set of different exercises. Don't forget to always use a metronome when practicing.
We also wanted a tool that could load any score as you can find them easily on the World Wide Web

We support MusicXML because it is the modern, universal language of digital sheet music.

Serious musicians, composers, and teachers already use notation software (MuseScore, Finale, Sibelius, Dorico, etc.) every day. MusicXML lets them — and you — move complete, richly detailed scores (notes, rhythms, dynamics, articulations, fingerings, repeats, and more) between programs without losing anything important. By reading MusicXML natively, PianoML respects and connects to the entire professional ecosystem: you can start a piece in your favorite editor, refine it, then bring it straight into PianoML for guided, interactive practice. No re-entering notes by hand, no lost musical intent — just seamless flow from creation to learning.

We support MIDI because it captures the living performance, not just the page.

Millions of MIDI files exist online — from simple melodies to full arrangements — and people record them directly from digital pianos and keyboards every day. MIDI brings the exact timing, phrasing, and touch (velocity) of a real performance, which is incredibly valuable for learning feel, groove, and expression. It lets you practice along with realistic playback, slow down tricky sections without changing pitch, or even follow a recorded interpretation while building your own. MIDI opens the door to popular songs, backing tracks, ensemble play-along, and your own recordings — things that pure notation often can't convey. We included it so PianoML can meet you where you already are: exploring, jamming, and learning by ear as well as by eye.

We support PDF (with built-in OMR) because the vast majority of sheet music online and in your bookshelf is still trapped in images or scans.

When you search the web, IMSLP, public domain libraries, or your own collection, you usually find PDFs — scanned old editions, publisher files, photos of printed pages. Without OMR (Optical Music Recognition), those scores stay static: you can look at them, but not interact, follow along, slow down, or get feedback. By adding intelligent OMR, we turn those everyday PDFs into living, playable material inside PianoML. You can take almost any piece you already love or discover — even rare or historical editions — and instantly make it part of your structured practice. No need to retype, no waiting for someone else to digitize it. This removes the biggest barrier between inspiration and daily practice.

In short, we didn't add these formats just to check boxes.
We added them because learning piano works best when it's personal, flexible, and connected to the real musical world — your favorite pieces, your existing tools, your own discoveries. Start with our weekly scales to build technique and discipline… then bring in any score that moves you, in whatever format you find it. That’s how motivation stays alive and progress becomes unstoppable.

What's the software doing ?


PianoML will generate major, minor and other scales starting from any note.

Software will wait for you to play the note and give you instant feedback. You can select left, right or both hand you want to work.

By opening a MIDI file, you can choose one or two tracks to be transcribed into a Grand Staff score, with the option for hand separation.

You can select a range of measures and work in loop on them.

PianoML lets you upload your own Scores
It can be MusicXML, MIDI files or even PDF files. In that particular case, application will do its best to make Optical Music Recognition (OMR).
Please note that OMR is a difficult task, and the result may not be perfect.
You can then edit the score to correct any mistakes that may have been made during the recognition, using MuseScore

What you get: A powerful, searchable music library inside PianoML

PianoML doesn't just import files — it builds and organizes a growing personal music library for you, so you can quickly find and practice the right piece at the right moment.

To power this library, we rely on MusicBrainz, the world's largest open music metadata database. MusicBrainz provides rich, reliable information about pieces, composers, works, recordings, and more — all community-curated and freely accessible. By integrating with MusicBrainz, PianoML automatically enriches every imported or generated score with accurate details: composer names, work titles, opus numbers, publication years, genres, keys, time signatures, and even links to related recordings or editions. This turns your uploads into a structured, intelligent collection instead of scattered files.

Under the hood, we use music21, a powerful Python toolkit for computer-aided music analysis. music21 parses and understands the musical structure of every score you load — whether from MusicXML, MIDI, PDF (after OMR), or our generated scales. It extracts deep musical insights like key, mode, harmonic progressions, chord types, rhythmic patterns, and more. This analysis powers smart features throughout the app and enables precise feedback during practice.

Thanks to this combination, you can search your entire library intuitively and effectively:

  • By name or title (e.g., "Für Elise", "Clair de Lune")
  • By author/composer (e.g., Beethoven, Chopin, Bach)
  • By genre (e.g., classical, romantic, baroque, jazz standards, pop arrangements)
  • By tone/key (e.g., C major, A minor, pieces in sharp keys for right-hand focus)

No more digging through folders or guessing file names — just type or filter what you're in the mood to practice, and PianoML surfaces the perfect match from your collection, ready with guided playback, looping, metronome sync, hand separation, and instant note feedback.

Start with our weekly scales to build rock-solid technique… then dive into your personal library to play the music that truly inspires you. PianoML grows with you: the more you import and practice, the smarter and more useful your library becomes.

How does it works


PianoML is a web application that runs on your browser. PianoML used to work without a server, but we finally added one to store the score library. Thus we do not require you to get an account to run the app. All what you need is a web browser connected to your MIDI Keyboard.

By making the software open source, we want to give the opportunity to anyone to contribute to the project and make piano learning more accessible to a wider audience.

PianoML could not have been built without the help of many people in the open source community.