ALMA(ID:6476/alm003)

Music programming language 


for Alphanumeric Language for Music Analysis

Musical composition language

George Logemann and Murray Gould, Institute for Computer Research in the Humanities (NYU).


The idea was to incorporate more than Western staff notations. They implemented some crude translators, proof-listeners (analgous to proof-reading), etc.


Related languages
Plaine and Easie Code => ALMA   Enhancement of

References:
  • Gould, Murray J., and Logemann, George W. "ALMA: Alphameric Language for Music Analysis." In Musicology and the Computer, ed. Barry S. Brook. New York: City University of New York Press, 1970 pp. 57-90 view details
  • Good, Michael David "Scot: A Score Translator for Music 11" BSc thesis 1979 view details Extract: Historical Background
    Historical Background
    In the 1960's, many possible applications of computers to musical problems were being considered.  Among these problems were the automated printing of music, various musicological problems such as indexing and bibliography, electronic music synthesis, and computer composition.  All of these applications concern themselves to some extent with the specification of musical scores in a format that can be handled by a computer.

    The DARMS (Digital Alternate Representation of Musical Scores) project, led by Stefan Bauer-Mengelberg, is one of the most well-known projects dealing with automated music printing [Bauer-Mengelberg 1970; Erickson 1977].  DARMS was viewed as a language which could be used by an optical scanner to produce printed versions of a musical score.  Alternatively, in the absence of these scanners, a clerk without musical training would be able to input a musical score using DARMS.  It is aimed at representing the graphical element of a musical score: for example, staff lines and spaces are assigned numerical values ranging from 0 (ten ledger lines below the staff) to 49 (ten ledger lines above the staff).  This graphical outlook contrasts with most of the languages designed for use in other areas.

    Input languages for musical analysis followed another path.  Many of these languages are presented in summary in [Brook 1970b].  One of the simplest languages was the Plaine and Easie Code developed by Barry S. Brook [Brook 1970a].  Designed for use in areas like thematic cataloguing, the Code represents notes with the letters A through G, durations with single digits, accidentals by # or b, bar lines by /, and octave placement by commas and apostrophes.  ALMA, an Alphameric Language for Music Analysis, was a greatly expanded and modified version of the Plaine and Easie Code [Gould and Logemann 1970].

    Languages used to specify scores to be synthesized by a computer have generally been much closer to machine representation than to traditional music notation.  One of the earliest of these languages was MUSIC IV, developed at Bell Laboratories [Mathews 1961].  Other examples from the 1960's include MUSIGOL [MacInnis 1968], MUSIC V [Mathews 1969], and MUSIC 360 [Vercoe 1973].  The Music 11 language developed at the MIT Experimental Music Studio is a direct descendant of MUSIC 360 [Vercoe 1978]. Languages such as SCORE [Smith 1972] and Scriptu [Brown 1977] are closer to standard notation, but are still machine oriented.  Scot and its immediate predecessor, SOGO [Howe 1978], attempt to take the syntax of ALMA and adapt it to compositional purposes.  This is done both by adding new features and by removing those features that serve purely musicological functions.  Both of these languages produce the lower-level Music 11 score file as output.

    Programming computers to compose musical scores has been investigated by Lejaren Hiller and other composers [Hiller and Isaacson 1959; Hiller and Baker 1965].  In this area, computer programs produce, but do not necessarily perform, musical compositions.  The language problem here is that of providing an output notation for humans, rather than an input language for the computer, and is outside the scope of this paper.

    Extract: ALMA
    ALMA, an Alphameric Language for Music Analysis, was a greatly expanded and modified version of the Plaine and Easie Code. External link: Online copy