(There's no video for HMSL - Hierarchical Music Specification Language yet. Please contribute to MR and add a video now!)
HMSL stands for Hierarchical Music Specification Language. HMSL is a programming language and software environment for experimental music composition, performance and research. Our goal is to provide tools needed by experimental composers and performers without restricting musical style. We have tried to make HMSL as flexible as possible. The source code for HMSL is provided for the composer to even change HMSL itself, although that is seldom necessary. Some of the tools HMSL provides are:
• a language for creating and executing musical data, processes, and functions in complex hierarchical forms
• software tools for algorithmic composition including intelligent data structures, process control, real-time user-definable stimulus response support, and many other utilities, including distribution functions (randomness), math routines, and other forms of data manipulation
• support for controlling MIDI synthesizers, parsing and mapping MIDI input, sending system exclusive messages, reading and writing standard MIDI files, and synchronizing with other MIDI systems
• support for Amiga local sound, samples and waveforms
• graphical editor for manipulating abstract numerical data such as melodies, samples or system exclusive MIDI parameters
• a text based Score Entry System
• a simple Sequencer that can be customized by the user
• a User Interface toolbox for designing custom mouse driven compositions or editors
• a flexible scheduling system for accurately timed complex musical events
• a variable rate real time clock, 20-1000 ticks/second
• many example pieces
These features are integrated into a polyphonic, real-time musical environment which allows for dynamic alteration of any of its functions, self-modification, and a high degree of user-machine interaction.
The Organization of HMSL
The HMSL software environment is organized into layers. The composer may use tools from any layer at any time. The foundation of HMSL is the Forth language. Forth is an interactive general purpose programming language that lends itself well to experimental systems. On top of Forth are a number of toolboxes. One of these is the MIDI toolbox, with support for sending MIDI commands and responding to MIDI input. Other toolboxes include Timing Support, Graphics, distribution functions, file I/O support, a source level debugger, arithmetic tools, etc.
HMSL.sit (2.72 MiB / 2.85 MB)
I have no idea... IIRC it does not run on Mac OS 8-9. I got it to run in system 7 but I don't recall which. Sorry!
Emulating this? It should run fine under: Basilisk II