Benchmark

How ScanSing compares

We gave ScanSing and four other recognisers the same PDFs and counted how many notes each got wrong against an independent MusicXML of the same edition. This is a small test that we ran ourselves, so here is everything: the scores, the numbers, where we lost and how we counted.

Measured 1 October 2026, ScanSing measured again and Music Scanner added 3 October 20269 printed scores with a referenceScanSing is our own app

The short version

  • On clean printed scores ScanSing now makes the fewest mistakes, after we fixed what this test found. Over the eight engraved scores ScanSing averages 99.0% of notes right, PlayScore 2 96.7% and Music Scanner 94.7%. Against PlayScore 2, ScanSing has fewer wrong notes on seven scores and one is a tie.
  • That lead is not a blind result. In the first run, on 1 October, ScanSing averaged 96.1% on these eight and PlayScore 2 was slightly ahead. We then fixed mistakes the test had shown on three of the scores and measured again; the other apps were not given that chance. The first-run numbers are kept below.
  • On the one old scan we tried, ScanSing held up best. On a Bach chorale page from the 1784 Breitkopf print, ScanSing read 67% of notes right, PlayScore 2 7% and Music Scanner 11%. One page is not a verdict on old scans.
  • PlayScore 2 is faster. About 2 seconds a score against ScanSing's 6 to 7, both on a Mac.
  • ScanSing's MusicXML carried the lyrics on every score with words, though not every syllable was read exactly. The MusicXML from PlayScore 2 and from Music Scanner had no lyrics in our runs.

At a glance

MeasureScanSingengine of 3 Oct 2026PlayScore 2Mac 3.66, ProfessionalMusic ScanneriPhone appAudiveris5.11.0homr0.7.0
Notes read correctly8 clean printed scores, average99.0%96.7%94.7%71.8%61.0%
Notes read correctlythe 1784 Bach scan67.0%6.5%11.3%11.5%42.8%
Notes read correctlyall 9 scores, average95.4%86.7%85.5%65.1%59.0%
Wrong notesall 9 scores, 6,421 notes; lower is better2476697582,1842,540
Lyrics in the MusicXML8 scores with words8 of 84 with ≥ 90% of syllables exact0 of 80 of 88 of 8none with ≥ 90% exact0 of 8
Seconds per scoreon a Mac; lower is better6.82.1not timedrun on a phone20.514.8

The best result in each row is in bold; grey marks a row ScanSing does not win. The nine scores hold 6,421 notes. A large part of the gap in the nine-score average comes from the old Bach scan, where every other app lost most of the page.

Notes read correctly

Score by score

Wrong notes on each score, with the share of notes read correctly under it. Lower is better.

ScoreScanSingengine of 3 Oct 2026PlayScore 2Mac 3.66, ProfessionalMusic ScanneriPhone appAudiveris5.11.0homr0.7.0
Tallis, If ye love meSATB · 417 notes0100.0% right0100.0% right0100.0% right399.3% right11672.2% right
Arcadelt, Il bianco e dolce cigno † ‡SATB · 521 notes199.8% right499.2% right7386.0% right40921.5% right29543.4% right
Hensel, Schöne FremdeSATB, Op. 3 No. 2 · 1,093 notes199.9% right499.6% right199.9% right32370.4% right32670.2% right
Hensel, Im HerbsteSATB, Op. 3 No. 3 · 575 notes0100.0% right499.3% right599.1% right17769.2% right14375.1% right
Schubert, An die Musikvoice and piano · 626 notes499.4% right3893.9% right2496.2% right11182.3% right10683.1% right
Schubert, Die Forelle †voice and piano · 975 notes699.4% right1498.6% right5794.2% right22277.2% right33865.3% right
Schumann, Widmung † ‡voice and piano · 1,248 notes8393.3% right14788.2% right17186.3% right50759.4% right57354.1% right
Tchaikovsky, Otche nash ‡SATB, Op. 41 · 506 notes0100.0% right2894.5% right1996.2% right2595.1% right38024.9% right
Bach, two choralesold scan of the 1784 Breitkopf print, no words · 460 notes15267.0% right4306.5% right40811.3% right40711.5% right26342.8% right
Notes read correctly, from the easiest score to the hardest

Scores are ordered by the average of all five apps, so the line shows how each app holds up as the pages get harder. The lines only join the points; there is nothing between two scores.

Notes read correctly, score by score

The blue bar on each row is the gap between ScanSing and PlayScore 2. Near 100% the marks overlap; the table above has every exact number.

† ScanSing's developer used pages of this score while building the recogniser, so ScanSing has seen it before. We kept it in because leaving out the scores we lose on would be worse, but read these rows with that in mind.

‡ After the first run we fixed mistakes this test showed on this score, then measured ScanSing again. First run, wrong notes: Arcadelt 20, Widmung 237, Otche nash 29. Two other rows moved with the same fixes: An die Musik 13 to 4 and the Bach scan 153 to 151. Over all nine scores the first run was 459 wrong notes, 92.8% right; in that run PlayScore 2 had fewer wrong notes than ScanSing on Arcadelt, Widmung and Otche nash.

Five more scores were run through every app but have no independent reference to count against: Bruckner's Locus iste, Rachmaninoff's Bogoroditse Devo in two editions, Fauré's Cantique de Jean Racine and a Bortnyansky concerto. They are not in the numbers above.

How we counted

  • Notes right is 100% minus wrong notes as a share of the notes in the reference. Every sounding note counts, each note of a chord separately; rests and grace notes do not. The whole score is counted, not just the first page.
  • A wrong note is a missing note, an extra note, or a note with the wrong pitch or length, each costing 1. The order of parts and how notes are split between voices do not matter. Distance is counted note by note and chord by chord, and the smaller is taken.
  • References are MusicXML files of the same edition: five Lieder and part-songs from the OpenScore project (CC0), the publisher's own files from CPDL for Tallis, Arcadelt and Tchaikovsky, and Craig Sapp's encoding of the Bach chorales. The Arcadelt reference was itself produced from the same PDF by a recognition program (PDFtoMusic Pro), and the Bach encoding may differ from the 1784 print in small details, so both may hold mistakes of their own.
  • Settings. PlayScore 2 for Mac 3.66 (Professional), its MusicXML as shared from the app. Music Scanner on an iPhone, its MusicXML export; we did not write down its version. Audiveris 5.11.0 in batch mode with default settings. homr 0.7.0 on pages rendered at 300 dpi, one page at a time. ScanSing with the same recogniser as the app, run on the Mac.
  • Time is wall-clock on one Apple Silicon MacBook that was busy with other work during the runs, so the seconds are approximate. PlayScore 2's time was taken by hand and is an upper bound. Music Scanner was run on a phone and not timed. On a phone every app will be slower.

What this does not show

  • Phone photos. All nine are PDFs; photos taken at an angle or in poor light are next.
  • ScanScore, SmartScore and Soundslice. They were not installed on the test machine, so we have no numbers for them.
  • How long it takes to fix the result by hand, and whether each voice is pleasant to practise with. We counted notes, not convenience.
  • Nine scores is a small sample. A different set of scores could change the order between the three apps at the top.
  • A blind test of ScanSing. Three of the nine scores were fixed against this very test, so a fresh set of scores is what would show how much of the gain carries over.

PlayScore 2 and Music Scanner are mature apps that do more than ScanSing in many ways, and Audiveris and homr are free open-source projects. If you make one of these apps and think we ran it wrong, write to hello@scansing.app and we will re-run it and update this page.

Try it on your own scores

Join the beta and send us the page that trips it up.