audiveris
This repository contains source code for the latest generation of Audiveris optical music recognition (OMR) engine.
Main features
As opposed to Audiveris earlier generation, which was a stand-alone OMR application composed of an engine and a (limited) user interface, this repository is focused on the OMR engine.
The internals of OMR engine are made publicly available, either directly by XML-based ".omr" project files or via the Java API of this software.
The engine can directly export data using MusicXML 3.0 format, via an integrated exporter. Other exporters could build upon the engine to support other target formats.
NOTA: The engine provides a small integrated UI which is meant for the developer to analyze, tune or train the various parts of the engine, but not to correct the final score. Full GUIs, meant for the end-user, are expected to be provided by external editors.
Building and running
First of all, you'll need the following dependencies installed and working from the command line:
- Java Development Kit (JDK) version 7 or later (version 8 is recommended). Please ensure you're running a 64-bit JVM. Audiveris doesn't support a 32-bit JVM because deeplearning4j is 64-bit only.
- Git version control system.
- Gradle command line tool for building Audiveris from source
Besides the above mentioned tools you'll need to have Tesseract language files for Tesseract OCR to work properly. Please keep in mind that Tesseract is mandatory for both building and running Audiveris. It's currently not possible to use Audiveris without Tesseract.
You'll need at least the english language data. Other required languages can be installed, too. Please check this guide for further details.
Moreover, opening PDFs containing vector graphics on Unix-like platforms (including the Mac) requires FreeType library to be available in your $PATH. Fortunately, every known OS distribution already contains a package for FreeType.
To build audiveris from source, run the following command from the source code directory:
gradle build
To run audiveris as GUI tool, just issue
gradle run
Developers guide
Developers are encouraged to read our (still incomplete) developers documentation.