Giter Club home page Giter Club logo

audiveris's Introduction

Logo by Katka

Audiveris - Open-source Optical Music Recognition

The goal of an OMR application is to allow the end-user to transcribe a score image into its symbolic counterpart. This opens the door to its further use by many kinds of digital processing such as playback, music edition, searching, republishing, etc.

The Audiveris application is built around the tight integration of two main components: an OMR engine and an OMR editor.

  • The OMR engine combines many techniques, depending on the type of entities to be recognized -- ad-hoc methods for lines, image morphological closing for beams, external OCR for texts, template matching for heads, neural network for all other fixed-size shapes.
    Significant progresses have been made, especially regarding poor-quality scores, but experience tells us that a 100% recognition ratio is simply out of reach in many cases.
  • The OMR editor thus comes into play to overcome engine weaknesses in convenient ways. The user can preselect processing switches to adapt the OMR engine before launching the transcription of the current score. Then the remaining mistakes can generally be quickly fixed via the manual editing of a few music symbols.

Key characteristics

  • Good recognition efficiency on real-world quality scores (as those seen on IMSLP site)
  • Effective support for large scores (with up to hundreds of pages)
  • Convenient user-oriented interface to detect and correct most OMR errors
  • Available on Windows, Linux and MacOS
  • Open source

The core of engine music information (OMR data) is fully documented and made publicly available, either directly via XML-based .omr project files or via the Java API of this software.
Audiveris comes with an integrated exporter to write (a subset of) this OMR data into MusicXML 4.0 format. In the future, other exporters are expected to build upon OMR data to support other target formats.

Stable releases

On a rather regular basis, typically every 6 to 12 months, a new release is made available on the dedicated Audiveris Releases page.

The goal of a release is to provide significant improvements, well tested and integrated, resulting in a software as easy as possible to install and use:

  • for Windows, an installer is provided on Github;
    The installer comes with pre-installed Tesseract OCR languages deu, eng, fra and ita.
    But it requires Java version 17 or higher to be available in your environment. If no suitable Java version is found at runtime, a prompt will ask you install it.
  • for Linux, a flatpak package is provided on Flathub;
    The package comes with pre-installed Tesseract OCR languages deu, eng, fra and ita.
    The needed Java environment is included in its packaging, therefore no Java installation is needed.
  • for MacOS, unfortunately, we have nothing similar yet 1 -- for now, you have to build from sources as described in the following section on Development versions.

See details in the related handbook section.

Development versions

The Audiveris project is developed on GitHub, the site you are reading.
Any one can download, build and run this software. The needed tools are git, gradle and a Java Development Kit (jdk), as described in this handbook section.

There are two main branches in Audiveris project:

  • the master branch is GitHub default branch; we use it for releases, and only for them;
    To build from this branch, you will need a jdk for Java version 17 or higher.
  • the development branch is the one where all developments continuously take place; Periodically, when a release is to be made, we merge the development branch into the master branch;
    As of this writing, the source code on development branch requires a jdk for Java version 21.

See details in the Wiki article dedicated to the chosen development workflow.

Further Information

Users and Developers are advised to read Audiveris User Handbook, and the more general Wiki set of articles.

Footnotes

  1. If you wish to give a hand, you are more than welcome! โ†ฉ

audiveris's People

Contributors

altonss avatar avm avatar bacchushlg avatar bpartridge avatar brian-math avatar chewi avatar clahey avatar hbitteur avatar kannebto avatar kortov avatar lazerwalker avatar maximumspatium avatar otradovec avatar per42 avatar raember avatar rensbloom avatar ryohang avatar stain avatar stweil avatar yours-truly-phil avatar zjw avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.