JFugue - Java API for Music Programming  

JFugue is an open-source Java API for programming music without the complexities of MIDI.

JFugue makes programming music this easy:

Player player = new Player();
player.play("C D E F G A B");
     See more examples | Learn how to get started

In addition, JFugue provides many more features:
Read more about features | See the Complete Guide

  • Music Strings let you specify notes, chords, instruments, tracks. More...
  • Music can be played at runtime, or saved to and opened from MIDI files
  • Music can be sent to and received from external devices: keyboards, mixers, etc.
  • A "Pattern" of music can be transformed and manipulated in interesting ways
  • Support for microtonal music, intuitive rhythm tracks, anticipating musical events
  • Other music parsers and renderers can be easily integrated into the JFugue architecture

JFugue is ideal for applications in which music is generated at run-time, such as:

Using JFugue is also a great way to inspire future programmers, and to experiment with music theory and composition.