HMSL - In All Languages, by Nick Didkovsky This article was first printed in EAR Magazine in Feb 1990
Hierarchical Music Specification Language (HMSL) is a computer language designed for music composition and performance. Unlike most music software, HMSL has no preconceived aesthetic bias. The composer may experiment freely with musical form and style. There is no such thing as a typical HMSL piece, just as there is no such thing as a typical English novel or French poem.
HMSL was co-authored by Phil Burk, Larry Polansky, and David Rosenboom at the Mills College Center for Contemporary Music, and is written in the Forth programming language. The Forth code that constitutes HMSL is included on disk, allowing the user to extend and customize HMSL itself. It is in this spirit of information exchange that HMSL has attracted a society of composers who are themselves partially responsible for HMSL's evolution.
As a composition tool, HMSL handles the demands of both traditional and experimental music. Its multitrack score entry system allows the user to type in notes and durations in common classical notation. HMSL can play back these scores , via MIDI for instance. In the experimental domain, HMSL's capabilities are limited only by the composer's imagination and programming skills. Phil Burk's "Nuke" is a multi-computer network piece which produces music based on the physics of fission reactions. Participants raise and lower simulated control rods to alter the density of the piece, which sounds like clouds of geiger counter clicks. Unlike a real nuclear reactor, Burk's piece is failsafe: HMSL stays vigilant for runaway chain reactions, and will force the lowering of control rods before a "meltdown" can occur!
HMSL is a powerful performance tool. Central to its performance capabilities is its Action Screen, which is a real-time stimulus/response environment. An HMSL Action is a user-definable object which can exhibit intelligent behavior based on a changing performance environment. Larry Polansky's piece, "Simple Actions" is based on the notion that high level intelligence is the organized sum of specialized low level agents working in synchrony. "Simple Actions" spawns specialized musical agents who continuously interact with each other and with a live performer, creating a musical intelligence that is greater than the sum of its parts. The HMSL composer may use a variety of standard and non-standard musical media. HMSL's MIDI toolbox allows the user to input music live from a MIDI keyboard or any other MIDI input device. HMSL can send MIDI to external devices as well. System exclusive libraries for a variety of synthesizers are freely shared by the HMSL community.
The Amiga version of HMSL can access this computer's audio hardware. HMSL can play any prerecorded Amiga audio sample. However, a number of pieces have been written which create and dynamically change their own Amiga audio samples. MIDI and Amiga local sound are but two of the many ways that HMSL can interface to the outside world. HMSL's Virtual Device Interface (VDI) lets the composer write custom "interpreters" that access low level drivers to interface to any external electronic or electro-mechanical hardware. Once installed, the machine-level details of these interpreters are nicely hidden, allowing the composer to concentrate on a higher level of musical organization. Two [non northern cal.] pieces that make creative use of HMSL's VDI are described here.
When David Mahler was commissioned by the State of Washington to produce an installation for a Seattle convention center, he began collecting bells from every county in Washington State, ranging from sheep's bells to bells of historic significance. The bells were installed at the center, and are played by electronic solenoids activated via HMSL's VDI. The VDI hides the details of this electronic interface, allowing Mahler and other composers to focus on composing for the bells, not on resolving technical issues.
Sculptor Sara Garden Armstrong collaborates with programmer Nick Didkovsky on her "Air Player" sound sculpture. HMSL controls seven industrial air blowers and four audio samples, creating sound and movement in Air Player's huge paper sculptures. Thanks to the VDI, the score Armstrong and Didkovsky composed for Air Player is intuitive, easily changeable, and free of low level technical details.
HMSL's strength lies in its unbiased generality and its powerful object-oriented programming environment. While it is possible to use HMSL exclusively as a MIDI sequencer/recorder, this would do an injustice to its open-ended design. Potential users should realize that they will have to learn how to program in Forth to fully utilize HMSL's capabilities. The HMSL manual has a tutorial to get the novice started in Forth. Soon thereafter, the user will be wrestling with very real problems in computer science, object-oriented programming, and logic. However, new users will find that they become members of a supportive community that can help them overcome hurdles.
HMSL is available for the Apple MacIntosh and the Amiga from: Frog Peak Music, PO Box 1052, Lebanon, NH 03766