Skip to content

Interactive scores

Scores that play, loop, and slow down without dropping pitch.

The hard four bars do not need another read-through at tempo. They need the same four bars, slower, twenty times, at a pitch you can still tune against.

A musician's hand reaching to a score displayed on a tablet propped on a music stand, a cellist just out of focus behind it.
The score on the stand, not on the page. This is one player reading from a tablet.

This score is playing from this page.

Bach, Invention No. 8 in F major, BWV 779. It loads when you ask for it and plays when you press play, and not before.

Open the speed control and take it to 60 percent: the two voices separate and the pitch stays where Bach left it. Open Loop, set it to bars 9 to 16, and it will keep handing them back to you.

How it actually works

Three mechanisms, none of them clever, all of them the reason the thing behaves.

  1. Where the score comes from

    You build the piece in OpenVoicing, the open-source editor this player is made from. Import a MusicXML file or a Guitar Pro file, line a recording up against the bars, and export the result as one .ovb bundle.

    Upload that bundle to your library the same way you would upload a PDF. Nothing about the file is proprietary to us.

  2. Why the pitch holds

    Notated playback is synthesized from the score itself, so tempo and pitch were never joined in the first place. A recording synced to the bars goes through an audio worklet that takes playback rate and pitch as two separate inputs.

    Slow the piece to a quarter tempo and every note is still the note that was written. Transposing is a different control, and you have to ask for it.

  3. The time counts itself

    The player watches the transport rather than the page. Time accrues while the score is actually playing, and the clock stops when you switch tabs or put the machine to sleep.

    Anything under a minute is not a session. When you stop, one click writes the log with the piece already attached to it.

The fine print

A bundle is a file you own

You can make your own. An interactive score is built from a MusicXML or Guitar Pro file in OpenVoicing, the free open-source editor a copy of which is served from this site, and then exported as a bundle you upload like any other piece. What you cannot do is turn a PDF or an audio file into one by uploading it: a PDF stays a PDF, and the slow-down and loop apply to an engraved score, not to arbitrary audio.

The speed control runs from a quarter tempo up to one and a half times. Pieces synced to a YouTube video are the exception: there the speed snaps to the steps YouTube offers, because the video is the thing doing the playing.

Making an interactive score takes longer than uploading a PDF. It is a real edit, not a conversion, and for a piece you will only read once a PDF is the right answer. The library holds both for that reason.

The bundle itself is one file, up to 50 MB, and it is yours. If you stop using MakesPerfect tomorrow, the same file still opens in the same player, hosted anywhere you like, with no account attached to it.

Next to this

A score is only half of it. The other half is what you did with it and where it sits.

Practice log

Where the minutes the player counted end up, and why the streak survives a time zone.

How the practice log works

Library

One grid for PDFs and interactive scores, with four sharing levels set per piece.

How the library works

Slow down the bars that are not working.

Upload a bundle, or start with the public-domain pieces and see what the player does with them.