← pianoify

How pianoify works

Drop in a recording and hear it back as piano. Free, no account, and most of it happens in the browser tab rather than on a server.

The short version

  1. You give it audio. An MP3, a WAV, an M4A, a FLAC, a voice memo off your phone, or a YouTube link. Files up to ten minutes.
  2. It decodes in your tab. The Web Audio API reads the file where it already is, and draws it as a waveform. Nothing has been uploaded at this point.
  3. You pick ten seconds. A fixed window slides over the waveform, and a play button previews exactly what will be sent. Under ten seconds and the whole file goes.
  4. A transcriber listens. Those ten seconds — and only those — go to a model that returns notes: pitch, when each one starts, how long it lasts, how hard it was struck.
  5. The piano roll fills in. Notes are drawn as they arrive, while the model is still decoding the rest, so you watch the transcription land rather than wait for it.
  6. It plays. On a sampled Steinway grand with a working damper pedal, and you can crossfade against the original recording to hear how close it got.
  7. It engraves. The same transcription is set as sheet music on screen, and exports as MusicXML or MIDI.

What you get out

The roll is coloured by hand, left and right, so you can see the two parts move against each other as it plays.

What it is good at, and what it is not

Solo piano is the case it was built for and it comes back close to right. A full mix is harder, and the honest way to describe the result is that the model hears the loudest thing best: a vocal line or a lead instrument survives, and the parts underneath get approximated rather than transcribed. That is often still useful — it is a sketch of the harmony you can correct in a notation editor — but it is a sketch.

Ten seconds is a real limit, not a trial. One pass costs time on a GPU, and the window is the part of the design that keeps this free. Which ten seconds is yours to choose, which is usually the part that matters.

Privacy, plainly

Decoding, the waveform, the crop and the preview all run in your browser. The only audio that leaves your machine is the ten-second clip you selected, sent to the transcriber to be transcribed. There is no account, and nothing to sign up for.

Questions

Is it really free?

To use, yes — no account, no card. There are two transcribers behind the picker. The one it opens on is a GPU box rented by the hour, so a clip on it costs nothing extra. The other is a hosted API that spends credits, on an account that is not yours.

Do I need to install anything?

No. It needs a browser with JavaScript and the Web Audio API, which is every current browser on desktop and phone.

Can I transcribe from YouTube?

Paste the link and it fetches the audio. A direct link to an audio file works the same way. Transcribe what you have the right to transcribe.

Why does the sheet music sometimes take a few seconds longer than the notes?

Because on the GPU box it is a second pass: the notes stream back first and start playing, and MuseScore engraves them afterwards. The tab opens on that wait rather than staying shut, because the wait is the honest state. On the hosted API the notation comes back with the notes and there is nothing to wait for.

Which model does the transcribing?

There are two backends — a hosted audio-to-MIDI API and a self-hosted GPU box — and three entries in the picker, because the hosted one can report note times as played or snapped to a beat grid. You choose before you transcribe. They are named in the picker and described in the README on GitHub.

Try it

Ten seconds of anything is enough to see whether it works on your material.

Open pianoify →