midi4j is a Java Library!

This project is not a regular application which you run and get results, this time around I decided to build an Enabler.


midi4j is a Java library enabling any Java user to play and parse-metadata-of Midi sound files.

Midi ?

Musical Instrument Digital Interface (MIDI) is a standard to transmit and store music, originally designed for digital music synthesizers. 


MIDI does not transmit recorded sounds. Instead, it includes musical notes, timings and pitch information, which the receiving device uses to play music from its own sound library.

Why create a library for it ?

Playing Midi on a computer is more complicated than it should be.
Strangely, most music player application, don’t support playing of Midi files !?


Java vanilla code for playing Midi is much more complicated than a simple user wants to cope with, and it seems there are no Java libraries to simplify the task of just playing a Midi file, not to speak of inspecting the metadata information stored in the Midi file.


Thus, I have created midi4j, a simple and intuitive library to play midi files and to read the Midi MetaData information.

How to use the library ?

The library was committed to the central maven repository and can be loaded using the following Maven XML markup:


Code Examples

Midi midi = new Midi($PATH_TO_MIDI_FILE$);
midi.play(); // Plays Asynchronously
midi.jumpToPositionInMS(midi.getCurrentPositionInMS() + 50000); // Jumps forward

while (midi.isPlaying())