JMSL is a language based on Java, for experimenting with algorithmic music composition, live performance and the realization of intelligent tools.
Brief history – JMSL was created by Nick Didkovsky which, starting from the work of Phil Burk for JSYN, and with previous experience of HMSL, wanted to make a language that, according to its goals, should be seen as the natural successor of HMSL, developed in the early eighties. Several ideas developed for HMSL, were introduced by Didkovsky in JMSL, since 1997. In those years, his early musical works, provided an excellent testing ground useful to test the capabilities of the new software. JMSL was also created along with Phil Burk. Didkovsky began using JMSL since 1999, in its Java Music Systems course at University of New York, although the first official version was released in 2001.
Features – The goal of this work was to develop an API (which stands for Application Programmers Interface) for algorithmic musical composition that was highly portable, flexible and stylistically neutral. JMSL extends Java features introducing classes, functions and other tools dedicated to music. As JSyn, JMSL also comes from the idea of overcoming software approach based on a dedicated language: from this point the idea of using Java as a language reference. Also in a manner similar to JSYN, JMSL also lends itself to the creation of stand-alone applications or for web use. Emerging from collaboration of Didkovsky and Burk, it is clear that JMSL supports several features on JSYN.
JScore – It’s an editor for music notation. Unlike JMSL is not based entirely on Java, but its features make it customizable and extensible, however. JScore is an API that allows both the inclusion of notes in a score that a work editing of pre-existing score. Through JScore can also enter notes generated automatically with algorithmic methods, or manage instruments made with JSYN and MIDI systems. With Jscore, finally, you can export scores in a printable format for publications.
Other integrations – In addition to JSYN and JScore, will be noted that JMSL also supports JavaMIDI by Robert Marsanyi, MidiShare and JavaSound. Didkovsky, as a composer, produced numerous personal works using JMSL.
For this topic I’ve read:
 Nick Didkovsky, Philip Burk, Java Music Specification Language, an Introduction and Overview, Proceedings of ICMC, Miami, 2004, USA.