Optical Score Recognition (OMR)
ReadScoreLib SDK for developers


ReadScoreLib is a binary C library for conversion of printed musical score images to MIDI and MusicXML, as seen in the PlayScore App. ReadScoreLib is ideal for mobile apps as well as Mac and PC applications as it can compensate for the lighting and geometric distortions produced by device cameras. ReadScoreLib is available on OS X, iOS, Android and Windows.

ReadScoreLib generates MusicXML following the format of the original music, including cross-staff beaming and other refinements. Slurs, ties hairpins and dynamics are supported and ReadScoreLib is the only OMR product to support tremolando notation. Grace and cue sized notes are supported and these are rendered as grace notes where appropriate in the MusicXML output, and played as grace notes in the MIDI output.

ReadScoreLib can correct inconsistencies and missing information found in many scores. Printed music is often an incomplete description of the intended performance, leaving much to the intuition of the human reader. A typical page of printed music may lack a time signature and rests in some of the parts. It may contain triplets and duplets not marked as such and notes misaligned with their intended beat. As a result traditional OMR output can render poorly as MusicXML and sound jerky and unmusical. ReadScoreLib makes up for these deficiencies and generates a MIDI file which sounds continuous and musical.

ReadScoreLib processes a typical page of music in a few seconds on the iPad and considerably less on a modern Mac or PC.

See detailed information HERE

ReadScoreLib evaluation

The PlayScore app is available for iOS and Android devices. PlayScore is based on ReadScoreLib and PlayScore can generate MusicXML from a photograph using the device camera or a scanned image.


ReadScoreLib Licensing

There are two types of licence, both available for a single App on a single platform.

1. Budget Licence
Is available per 2000 unit sales. This consists of the current version of ReadScoreLib at the time of
purchase with no updates. The budget package also licenses unlimited downloads of a single
related, non-revenue-generating app.

2. Professional Licence
There is no limit to number of units sold. This includes all versions for a year, with a renewal fee to
include all versions for the following year. An annual renewal subscription maintains the license
with full updates indefinitely.
There are versions of each licence for MIDI-only output or for MIDI and MusicXML

ReadScoreLib Pricing
Pricing is Per App, per platform.  Applications incorporating the library should include a credit in their About dialog or similar.
*The 2-staff edition accepts scores with 1 or 2 staves per system
**The 4-staff edition accepts scores with up to 4 staves per system

The SeeScore SDK for MusicXML rendering
The SeeScore SDK is a compatible MusicXML rendering library with many features also available for Licensing. A free evaluation download is available at http://www.seescore.co.uk/developers

Budget MIDI-only Budget MusicXML+MIDI
2-staff edition* £500.00 £1,000.00
4-staff edition** £750.00 £1,500.00
Unlimited staff £1,000.00 £2,000.00


2-staff edition* £2,000.00 £300.00 £4,000.00 £750.00
4-staff edition** £3,000.00 £500.00 £6,000.00 £1,000.00
Unlimited staff £4,000.00 £750.00 £8,000.00 £1,500.00


Additional features

Tremolando notation 15%
Text recognition (coming soon) 25%
Lens 10%
Bounding box ID 30%

Optional extended features

The extended features below can be licensed as part of the API and are invoked through extended ReadScoreLib API calls.

This includes the notations including:

1) stem strokes plays_1
2) joined and separated alternating  plays_2
3) alternative notations  plays_3


MIDI and XML rendering
ReadScoreLib provides a choice of interpretation for tremolando. By default ReadScoreLib generated MusicXML which reproduces the tremolando notations in the input score. Alternatively ReadScoreLib can be configured to generate an expansion of the tremolando in ordinary notation.

For example plays_1a
would become plays_5



Bounding box and ID
This feature provides the developer with the exact locations and bounding rectangles on the page for every recognised object. This is provided in the form of a separate file listing coordinates and IDs for each object and referencing the generated MusicXML by linenumber. Comments in the XML provide the same information . default-x and default-y are also supported.

Lens feature
This allows the developer to access the pre-processed image generated internally by ReadScoreLib in preparation for analysis. This is a thresholded image with photographic distortions removed. This image is easier for a human to read than a photograph and will be useful in certain kinds of application.