Java Music Specification Language
by Phil Burk and Nick Didkovsky
(Phil Burk and Nick Didkovsky Website)

Download from the
Author's Website

 
Operating System: Windows 2000/NT/ME/98/95
File Size: 574K
License: Freeware (All Free software)
License Conditions:

You may download JMSL and use it freely for developing software or music for non-commercial purposes, or for evaluation.

System Requirements:
Last Updated: 2001-07-01
For more detail about software : Software Description
Tags : algorithmic | java | live | music

Software Description

Java Music Specification Language (JMSL) is a new Java-based development tool for experiments in algorithmic composition, live performance, and intelligent instrument design. JMSL is the evolutionary successor to Hierarchical Music Specification Language (HMSL). While HMSL was FORTH-based, JMSL is written in Java.

Java is a language that has much to offer computer music composers including good object oriented support, extensive auxilliary APIs for networking, graphics etc., and the ability to run on multiple platforms including web browsers. JMSL extends Java with classes for hierarchical scheduling of composition objects, sequence generators, distribution functions and other music related tools. This offers rich new territory for composers to explore.

JMSL's strengths include:

  • Its Java core. As opposed to a closed system with a proprietary language, JMSL allows the programmer to leverage off the vast resources available to Java developers, including Java's database connectivity, networking tools, 2D and 3D graphics packages, servlet API, and numerous third party packages
  • Device abstraction. JMSL supports Robert Marsanyi's JavaMIDI, Softsynth's JSyn, Grame‚Äôs MidiShare, and Sun's JavaSound (beta) at a level that hides their implementation
  • Stylistically neutral core
  • Includes JScore: an algorithmically extensible Common Music Notation Editor with an algorithmic transformation plugin API
  • JMSL is freely downloadable in a Lite version
  • The composer can create stand-alone JMSL applications or deploy JMSL applets on the web
Syndicate content