Hierarchical Music Specification Language: Difference between revisions

Content deleted Content added
OAbot (talk | contribs)
m Open access bot: url-access updated in citation with #oabot.
 
(15 intermediate revisions by 14 users not shown)
Line 1:
{{Short description|Music programming language}}
{{Unreferenced|date=July 2009}}
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 [[Forth (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 was distributed by Frog Peak Music, and runs with a very light [[memory footprint]] (~1 [[megabyte]]) on [[Apple Macintosh|Macintosh]] and [[Amiga]] systems.
 
Unlike [[CSound]] and other languages for audio [[sound synthesis|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| 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 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|Apache License V2]].
== External links ==
* [http://www.softsynth.com/hmsl/ HMSL Page at SoftSynth]
* [http://www.algomusic.com/ JMSL Home Page]
* [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]
 
== References ==
[[Category:Audio programming languages]]
{{reflist}}
 
== External links ==
[[pl:Hierarchical Music Specification Language]]
* [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]]