Audiveris: Optical music recognition on Linux

Introduction to Audiveris

Audiveris is an open-source project dedicated to optical music recognition (OMR). Its main goal is to convert printed or handwritten sheet music into digital formats such as MusicXML, MIDI, or MEI, facilitating the editing, playback, and archiving of musical works. Although originally developed in Java, Audiveris runs smoothly on any modern Linux distribution, leveraging the power of image processing libraries and the flexibility of the open-source environment. This article explores in detail how to install, configure, and use Audiveris on Linux, highlighting its advantages for musicians, musicologists, and developers seeking to automate the digitization of sheet music.

What is Audiveris and how does it work?

Audiveris combines image processing techniques, pattern recognition, and musical knowledge to interpret the symbols present in a score. The typical workflow includes: scanning or loading an image, preprocessing (binarization, background removal), staff detection, symbol recognition (notes, clefs, alterations, articulations), and finally generating a structured representation in MusicXML. Thanks to its modular architecture, each stage can be adjusted via configuration files or through the graphical interface, allowing performance to be adapted to different paper types, scan resolutions, and notation styles.

Main Features

  • Supports multiple input formats: TIFF, PNG, JPEG, and PDF.
  • Exports to MusicXML, MIDI, MEI, and Audiveris-native formats.
  • Includes manual correction tools to adjust recognition errors.
  • Allows batch processing, ideal for large files or collections of scores.
  • Swing-based graphical interface, compatible with the most common Linux desktop environments.
  • GPL v3 license, guaranteeing freedom to study, modify, and redistribute the code.

Installation on Linux

Although Audiveris is not available in the official repositories of most distributions, installation is straightforward by following these steps:

  1. Make sure you have Java Runtime Environment (JRE) version 11 or higher installed. On Ubuntu or Debian you can run sudo apt-get install openjdk-11-jre.
  2. Download the latest stable version from the official GitHub repository: wget https://github.com/Audiveris/audiveris/releases/download/v5.2.2/audiveris-5.2.2.zip (adjust the version number as needed).
  3. Extract the file: unzip audiveris-5.2.2.zip.
  4. Navigate to the resulting directory: cd audiveris-5.2.2.
  5. Run the application with: java -jar audiveris.jar. If you prefer using the script launcher, try ./run.sh on systems that include it.
  6. If image processing libraries are missing, install the necessary packages: sudo apt-get install libopencv-dev libtesseract-dev (this depends on the specific configuration).

Once the interface is launched, you can load a sheet music image via the File → Open menu and start the recognition process.

Practical Usage Examples

Musicians working with jazz arrangements use Audiveris to transcribe improvised solos from old sheet music into MIDI format, enabling playback on digital synthesizers. Musicologists employ the tool to create critical editions of Baroque works, comparing different scanned versions and generating a unified MusicXML that facilitates harmonic analysis. Developers of music learning applications integrate Audiveris as a backend to offer users the ability to upload a photo of their exercise and receive instant real-time feedback. Additionally, libraries and music archives use Audiveris to digitize large collections of sheet music, reducing physical space and improving access via online catalogs.

Community and Resources

The Audiveris project has an active community on GitHub, where bugs are reported, improvements are proposed, and custom plugins are shared. The project’s page includes a detailed wiki covering everything from environment variable configuration to tips for improving recognition of scores with ancient manuscripts. Additionally, there are mailing lists and Discord channels where Linux users exchange experiences regarding scan resolution adjustments and processing time optimization. For those interested in contributing, the repository accepts pull requests that follow the code style guidelines and include relevant unit tests.

Conclusion

Audiveris represents a robust and free solution for optical music recognition in Linux environments. Its combination of computer vision algorithms, configuration flexibility, and support for open standards makes it an indispensable tool for anyone needing to move from paper sheet music to digital format without relying on costly proprietary software. Whether you are a performer looking to digitize your repertoire, a researcher needing to compare historical versions, or a developer wanting to enrich a music application, Audiveris provides the power and community needed to achieve professional results.