Hierarchical Music Specification Language: Difference between revisions

Content deleted Content added
oops
OAbot (talk | contribs)
m Open access bot: url-access updated in citation with #oabot.
 
(29 intermediate revisions by 26 users not shown)
Line 1:
{{Short description|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]].<ref name="overview">{{cite journal |last1=Polansky |first1=Larry |last2=Burk |first2=Phil |last3=Rosenboom |first3=David |title=HMSL (Hierarchical Music Specification Language): A Theoretical Overview |journal=Perspectives of New Music |date=1990 |volume=28 |issue=2 |pages=136-178 |doi=10.2307/833016 |url=https://www.jstor.org/stable/833016|url-access=subscription }}</ref> Written on top of [[FORTHForth (programming language)|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 [[Music informatics|informatics]]. It is currentlywas distributed by Frog Peak Music, and runs with a very light [[memory footprint]] (~1 [[megabyte]]) on [[Apple Macintosh|Macintosh]] and [[Amiga]] systems.
 
Unlike [[CSound | Csound]] and other languages for audio [[sound synthesis|synthesis]], HMSL is primarlyprimarily 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 | performance practice]], [[musical tuning | tuning systems]], and [[Sheet music|score]] reading. Its main interface for the manipulatemanipulation of musical [[parameter]]s is through the metaphor of [[shape]]s, which can be created, altered, and combined to create a musical [[Texture (music)|texture]], either by themselves or in response to real-time or [[schedulerScheduling (computing)| 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 (band)|The Hub]], [[James Tenney]], [[Tom Erbe]], and [[Pauline Oliveros]].
 
A [[Java platform|Java]] port of HMSL iswas underwaydeveloped by [[Nick Didkovsky]] under the name '''[[JMSL''']], and is designed to interface to the [[JSyn]] API.
 
HMSL is licensed under the free [[Apache_License|Apache License V2]].
== External links ==
 
== References ==
* [http://www.softsynth.com/hmsl/ HMSL Page at SoftSynth]
{{reflist}}
* [http://www.doctornerve.org/nerve/pages/hmslear.shtml An Article on HSML by Nick Didkovsky]
 
* [http://www.mills.edu/LIFE/CCM/ftp/hmsl/code/portable/ Archive site of example HMSL code]
== External links ==
* [httphttps://www.softsynth.com/hmsl/ HMSL Home Page at SoftSynth]
*[https://github.com/philburk/hmsl HMSL source on GitHub]
 
{{Computer music}}
 
[[Category:Audio programming languages]]