About Amadeo

Amadeo writes down the music it hears. Give it a sound from a file, the microphone or a video, and you get back sheet music you can read, fix, play on other instruments and share.

How it works

The notes are found by Basic Pitch, a neural network published by Spotify's audio research team in 2022. It listens to the sound in two-second windows and estimates, for each of the 88 piano keys and about 86 times a second, whether a note is sounding or starting there. It was trained on many instruments and on voices, and it can hear several notes at once.

The rest is classic music analysis. The tempo comes from how regularly the notes start, the key from comparing how long each pitch sounds with the Krumhansl–Kessler profiles of the 24 keys, and the chords from matching the notes of each half measure with the usual chord shapes. Finally every note is moved to the nearest sixteenth of a beat and written with the spelling the key calls for.

All of this runs in your browser. Your sound is never sent anywhere, and your scores are kept on your device. A shared link carries the score inside it, so there is no server holding a copy either.

What to expect

It works best with one instrument or voice, recorded clearly. With a full band or an orchestra you get every note the network could pick out: a useful starting point, but rarely ready to play. Drums are not written down. Gradual tempo changes are followed, though very free rubato can still throw the beat off. That is what the editor is for.

Browsers do not let a page download the sound of a YouTube video, so Amadeo records the tab while the video plays. That works in Chrome and Edge on a computer.

Credits

Basic Pitch (Apache 2.0) and TensorFlow.js for listening; VexFlow (MIT) and the Bravura font (SIL Open Font License) for engraving; smplr with the Splendid Grand Piano and the MusyngKite soundfont (CC BY-SA 3.0) for the instruments.