Hierarchical Music Specification Language

Music programming language

The Hierarchical Music Specification Language (HMSL) is a music programming language written in the 1980s by Larry Polansky, Phil Burk, and David Rosenboom at Mills College.[1] Written on top of Forth, it allowed for the creation of real-time interactive music performance systems, algorithmic composition software, and any other kind of program that requires a high degree of musical informatics. It was distributed by Frog Peak Music, and runs with a very light memory footprint (~1 megabyte) on Macintosh and Amiga systems.

Unlike CSound and other languages for audio synthesis, HMSL is primarily a language for making music. As such, it interfaces with sound-making devices through built-in MIDI classes. However, it has a high degree of built-in understanding of music  performance practice, tuning systems, and score reading. Its main interface for the manipulation of musical parameters is through the metaphor of shapes, which can be created, altered, and combined to create a musical texture, either by themselves or in response to real-time or scheduled events in a score.

HMSL has been widely used by composers working in algorithmic composition for over twenty years. In addition to the authors (who are also composers), HMSL has been used in pieces by Nick Didkovsky, The Hub, James Tenney, Tom Erbe, and Pauline Oliveros.

A Java port of HMSL was developed by Nick Didkovsky under the name JMSL, and is designed to interface to the JSyn API.

HMSL is licensed under the free Apache License V2.

## References

[edit]

1. ^ Polansky, Larry; Burk, Phil; Rosenboom, David (1990). "HMSL (Hierarchical Music Specification Language): A Theoretical Overview". Perspectives of New Music. 28 (2): 136–178. doi:10.2307/833016.

## External links

[edit]

* HMSL Home Page
* HMSL source on GitHub

* v
* t
* e

Computer music

People|

* Marc Battier
* Richard Boulanger
* David Cope
* John Chowning
* Giuseppe di Giugno
* Charles Dodge
* Gottfried Michael Koenig
* Paul Lansky
* Max Mathews
* Gérard Pape
* Miller Puckette
* Roger Reynolds
* Jean-Claude Risset
* Curtis Roads
* Laurie Spiegel
* The Hub
* Trimpin
* Barry Vercoe
* Iannis Xenakis

Programs and
instruments|

* ChucK
* Cmix
* Composers Desktop Project
* Csound
* FAUST
* HMSL
* Kyma
* Laptop orchestra
* Max/MSP
* MIDI controller
* Music Mouse
* Pure Data
* MUSIC-N
* Radiodrum
* Riffusion
* Sonic Pi
* SuperCollider
* TidalCycles
* UPIC

Places|

* Bell Labs
* CCRMA
* CEMAMu
* Computer Music Center at Columbia
* Experimental Music Studios
* ICEM
* ICMA
* IRCAM
* Center for New Music and Audio Technologies
* Princeton Sound Lab
* Oberlin TIMARA Labs
* IEM

Techniques|

* Algorithmic composition
* Artificial intelligence
* Sound synthesis
* Digital synthesis

Compositions|

* Illiac Suite
* Mortuos Plango, Vivos Voco

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template