Click on each language name for more details

4CED
Computer/OS:PDP-11Year:1979
Author:Curtis AbbottManipulates:
Web:Implementation:Macro-11?
Paper:'The 4CED program', Computer Music Journal, Vol 5, No 1, 1981, pg 13-33.
Description:

Computer/OS:Year:
Author:Manipulates:
Web:Implementation:
Paper:
Description:

Computer/OS:Year:
Author:Manipulates:
Web:Implementation:
Paper:
Description:

Computer/OS:Year:
Author:Manipulates:
Web:Implementation:
Paper:
Description:

ABC
Computer/OS:UNIX, Windows, MacYear:1991
Author:Chris WalshawManipulates:MIDI, PostScript
Web:http://www.gre.ac.uk/~c.walshaw/abc/Implementation:C
Paper:
Description:This notation language was originally designed for transcribing Irish folk tunes, but has since evolved into a considerably richer language allowing, for example, polymetric output on multiple staves. This music notation format has the advantage of being extremely concise and fairly readable.

AC Toolbox
Computer/OS:MacOSYear:
Author:Paul BergManipulates:MIDI, Csound score files
Web:http://www.koncon.nl/220/SOmain.htmlImplementation:Lisp
Paper:
Description:The AC Toolbox is a Macintosh PPC application to assist the algorithmic composition of music. A legacy version for older, 68K-based computers is also available. Several models for defining musical events are included. They can be used by defining objects such as sections, shapes, masks, or note structures. It is also possible to play, plot, modify, and examine objects in a number of ways. Extensive online help is available. In addition to Midi input and output, the AC Toolbox can also produce text files suitable for use as data in other programs. In particular, score files for Csound, note list files for Common Lisp Music, and tables for MAX can be produced. An important method of creating data in the Toolbox is the use of generators. A number of generators have been included reflecting various approaches to the creation of musical material including tendency masks, stochastic functions, chaotic systems, transition tables, recursive subdivisions, metric indispensabilities, morphological mutations, etc. The AC Toolbox is implemented in Lisp and input syntax often reflects the conventions of this language. It is also possible for a user to extend the Toolbox by adding Lisp functions. For example, additional generators can be defined in Lisp to use with the Toolbox.

Adagio
Computer/OS:Mac, PC, Atari, AmigaYear:1984
Author:Dannenberg, R. B.Manipulates:
Web:http://www.cs.cmu.edu/afs/cs.cmu.edu/project/music/web/music.software.htmlImplementation:C
Paper:Proceedings of the 1986 International Computer Music Conference
Description:Scoring language used by the Carnegie Mellon Midi Toolkit (CMT).

ALMA
Computer/OS:Year:
Author:George Logemann and Murray GouldManipulates:
Web:Implementation:
Paper:
Description:Alphanumeric Language for Music Analysis, implemented at the 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.

AML - Algorithmic Music Language
Computer/OS:CP/M, Apple IIYear:1982
Author:Ray Jurgens - Electronic Arts Research (EAR)Manipulates:
Web:Implementation:
Paper:
Description:AML consisted of an interpreter and a compiler. The compiler was written in and used a lobotomized version of the Digital Research MAC assembler. The compiler generated code that was read by the interpreter. The AML interpreter was written in Intel 8080 assembly language. The interpreter created up to 8 virtual machines that drove analog synthesizers using various D/A and A/D hardware. Each virtual machine consisted of a stack oriented computer that processed code specifically designed for generating music. The instruction set consisted various operators for manipulating the stacks, reading note lists, computing note lists in real-time and drawing pseudo random numbers including fractals. A version supporting MIDI was the final development, and this version ran on an Apple 2 computer equipped with an Intel 8080 board which talked to a Roland MPU-401 MIDI interface. A wide range of students and composers in the LA area used this system, many through the UCLA extension program. LA Composer Jeff Rona wrote several works for AML, and it was first demonstrated in Denton TX with his "Step Music" with dancers Sean Green and Dianna McNeil. There is an article in the ICMC proceedings for the Denton conference.

AMPLE
Computer/OS:AcornYear:
Author:Chris JordanManipulates:
Web:Implementation:
Paper:
Description:Forth-like stack-based language, in which letters a-g are the musical notes. A change to capitals indicates a change up an octave, to lowercase is down an octave (symbols < and > do this explicitly). Also is multitasking.

Arctic
Computer/OS:UnixYear:1986
Author:Dannenberg, R. B., P. McAvinney, and D. RubineManipulates:
Web:Implementation:C
Paper:'Arctic: A Functional Language for Real-Time Systems', Computer Music Journal 10:4, Winter 1986, pg. 67-78
Description:A Functional Language for Real-Time Systems.

ARES/MARS
Computer/OS:WIN95, WIN3.1Year:1991 (prototype version), 1997 (commercial version)
Author:IRIS s.r.l.Manipulates:audio, MIDI
Web:http://aimi.dist.unige.it/index.htmImplementation:C++
Paper:Andrenacci, P., Armani, F., Bessegato, R., Paladin, A., Pisani, P., Prestigiacomo, A., Rosati, C., Sapir, S., Vetuschi, M., The New MARS Workstation, ICMC Proceedings, pp 215-219, Thessalonikas, 1997
Description:MARS is a development system for realtime Digital Signal Processing techniques, sound synthesis, filters and sound effects. Sound and MIDI environments can be developped which allow it to be used as a MIDI musical instrument. MARS is a system for audio research, musical production and the education of computer music, for people who like a programmable and flexible sound machine with realtime performance.

autoklang
Computer/OS:Burroughs B6700Year:
Author:Curtis RoadsManipulates:
Web:Implementation:Algol
Paper:
Description:

BOLT
Computer/OS:Buchla LightningYear:
Author:Lynx Crowe, Chuck CarlsonManipulates:
Web:Implementation:Assembler
Paper:
Description:

CAL
Computer/OS:Win3.1, Win95Year:1992?
Author:Twelve Tone software (Cakewalk)Manipulates:MIDI
Web:http://www.cakewalk.comImplementation:
Paper:
Description:A lisp-like language that can manipulate MIDI data and do other sequencer-related operations (creating new tracks, etc.) within the Cakewalk sequencer. See http://www.cakewalk.com/devxchange/cal.asp for examples of CAL programs.

Canon
Computer/OS:MacYear:1987
Author:Roger B. DannenbergManipulates:
Web:Implementation:C (XLisp)
Paper:"The Canon Score Language", Computer Music Journal 13:1, Spring 1989, pg. 47-56
Description:

CHANT
Computer/OS:PDP-11Year:1979
Author:Xavier Rodet , Yves Potard, Conrad Cummings (IRCAM)Manipulates:
Web:Implementation:SAIL
Paper:Computer Music Journal
Description:

CHOPS
Computer/OS:Buchla 400Year:
Author:Lynx CroweManipulates:
Web:Implementation:Assembler
Paper:
Description:

ChucK
Computer/OS:MacOS X, Linux, Windows/CygwinYear:2003
Author:Ge Wang and Perry R. CookManipulates:audio + MIDI
Web:http://chuck.cs.princeton.edu/Implementation:C/C++
Paper:http://chuck.cs.princeton.edu/
Description:Concurrent, Strongly-timed, On-the-fly Audio Programming Language.

CLM (Common Lisp Music)
Computer/OS:NeXTYear:1990
Author:William SchottstaedtManipulates:Audio
Web:http://ccrma-www.stanford.edu/CCRMA/Overview/node21.htmlImplementation:Lisp
Paper:
Description:Common Lisp Music (CLM) is a sound synthesis package in the Music V family written primarily in Common Lisp. The instrument design language is a subset of Lisp, extended with a large number of generators: oscil, env, table-lookup, and so on. The run-time portion of an instrument can be compiled into C or Lisp code. Since CLM instruments are lisp functions, a CLM note list is just a lisp expression that happens to call those functions. Recent additions to CLM include support for real-time interactions and integration with the Snd sound editor.

CMIX
Computer/OS:Unix, NeXT, LinuxYear:
Author:Paul LanskyManipulates:Audio
Web:http://www.music.princeton.edu/winham/cmix.htmlImplementation:C
Paper:
Description:Cmix is a package of routines for editing, processing, and creating soundfiles. It also includes a library of routines designed to make it easier to write c programs which deal with soundfiles. A version for Linux, called RTcmix, is maintained by Dave Topper.

CMN (Common Music Notation)
Computer/OS:Year:
Author:William SchottstaedtManipulates:Notation
Web:http://ccrma-www.stanford.edu/CCRMA/Overview/node21.htmlImplementation:Lisp
Paper:
Description:Common Music Notation (CMN) is a music notation package written in Common Lisp, using CLOS and the Sonata font. It provides for all the usual needs of music notation in a fully customizable, programmable environment.

Cmusic
Computer/OS:UnixYear:198?
Author:F. Richard Moore (UCSD)Manipulates:Audio
Web:http://grasshopper.ucsd.edu/95_96/FACULTY/frm.htmlImplementation:C
Paper:
Description:Language described in "Elements of Computer Music" by F. Richard Moore.

Common Music
Computer/OS:Year:
Author:Heinrich TaubeManipulates:
Web:http://ccrma-www.stanford.edu/CCRMA/Overview/node25.htmlImplementation:Lisp
Paper:
Description:Common Music (CM) is an object-oriented music composition environment. It produces sound by transforming a high-level representation of musical structure into low-level control statements for a number of different synthesis targets: MIDI, CSound, Common Lisp Music (CLM), Music Kit, CMix, CMusic, RT, Mix and Common Music Notation (CMN). Common Music provides an extensive library of compositional objects and encourages the user to modify and extend the system through subclassing and specialization. Common Music is implemented in Common Lisp and runs on a variety of computers, including NeXT, Macintosh, SGI, SUN, and 386.

CompoSeq5
Computer/OS:i386, DOSYear:2000-2003
Author:Jonatan LiljedahlManipulates:(Analogue) hardware through custom DAC interface
Web:http://kymatica.comImplementation:C
Paper:
Description:Environment with Stackbased language for music composition. Algorithmic composition, sequences. Multitasking. Outputs through custombuilt interface, for control of analogue synthesizer hardware.

CPN View
Computer/OS:Windows NT/95. MacOSYear:1980-
Author:Dr. Donncha O MaidinManipulates:Music Scores
Web:mailto:Donncha.OMaidin@ul.ieImplementation:C++
Paper:
Description:Provides a C++ class library for representing music scores. Works with scores in ALMA, *kern, NIFF, and Esac. Provides a visualisation and analysis paradigm for music. Huge corpus available, with translators from practially all major encodings.

Csound
Computer/OS:DOS, Windows, Mac, Linux, Atari, SGIYear:1986
Author:Barry Vercoe (MIT)Manipulates:
Web:http://www.leeds.ac.uk/music/Man/c_front.htmlImplementation:C
Paper:
Description:Csound is a popular and widely used software synthesis package in the tradition of so-called music-N languages, among which the best-known is Music V. It consists of an orchestra- and score-driven executable, written in C for portability. Basically Csound reads some files and creates the result as a soundfile on disk or, on faster machines, realtime through a DAC.

CYBIL
Computer/OS:SGIYear:1995
Author:Alexandre Burton and Jean PicheManipulates:Csound scores
Web:http://www.musique.umontreal.ca/Org/CompoElectro/CEC/Implementation:
Paper:
Description:CYBIL is a compositional language for the efficient specification of arbitrarily complex Csound scores. It is integrated into CECILIA and can be used to generate scores for any kind of Csound orchestra. The syntax of CYBIL owes to Leland Smith's SCORE language and, to an extent, to Heinrich Taub's Common-Music. Scores are specified as parameter lines with the help of a number of data generators such as sequences, masks, lines and exponentials. These generators can be further modified by the use of functions such as random, urns and constrained random and parameters cross-referencing.

DCMP
Computer/OS:IBM 360Year:
Author:Grossi, Paoli, SommiManipulates:
Web:Implementation:Fortran IV
Paper:
Description:

EEL2/JSFX
Computer/OS:UnixYear:2006-2018?
Author:ReaperManipulates:Audio,MIDI
Web:https://www.reaper.fm/sdk/js/js.phpImplementation:C
Paper:https://www.cockos.com/EEL2/
Description:JSFX audio effects for Reaper are written in EEL2, a scripting language that is compiled on the fly and allows you to modify and/or generate audio and MIDI, as well as draw custom vector based UI and analysis displays. EEL2 is based on AVS's EEL. AVS is a programmable visualization plugin for Winamp

Elody
Computer/OS:Mac OS, WindowsYear:1998
Author:Fober, Letz, OrlareyManipulates:MIDI
Web:http://rd.grame.fr/Elody/Elody.htmlImplementation:Java
Paper:[Orlarey, Fober, Letz, Bilton 94]."Lambda Calculus and Music Calculi" Proc. ICMC 1994
Description:Elody is a music composition environment that proposes Lambda-abstraction on musical structures as a fundamental mechanism to represent user-defined programs

FAUST
Computer/OS:Linux, Mac, Windows, and many more target environments (iOS, Android, VST, AU, lv2, JACK-GTK, JACK-QT, CoreAudio-QT, ...).Year:2004
Author:Yann Orlarey, Dominique Fober, Stephane Letz, and various contributorsManipulates:Audio, with OSC control support.
Web:http://faust.grame.fr/index.php/documentationImplementation:C++
Paper:http://faust.grame.fr/index.php/documentation
Description:FAUST (Functional Audio Stream) is a functional programming language specifically designed for real-time signal processing and synthesis. A distinctive characteristic of FAUST is to be fully compiled. The FAUST compiler translates DSP specifications into very efficient C++ code that works at sample level. The generated code is self contained and doesn't depend on any library or runtime. Moreover a same FAUST specification can be used to generate native implementations for most OS (Linux, OSX, Android, iOS) or platforms (LV2, Ladspa, VST, PD, Csound, SC,..) Faust distribution can be downloaded at: http://sourceforge.net/projects/faudiostream The GIT repository can be cloned with the following command : git clone git://git.code.sf.net/p/faudiostream/code faust

Flavors Band
Computer/OS:Lisp MachineYear:1984
Author:Christopher FryManipulates:
Web:Implementation:LISP
Paper:
Description:Lisp-based language.

FOIL (Far Out Instrument Language)
Computer/OS:ToucheYear:
Author:David Rosenboom,Lynx CroweManipulates:
Web:Implementation:Forth
Paper:
Description:

Foo
Computer/OS:Year:1994
Author:Gerhard EckelManipulates:
Web:http://viswiz.gmd.de/~eckel/publications/eckel94a.htmlImplementation:Objective C, Scheme
Paper:
Description:The Foo environment consists of the Foo Kernel layer and the Foo Control layer. The Foo Kernel layer is implemented in Objective-C and is made accessible to Scheme through a set of types and primitives added to the Elk Scheme interpreter. The Foo Control layer is implemented in Scheme and OOPS, an object-oriented extension to Scheme. Whereas the Foo Kernel layer implements the generic sound synthesis and processing modules as well as a patch description and execution language, the Foo Control layer offers a symbolic interface to the kernel and implements musically salient control abstractions. The user interacts with the Foo environment by writing Scheme programs which eventually will define and execute synthesis patches in non-real-time.

FORMES
Computer/OS:DEC VAXYear:1984
Author:Xavier Rodet, Pierre Cointe (IRCAM)Manipulates:
Web:Implementation:Lisp
Paper:"Formes: Composition and Scheduling of Processes", X. Rodet & P. Cointe, Computer Music J 8(3):32-50 (Fall 1984).
Description:Object-oriented language for music composition and synthesis, written in VLISP.

FORMULA
Computer/OS:Atari, MacYear:1991
Author:Dave Anderson (UC Berkeley) & Ron Kuivila (Wesleyan U)Manipulates:
Web:Implementation:Forth
Paper:July 1991 IEEE Computer
Description:FORMULA is a language/multitasking OS for the Atari ST and Mac. It is based on (and built on top of) Forth. The basic idea of FORMULA is to represent music as cooperating processes. For instance, each part of a symphony might be a different process. Also, the generation of pitches, durations, velocities, and tempo can similarly be controlled by separate processes.

Fugue
Computer/OS:UnixYear:1988
Author:Roger B. Dannenberg, Chris FraleyManipulates:
Web:http://www.computer.org/tab/cgm/july91.htmImplementation:C + XLisp
Paper:' Fugue: Composition and Sound Synthesis with Lazy Evaluation and Behavioral Abstraction', Proceedings of the 1989 International Computer Music Conference, also July 1991 IEEE Computer.
Description:Functional language for sound synthesis.

GROOVE
Computer/OS:Honeywel l DDP-224Year:1968
Author:Mathews, Moore (Bell Labs)Manipulates:
Web:Implementation:Fortran IV and assembler
Paper:Comm. Assoc. for Computing Machinery 13S:12
Description:The first realtime interactive computer music performance and composition system.

Haskore
Computer/OS:Year:1996?
Author:Paul HudakManipulates:MIDI
Web:http://haskell.systemsz.cs.yale.edu/haskore/Implementation:Haskell
Paper:
Description:Haskore is a collection of Haskell modules designed for expressing musical structures in the high-level, declarative style of functional programming. In Haskore, musical objects consist of primitive notions such as notes and rests, operations to transform musical objects such as transpose and tempo-scaling, and operations to combine musical objects to form more complex ones, such as concurrent and sequential composition. From these simple roots, much richer musical ideas can easily be developed.

HMSL
Computer/OS:custom 68000, Amiga, MacYear:1985
Author:David Rosenboom, Larry Polansky, Phil BurkManipulates:
Web:http://www.softsynth.com/hmslImplementation:Forth
Paper:Proceedings of the ICMC, 1985, 1987
Description:HMSL (Hierarchical Music Specification Language) is an object-oriented software environment for experimental music composition, with an emphasis on real-time user-machine interaction.

Hyperlisp
Computer/OS:Year:1994
Author:Joe ChungManipulates:MIDI
Web:http://www.idiom.com/free-compilers/TOOL/CommonLi-13.htmlImplementation:Common Lisp
Paper:
Description:Hyperlisp is a real-time MIDI programming environment embedded in Macintosh Common Lisp. The environment was developed specifically for the Hyperinstruments project at the MIT Media Laboratory, and is optimized for interactive systems which require fast response times. Hyperlisp provides two main services for the music programmer: routines for MIDI processing and primitives for scheduling the application of functions. Programs written in Macintosh Common Lisp can use these services for a wide variety of real-time MIDI applications.

IanniX
Computer/OS:MacOS X / LinuxYear:2005
Author:La Kitchen / CCMIXManipulates:audio
Web:http://sourceforge.net/projects/iannixImplementation:C++
Paper:http://iannix.la-kitchen.fr/rapport_expertise.pdf
Description:A graphical editor for multidimensional and multi-formal scores, sort of poly-temporal meta-sequencer, based on the former UPIC created by Iannis Xenakis.

Interactive Music Control
Computer/OS:Year:
Author:Manipulates:
Web:http://www.microsoft.com/music/LangReference/LangRef.htmImplementation:VBScript, JavaScript
Paper:
Description:The Microsoft Interactive Music control is an ActiveX component used to create and play music dynamically on Web pages. It is used as an object within VBScript or JavaScript programs.

Interactor
Computer/OS:Year:
Author:Mark Coniglio and Morton SubotnickManipulates:MIDI
Web:http://www.art.net/~troika/interactor.htmlImplementation:
Paper:
Description:Interactor is a graphic authoring tool created by composers Mark Coniglio and Morton Subotnick that enables artists to realize realtime interactive performances based on MIDI.

INV
Computer/OS:UnixYear:1978
Author:Curtis Abbott (IRCAM)Manipulates:
Web:Implementation:C
Paper:
Description:

invokator
Computer/OS:UnixYear:1977
Author:C. AbbottManipulates:
Web:Implementation:C
Paper:
Description:

JFugue
Computer/OS:All OS's! Java is multi-platformYear:2002
Author:David KoelleManipulates:MIDI, and user-defined music string
Web:http://www.jfugue.orgImplementation:Java
Paper:none
Description:JFugue is a set of Java classes for music programming. It uses simple strings to represent musical data, including notes, chords, and instrument changes. JFugue also allows you to define music using patterns, and you can do interesting transformations on those patterns to come up with new musical segments that are derived from existing pieces of music. JFugue can write MIDI files. The JFugue webpage is full of clear examples and instructions. JFugue makes music programming incredible easy!

JMSL
Computer/OS:Java Virtual MachineYear:1998
Author:Nick Didkovsky, Phil BurkManipulates:Midi i/o on PC and Mac, integrates with JSyn
Web:http://www.algomusic.com/jmsl/Implementation:Java
Paper:
Description:Java Music Specification Language (JMSL) is a programming environment for experiments in music performance, composition, and intelligent instrument design. Based on HMSL (Hierarchical Music Specification Language), JMSL is a Java package which affords the composer all the functionality of the Java programming language as well as the hierarchical structuring, scheduling, and philosophy of HMSL.

JSyn
Computer/OS:JavaYear:1997
Author:Phil BurkManipulates:Audio
Web:http://www.softsynth.com/Implementation:C
Paper:
Description:JSyn uses native methods written in 'C' to provide real-time audio synthesis for Java programmers. It is based on the traditional model of unit generators which can be connected together to form complex sounds. For example, you could connect a white noise generator to a low pass filter that is modulated by random ramp generators to create a wind sound.

KeyKit
Computer/OS:Win9x, WinXP, WinNT, Linux, MacYear:1995
Author:Tim ThompsonManipulates:MIDI
Web:http://www.nosuch.com/keykitImplementation:C
Paper:
Description:Interpreted multi-tasking awk-like language designed for MIDI algorithmic and realtime manipulation. Multi-window GUI with pull-off menus and buttons is implemented using the language, and includes a multi-track sequencer, and drum pattern editor. Source code for all tools is included and can be customized easily.

Keynote
Computer/OS:Unix, Mac, AmigaYear:1990
Author:Tim ThompsonManipulates:MIDI
Web:Implementation:C
Paper:Keyboard Magazine, Nov, 1990
Description:Interpreted programming language and GUI, algorithmic and realtime MIDI processing, music editor written in Keynote itself, hence customizable, piano-roll style with pop-up menus. See also: KeyKit.

Kinetic Music Machine
Computer/OS:DOS PCYear:1990
Author:John DunnManipulates:MIDI
Web:http://www.algoart.comImplementation:Written entirely in Assembler
Paper:
Description:Based on Music Box by the same author, it was enhanced and re-released as KMM

KyCE (Kymatica Compositional Environment)
Computer/OS:Linux (ALSA,GTK+)Year:2006
Author:Jonatan LiljedahlManipulates:Real-time ALSA event outputs (MIDI) and/or hardware through custom DAC interface
Web:http://kymatica.com/kyceImplementation:C and Nasal
Paper:
Description:Object-oriented compositional environment based on Nasal, a clean and flexible dynamically typed scripting language with garbage collection. Suitable for live performance (real-time recompiling of objects), algorithmic composition and experiments.

Kyma
Computer/OS:Mac, PC - WindowsYear:1986
Author:Carla ScalettiManipulates:
Web:http://www.SymbolicSound.comImplementation:Smalltalk
Paper:'The Kyma/Platypus Workstation,' Computer Music Journal, vol. 13, no. 2. 'Composing Sound Objects in Kyma,' Perspectives of New Music, vol. 27, no. 1
Description:A language for specifying and manipulating sound. It is a visual language and is based on units called "sound objects" rather than the "notes" of standard music notation. Structures specified in Kyma can be compiled for real-time samples generation on a digital signal processor. Kyma is described in an issue of CMJ devoted to object-oriented music applications.

Lilypond
Computer/OS:Windows, OSX, LinuxYear:1992
Author:Jan Nieuwenhuizen, Han Wen Nienhuis (original authors), David Kastrup (active development)Manipulates:text
Web:http://lilypond.orgImplementation:C,Scheme
Paper:
Description:Lilypond is a program that typesets music from musical definitions.

Loki
Computer/OS:MS-DOS,MS-WINDOWSYear:1996
Author:Juniper MoonManipulates:MIDI
Web:http://www.ibmpcug.co.uk/~loki/Implementation:C
Paper:
Description:Loki is a text to MIDI converter. It was developed to help transcribe music to MIDI. It contains facilities to harmonise and manipulate melodies as well. The next release will provide interactive facilities. Shareware and Fun.

LOOM Language Of Objects Of Music
Computer/OS:AmigaYear:1993
Author:Paul WebbManipulates:MIDI
Web:http://www.robotsoftware.co.uk/LOOM.htmlImplementation:basic
Paper:
Description:A visual programming language for defining algorithmic processes and composition structures

LPC
Computer/OS:IBM 370Year:1975
Author:Mian, OffeliManipulates:
Web:Implementation:Fortran IV
Paper:
Description:

ManuScript
Computer/OS:Win/MacYear:1998
Author:Manipulates:Midi audio (specific to Sibelius notation software)
Web:www.sibelius.comImplementation:like C++
Paper:I've a paper about that (Word format)..
Description:A simple CAL like language for manipulating MIDI and Sibelius specific data

MASC
Computer/OS:Commodore C-64Year:1986
Author:Dan KelleyManipulates:
Web:Implementation:Forth
Paper:Keyboard magazine, 1986?
Description:Forth-based program on Commodore C64.

Max
Computer/OS:Mac, NextYear:1986
Author:Miller Puckette (IRCAM) and David Zicarelli (Opcode Systems, Cycling 74)Manipulates:
Web:http://www.cycling74.comImplementation:C
Paper:Keyboard magazine, Feb. 1991
Description:A graphical, object-oriented language in which precompiled input/output primitives of specific function can be 'patched' together graphically onscreen to create large interactive systems. Primarily but not exclusively MIDI-oriented. User primitives can be compiled in C.

McLeyvier Command Language
Computer/OS:CPU: LSI 11/23, OS: RSX11MYear:1981
Author:David McLey (et al)Manipulates:composition and computer-controlled analog synthesis
Web:Implementation:C
Paper:McLey, David. 1981. McLeyvier instruction manual.
Description:Macro language for configuration and control of analog oscillators, filters, VCAs, LFOs, amp, mixer, etc., music notation, SMPTE sync, but especially rich in traditional compositional vocabulary. (Nestable) macros could be triggered by name, parameter value (e.g. pitch), time (abs or rel in min:sec:frames or measures:beats:ticks), controller activity, alphanumeric input. (No published documentation or description.)

MGP
Computer/OS:PC at Windows platform.Year:1999
Author:Jordan MisjaManipulates:Text manipulation and midi production.
Web:http://homepages.msn.com/RedmondAve/dadani/Implementation:Visual Basic & Adaggio.
Paper:
Description:Based in the logic of the sentences and phrases construction of a musical part.

MIDAS
Computer/OS:Buchla 400,700Year:
Author:Lynx CroweManipulates:
Web:Implementation:Assembler, C
Paper:
Description:

MML
Computer/OS:MSX BASICYear:1983
Author:Microsoft /ASCII Corp.Manipulates:MIDI / Internal Soundchips
Web:http://www.faq.msxnet.org/Implementation:Assembler
Paper:
Description:MML is a Macro Music Language used by the BASIC interpreter on MSX home computers. It allows to define up to nine channels of MIDI or internal sounds (FM chips or AY-3-8910 chip).

MODE
Computer/OS:Year:1987
Author:Stephen Travis PopeManipulates:
Web:http://datura.cerl.uiuc.edu/netStuff/mode.htmlImplementation:Smalltalk
Paper:'Musical Object Development Environment (MODE)', Computer Music Journal, volume 16 number 3.
Description:The Musical Object Development Environment (MODE) is a Smalltalk-80 framework and tool kit for music description, score editing, interactive performance, and digital signal processing.

MOM
Computer/OS:HP2100AYear:1974
Author:G. Winham, M. Zuckerman (Princeton)Manipulates:
Web:Implementation:HP assembler
Paper:
Description:

Moxc
Computer/OS:Mac, PC, Atari, AmigaYear:1984
Author:Dannenberg, R. B.Manipulates:
Web:Implementation:C
Paper:Proceedings of the 1986 International Computer Music Conference
Description:

Moxie
Computer/OS:Year:1984
Author:Douglass J. CollingeManipulates:
Web:Implementation:XPL
Paper:"Moxie: A Language for Computer Music Performance", D. Collinge, Proc Intl Computer Music Conf, Computer Music Assoc 1984, pp.217-220.
Description:Language for real-time computer music synthesis, written in XPL.

MPL (Musical Program Library)
Computer/OS:any OS with APLYear:1974
Author:Gary Lee Nelson, TIMARA Deoartment, Oberlin CollegeManipulates:
Web:http://www.timara.oberlin.edu/~gnelson/PapersPDF/GNfract.pdfImplementation:APL (a programming language)
Paper:MIDI and cmusic input
Description:MPL is a collection of functions in APL that manipulate note and conductor data in matrices. Deveoped at Oberlin. Used extensively at U. Melbourne in Australia. Currently used only by the author on Mac OSX with APLX from microAPL in UK. Listen to Goss on http://www.timara.oberlin.edu/~gnelson/mp3s/Long.mp3s.html

MSP
Computer/OS:MACYear:1998
Author:David ZicarelliManipulates:AUDIO/Synth
Web:http://www.cycling74.comImplementation:C++
Paper:ICMC
Description:MSP is a MAX extention application

MSQ
Computer/OS:WINDOWS and othersYear:1998
Author:Siegfried Koepf, Bernd HaerpferManipulates:MIDI
Web:http://www.aconnect.de/friends/msq2/msq.htmImplementation:C
Paper:
Description:THE MSQ PROJECT provides an open, easily readable and editable file format qualified for algorithmic manipulation and composition as well as for real time controlling MIDI instruments. The MSQ file format, a plain ASCII text file format, represents sequences of MIDI commands in strictly chronological order even when multiple MIDI tracks are present. It does not only allow the translation of MIDI files to some readable text but is a well defined and MIDI compatible file format itself.

Mup
Computer/OS:DOS, Unix, Mac, Amiga, or any system with a C compilerYear:1992
Author:John Krallmann, Bill KraussManipulates:Creates PostScript or MIDI output from text input
Web:http://www.arkkra.comImplementation:C
Paper:
Description:Creates high-quality PostScript or MIDI output from a text description of music. Available for DOS and UNIX, plus in source form for compiling on many other systems.

MUS10
Computer/OS:PDP-10Year:1974
Author:David PooleManipulates:
Web:Implementation:PDP 10 assembler
Paper:
Description:A Music V implementation at heart. Leland Smith also a possible author. MUSCMP is another name used for this program, at CCRMA.

MUS8
Computer/OS:MITS AltairYear:1976
Author:R. BoudinotManipulates:
Web:Implementation:BASIC
Paper:
Description:

MusBox or MBox
Computer/OS:PDP 10Year:1979
Author:Gareth LoyManipulates:audio
Web:Implementation:SAIL
Paper:Gareth Loy wrote a CMJ article on it.
Description:A music compiler for the Sampson box at CCRMA. Re-implemented as "Sambox", it was the primary music making program at CCRMA between 1979 and 1990.

MUSCMP
Computer/OS:DEC PDP-10Year:
Author:Tovar?Manipulates:
Web:Implementation:
Paper:
Description:A music compiler written by Tovar in the early 80's. A Music V implementation at heart.

MUSIC 10
Computer/OS:DEC PDP-11Year:1973
Author:Barry Vercoe (MIT)Manipulates:
Web:Implementation:Macro-II
Paper:
Description:

MUSIC 10
Computer/OS:PDP-10Year:
Author:J. Chowning, A. Moorer (Stanford)Manipulates:
Web:Implementation:
Paper:
Description:

Music 11
Computer/OS:PDP-11Year:1973?
Author:Barry VercoeManipulates:audio
Web:Implementation:PDP-11 Assembler
Paper:
Description:A successor to Music 360, Music 11 was implemented at the MIT Experimental Music Studio around 1973-1975

MUSIC 360
Computer/OS:IBM/360Year:1969
Author:Barry Vercoe (MIT)Manipulates:
Web:Implementation:Fortran IV and 360 assembler
Paper:
Description:

MUSIC 4B
Computer/OS:IBM 360Year:1964
Author:Godfrey Winham & Hubert Howe (Princeton)Manipulates:
Web:Implementation:Fortran IV
Paper:
Description:

MUSIC 4BF
Computer/OS:Year:1972
Author:Godfrey Winham and Hubert Howe (Princeton)Manipulates:
Web:Implementation:Fortran IV
Paper:
Description:

MUSIC 4F ORPHEUS
Computer/OS:Year:1967
Author:Arthur Roberts (Argonne National Laboratory)Manipulates:
Web:Implementation:Fortran IV
Paper:
Description:

MUSIC 6
Computer/OS:Year:
Author:(Stanford)Manipulates:
Web:Implementation:
Paper:
Description:This might be the early (ca 1968?) predecessor of MUS10. If so, it was written by David Poole, and must have been another Music V implementation.

Music Box
Computer/OS:IBM PCYear:
Author:John DunnManipulates:
Web:ftp://micros.hensa.ac.uk/micros/ibmpc/dos/e/e483/Implementation:
Paper:
Description:Program by connecting icons, represented as ascii text on the IBM PC.

Music Composition Language
Computer/OS:Fairlight CMI 0S-9Year:1980
Author:Fairlight InstrumentsManipulates:audio
Web:Implementation:Forth
Paper:Fairlight CMI preliminary users manual 20-1-1980.
Description:8-bit sampling, graphical additive synthesis and command line sequencing. Information able to be entered through keyboard or light-pen. 'Film Music Processor' allowed editing to be carried out in a variety of time codes, working in frames, music cues and sync points.

MUSIC I/II/III/IV
Computer/OS:IBM 7094Year:1957,1958,1960,1963
Author:Max Mathews (Bell Labs)Manipulates:
Web:Implementation:Assembler
Paper:
Description:

MUSIC V
Computer/OS:independentYear:1969
Author:Max Mathews (Bell Labs)Manipulates:
Web:Implementation:Fortran IV and assembler
Paper:
Description:A widely distributed acoustic compiler.

Music-1000
Computer/OS:LSI-11Year:1978
Author:Dean WallraffManipulates:
Web:Implementation:LSI-11 assembler
Paper:Computer Music Journal 3:4
Description:Score and orchestra language for DMX-1000 signal processor.

MUSIC7
Computer/OS:PDP-8Year:
Author:Lejaren Hiller (SUNY Buffalo)Manipulates:
Web:Implementation:Fortran IV
Paper:
Description:

MusicDNA Composer
Computer/OS:Cross-platform (web application)Year:2006
Author:Jason RienziManipulates:MIDI, Sheet Music
Web:http://www.musicdnacentral.net/index.php?p=composerHelpImplementation:Perl
Paper:
Description:MusicDNA Composer is a web-based application for the creation of tonal music. Composers use a simple API to create melodies, harmonies and counterpoint, from the simplest single-voice piano song all the way up to a symphony. Code is compiled into both MIDI and sheet music in PNG and PDF format, which can be downloaded or displayed directly through the browser. The output can therefore be easily synthesized or performed by instrumentalists. The language "knows" basic harmony and counterpoint, and can take care of much of the calculation necessary in programming if the composer chooses. Themes or melodies can be pulled out into functions and shared among composers, thus allowing them to collaborate in the same way that programmers do. Since the songs are stored on the MusicDNA servers, you can also edit your compositions from anywhere. The site also allows you to store MP3s, MIDIs, sheet music or other media, so that you may give out the URL to your creations.

MusicKit
Computer/OS:NeXTStepYear:1988
Author:David Jaffe, Julius SmithManipulates:MIDI, Audio
Web:http://ccrma-www.stanford.edu/CCRMA/Overview/node24.htmlImplementation:Objective C
Paper:
Description:The Music Kit is an object-oriented software system for building music, sound, signal processing, and MIDI applications in the NEXTSTEP programming environment. It has been used in such diverse commercial applications as music sequencers, computer games, and document processors. Professors and students have used the Music Kit in a host of areas, including music performance, scientific experiments, computer-aided instruction, and physical modeling.

MusicScript
Computer/OS:linuxYear:2000
Author:David PiottManipulates:audio
Web:http://killdavid.utter-macabre.comImplementation:MusicScript
Paper:
Description:Music scripting language that creates an entire song from a script file.Unlike Csound, this is VERY simple to understand. Made by and for musicians!

MusicXML
Computer/OS:Windows, Macintosh, LinuxYear:2000
Author:Michael GoodManipulates:Finale files, XML, MuseData, other symbolic formats
Web:http://www.recordare.com/xml.htmlImplementation:Visual Basic, C++, Java
Paper:The Virtual Score, MIT Press, 2001
Description:MusicXML is a universal translator for common Western musical notation from the 17th century onwards. It is designed as an interchange format for notation, analysis, retrieval, and performance applications.

MUSIGOL
Computer/OS:Burroughs B5500Year:1966
Author:Donald McInnis, Paul S. Davis, William A Wulf (U. of Virginia)Manipulates:
Web:Implementation:
Paper:
Description:There was an Algol based language MUSIGOL fashioned after the Bell Labs MUSIC I-V programs. It was created at the University of Virginia. MUSIGOL ran on a Burroughs B5500 and used an Adage Ambilog 200 as a DAC.

NetSound
Computer/OS:Year:1996
Author:Michael Casey and Paris SmaragdisManipulates:Audio
Web:http://sound.media.mit.edu/~mkc/netsound.htmlImplementation:
Paper:
Description:NetSound is a structured-audio compositor and synthesizer which renders sound in real-time using a variety of synthesis algorithms. It is being developed by the Machine Listening Group at the Media Lab.

Nyquist
Computer/OS:WindowsNT, Windows95, Macintosh, Irix, Linux, AIX, SunOS, Unix, MachYear:1992
Author:Roger DannenbergManipulates:Audio (and some MIDI)
Web:http://www.cs.cmu.edu/afs/cs.cmu.edu/project/music/web/music.software.htmlImplementation:C
Paper:Computer Music Journal, Fall 1997 (21:3)
Description:A functional programming language for composition and sound synthesis. Uses a Lisp syntax, a signal processing and signal representation core, and a rich semantics dealing with time and transformations.

OpenMusic (OM)
Computer/OS:Mac OSYear:1997
Author:Gérard Assayag and Carlos Agon with Olivier DelerueManipulates:MIDI, audio, symbolic notation and ASCII files
Web:http://www.ircam.fr/equipes/repmusImplementation:Common-Lisp
Paper:
Description:OpenMusic is a highly visual environment for the composer on the Macintosh. While drawing benefit from the huge amount of knowledge and experience gathered around the PatchWork software, OpenMusic implements a set of radically new features that make it a second generation compositional software. Based on Digitool Macintosh Common Lisp, OpenMusic provides a visual programming interface to Lisp programming as well as to CLOS (Common Lisp Object System). Thus OpenMusic is an Object Oriented (OO) environment. Objects are symbolized by icons that may be dragged and dropped all around. Most operations are then performed by dragging an icon from a particular place and dropping it to an other place. These places include the OpenMusic Workspace as well as the Macintosh finder itself. A lot of classes implementing musical data / behaviour are provided. They are associated with graphical editors and may be extended by the user to meet specifical needs. Different representation of a musical process are handled among which common notation, midi piano-roll, sound signal. High level in-time organisation of the music material is proposed through the " maquette " concept.

Opusmodus
Computer/OS:Windows, OSXYear:2014
Author:Marco Giommoni, Janusz PodrazikManipulates:MIDI,OSC,MusicXML
Web:https://opusmodus.comImplementation:Lisp
Paper:
Description:Opusmodus is aimed at composers of all kinds - of art music, concert music, choral music, film music, jazz, electroacoustic music, music for games and new media, songwriters. Opusmodus is a comprehensive computer-aided environment for the whole work of music composition a virtual space where a composer can develop ideas and experiments for projects large and small. Opusmodus allows you to explore more than one structure at the same time. It also allows the composer to study the interaction between the different structures with more meaningful outcome.

ORGANUM 1
Computer/OS:IBM 370Year:1974
Author:TisatoManipulates:
Web:Implementation:PL/I
Paper:
Description:

OSW - Open Sound World
Computer/OS:Open source - all platformsYear:2000
Author:Adriien Fried and then open sourceManipulates:Midi and Audio
Web:http://osw.sourceforge.netImplementation:TCL/TK
Paper:
Description:Open Sound World, or OSW, is a scalable, extensible programming environment that allows musicians, sound designers and researchers to process sound in response to expressive real-time control. OSW combines a familiar visual patching paradigm with solid programming-language features such as a strong type system and hierarchical name spaces. OSW also includes an intuitive model for specifying new components using a graphical interface and high-level C++ expressions, making it easy to develop and share new music and signal-processing algorithms.

OUTPERFORM
Computer/OS:PDP-11Year:1972
Author:D. Jaeger, D. Lester (University of Toronto)Manipulates:
Web:Implementation:Fortran IV
Paper:
Description:

PATCH
Computer/OS:Buchla 300,400,500Year:
Author:Lynx CroweManipulates:
Web:Implementation:Assembler
Paper:
Description:

Patchwork
Computer/OS:MAC OSYear:+/- 1990
Author:Mikael Laurson, Jaques Duthen and Camilo RuedaManipulates:MIDI and symbolic notation
Web:http://www.ircam.fr/produits-real/logiciels/patchwork-e.htmlImplementation:Common-Lisp
Paper:
Description:Patchwork is a graphical interactive environment for computer assisted composition which is aimed at helping composers generate, represent and manipulate musical material. Its general, extendible environment can be easily adapted to suit radically different aesthetic needs.

Pcmusic
Computer/OS:IBM PCYear:1995
Author:F. Richard MooreManipulates:Audio
Web:http://grasshopper.ucsd.edu/95_96/FACULTY/frm.htmlImplementation:
Paper:
Description:pcmusic takes a text (ASCII) file written in the pcmusic input language and creates a soundfile (in .wav format) that corresponds to it. For this reason, pcmusic is a member of the class of programs sometimes known as "acoustic compilers". pcmusic is a version of the cmusic sound synthesis program for the IBM PC and compatibles.

Petal
Computer/OS:Unix, Linux, OpenVMSYear:1995
Author:Chris Cannam, Andy Green, Richard Bown and Guillaume LaurentManipulates:Notation, MIDI
Web:http://www.all-day-breakfast.com/rosegarden/index.htmlImplementation:C
Paper:
Description:Rosegarden is an integrated MIDI sequencer and musical notation editor. It is free software for Unix and X, running on systems such as Linux, FreeBSD and SGI IRIX, and now also on OpenVMS.

PILE
Computer/OS:DEC PDP-15Year:1977
Author:Paul Berg (Inst. of Sonology, Utrecht)Manipulates:
Web:Implementation:Macro
Paper:
Description:

Pla
Computer/OS:Year:1983
Author:Bill Schottstaedt (Stanford)Manipulates:
Web:Implementation:SAIL
Paper:"Pla: A Composer's Idea of a Language", B. Schottstaedt,Computer Music J 7(1):11-20 (Winter 1983).
Description:High-level music programming language, written in SAIL. Includes concurrency bas ed on message passing.

PLACOMP
Computer/OS:PLATO (CDC)Year:1978
Author:D. Murray, J. Beauchamp, G. Loitz (Univ. of Illinois)Manipulates:
Web:Implementation:
Paper:
Description:

PLAY (PLAY1, PLAY2)
Computer/OS:DEC PDP-11Year:1977
Author:Joel Chadabe & Roger Myers (NYSU Albany)Manipulates:
Web:Implementation:XPL
Paper:"An Introduction to the Play Program", J. Chadabe ete al, Computer Music J 2,1 (1978).
Description:Language for real-time music synthesis.

PMML
Computer/OS:Unix, DOSYear:
Author:Satoshi NishimuraManipulates:MIDI
Web:http://www-cgl.u-aizu.ac.jp/pmml/index.htmlImplementation:C
Paper:
Description:PMML is a musical event description/manipulation language designed for computer-controlled performances with MIDI instruments. Direct music description, algorithmic composition, and music transformation are all supported.

POD6, POD7
Computer/OS:HP-2116Year:1973, 1975
Author:Barry Truax (Simon Fraser University)Manipulates:
Web:Implementation:Fortran IV
Paper:Computer Music Journal 1:3
Description:

PROD
Computer/OS:Year:
Author:M. GreenManipulates:
Web:Implementation:
Paper:
Description:

Pure Data (PD)
Computer/OS:windows, linux, irixYear:1997
Author:Miller PucketteManipulates:midi and audio
Web:http://www-crca.ucsd.edu/~msp/software.htmlImplementation:c or c++ (?)
Paper:
Description:a free real-time computer music software package resembling Max.

Pyrite
Computer/OS:MacYear:
Author:James McCartneyManipulates:
Web:ftp://kahless.isca.uiowa.edu/pub/max/Pyrite7-1.sea.hqxImplementation:
Paper:
Description:A lisp-like object programming language implemented as an object to be used within the Max system.

pysco
Computer/OS:any supporting python and csoundYear:1999
Author:Paul Winkler (slinkp@angelfire.com)Manipulates:csound scores
Web:http://www.ulster.net/~abigoo/pw_linux/codeImplementation:python
Paper:
Description:A python module for generating and manipulating musical events. Output is currently only in csound sco format, but the goal of pysco is to support MIDI streams and files as well, and user-extensible support for other kinds of output.

Q
Computer/OS:Linux, OSX, WindowsYear:1991, 2002 (midi interface), 2003 (audio interface)
Author:Albert GraefManipulates:MIDI, audio
Web:http://www.musikwissenschaft.uni-mainz.de/~ag/q/Implementation:C
Paper:http://www.musikwissenschaft.uni-mainz.de/~ag/q/q-midi/qmidi.pdf
Description:Q is a modern functional programming language based on the term rewriting calculus. Programs are simply collections of equations which are used to evaluate expressions in a symbolic fashion. Q offers an elaborate interface to Grame's MidiShare, and also has a basic audio interface. The latter will be improved over time (additional modules for doing modular synth and dsp stuff are in the planning stage). The MidiShare interface already makes Q a nice environment for (realtime) MIDI programming.

Quasimodo
Computer/OS:POSIXYear:1998
Author:Paul Barton-DavisManipulates:audio and MIDI
Web:http://www.op.net/~pbd/quasimodo/Implementation:C++
Paper:
Description:Quasimodo is an advanced, real-time, extensible, MIDI-controllable environment for generating and processing audio and MIDI data. Quasimodo supports the Csound programming language, plugin opcodes, themeable graphics, a simple scripting language for user-interface design, and an intuitive graphical user interface for real-time manipulation. It supports both Csound scorefiles, real-time MIDI input, and its own user interface for playing audio and MIDI compositions.

Ravel
Computer/OS:IBM PC Atari STYear:1988
Author:Jim BinkleyManipulates:MIDI
Web:ftp://ftp.cs.pdx.edu/pub/music/ravel/Implementation:C
Paper:Keyboard magazine, Nov. 1988
Description:A C-like MIDI programming language.

Realtime Composition Library for MAX
Computer/OS:MacintoshYear:1992 ff.
Author:Karlheinz EsslManipulates:MIDI, audio
Web:http://www.essl.at/works/rtc.htmlImplementation:MAX, C
Paper:http://www.essl.at/bibliogr/struktgen.html
Description:This library - a collection of patches for MAX (an interactive graphical programming environment for multimedia, music, and MIDI) - offers the possibility to experiment with a number of compositional techniques, such as serial procedures, permutations and controlled randomness. Most of these objects are geared towards straightforward processing of data. By using these specialized objects together in a patch, programming becomes much more clear and easy. Many functions that are often useful in algorithmic composition are provided with this library - therefore the composer could concentrate rather on the composition than the programming aspects. The Real Time Composition Library (RTC-lib) was developed during my extensive work on Lexikon-Sonate (1992 ff.), an interactive realtime composition for computer-controlled MIDI-piano. Regardless the fact that it was conceived for a concrete project it became more and more obvious that its functionalities are open and generic enough to be used by other composers in different compositional contexts. Although - from the theoretical point of view - based on paradigms which have been extracted from serial thinking - and its further developments until nowadays it does not force towards a certain aesthetic, but provides a programming environment for testing and developing musical strategies. Please note that "serial" has here another connotation than it normally has (especially in the US): "serial" here refers to a certain way of musical thinking rather then dodecaphonic techniques, which have been abandoned by the serial theory itself (cf. Gottfried Michael Koenig and Karlheinz Stockhausen).

Sambox
Computer/OS:PDP 10Year:1979
Author:Bill Schottstaedt (bil@ccrma.stanford.edu)Manipulates:audio
Web:Implementation:SAIL
Paper:
Description:A re-implementation of MusBox, it was the primary music making program at CCRMA between 1979 and 1990.

SAOL (MPEG-4 Structured Audio Orchestra Language)
Computer/OS:Portable (currently Unix, Linux, Win32 - embedded in future)Year:1997-1998
Author:ISO MPEG, project led by Eric ScheirerManipulates:Audio
Web:http://sound.media.mit.edu/~eds/mpeg4/Implementation:Spec is implementation-independant
Paper:Scheirer, E. D. 'SAOL: The MPEG-4 Structured Audio Orchestra Language". Proc ICMC 1998, Ann Arbor, MA.
Scheirer, E. D. 'The MPEG-4 Structured Audio Standard', in Proc. IEEE ICASSP, May 1998, Seattle, WA.
Scheirer, E.D. 'Structured Audio and Effects Processing in the MPEG-4 Multimedia Standard', to appear in ACM Multimedia Systems.
Description:SAOL is a music-synthesis and effects-processing language which is a component of the MPEG-4 standard (ISO/IEC 14496-3). It follows a Music-N paradigm, but has a number of novel extensions, most notably the ability to define new unit generators within the language. In MPEG-4, SAOL is used to transmit synthesis descriptions controllable with MIDI or by a new lightweight score format called SASL, and to transmit effects-processing algorithms which apply to natural (waveform-encoded) audio within the MPEG-4 audio scene.

Sapphire
Computer/OS:LinuxYear:1995
Author:Jim Finnis, white@elf.dircon.co.ukManipulates:audio
Web:ftp://sunsite.unc.edu/pub/Linux/apps/sound/editors/Implementation:
Paper:
Description:An acoustic compiler - a program which takes a source file written in the sapphire programming language and generates a sample. Sapphire can create sounds of arbitrary complexity, although it may take several hours for it to do so. Think of it as a ray-tracer for noises.

Scala
Computer/OS:Windows, Linux, UnixYear:1996
Author:Manuel Op de CoulManipulates:Musical scales, MIDI
Web:http://www.xs4all.nl/~huygensf/scala/Implementation:Ada
Paper:
Description:Scala is an editor, librarian, and analysis tool for musical tunings. One can create, manipulate and combine scales in many ways using the Scala command language. It can also tune synthesizers and retune MIDI files.

SCRIPT
Computer/OS:SynclavierYear:1984
Author:New England Digital Corp.Manipulates:
Web:Implementation:XPL
Paper:
Description:

SDIF
Computer/OS:UNIX, Mac, PCYear:1997
Author:Matthew Wright, Adrian Freed, David Wessel, et alManipulates:audio
Web:http://cnmat.cnmat.berkeley.edu/SDIFImplementation:
Paper:
Description:The Sound Description Interchange Format (SDIF) is a recently adopted standard that can store a variety of sound representations including spectal, time domain, and higher-level models. SDIF consists of a data format and a set of standard sound descriptions and their official representation. SDIF is flexible in that new sound descriptions can be represented, and new kinds of data can be added to existing sound descriptions.

Silence
Computer/OS:Windows, LinuxYear:1996
Author:Michael GoginsManipulates:Csound scores/orchestras and MIDI
Web:http://www.pipeline.com/~goginsImplementation:Java 1.2
Paper:1998 ICMC
Description:Silence is an extensible system for making music on computers by means of software alone. It implements Music Modeling Language (MML), which represents music as a directed acyclic graph of nodes that can be notes, groups of notes, transformations of notes, or processes generating notes. MML is to sounds as VRML is to pictures. Silence currently uses its own Java interface to Csound as a synthesis engine.

SKINI
Computer/OS:Win95, SGI/NeXTYear:1996
Author:Perry CookManipulates:
Web:http://www.cs.princeton.edu/~prc/Implementation:C
Paper:
Description:Synthesis toolKit Instrument Network Interface - a language designed to be MIDI compatible and extend MIDI in incremental but profound ways. It uses text-based messages. SKINI was designed to be extensable and hackable for a number of applications: imbedded synthesis in a game or VR simulation, scoring and mixing tasks, real-time and non-real time applications which could benefit from a controllable sound synthesis, JAVA controlled synthesis, or eventually maybe JAVA synthesis.

SMDL
Computer/OS:Year:
Author:Stephen R. MounceManipulates:
Web:http://www.techno.com/SMDL.htmlImplementation:
Paper:
Description:The Standard Music Description Language (SMDL) is defined (in ISO/IEC Draft International Standard 10743) as "an architecture for the representation of music information, either alone, or in conjunction with text, graphics, or other information needed for publishing or business purposes. Multimedia time sequencing information is also supported." SMDL is a HyTime application conforming to International Standard ISO/IEC 10744 Hypermedia/Time-based Structuring Language.

SMOKE
Computer/OS:Year:
Author:Manipulates:
Web:http://xcf.berkeley.edu/pub/misc/smalltalk/FAQ/2-projects.htmlImplementation:Smalltalk
Paper:"The SmOKe Music Representation, Description Language, and Interchange Format", roceedings of the 1992 International Computer Music Conference.
Description:The Smalltalk music object kernel (Smoke) music representation language facilitates the formal description of low-level musical data such as note events, and also of higher-level structures such as chord progressions and musical form "objects." In object-oriented software terms, the representation is described in terms of software class hierarchies of objects that share state and behavior and implement the description language as their protocol.

Snd
Computer/OS:SGI, LinuxYear:
Author:Bill SchottstaedtManipulates:Audio
Web:http://ccrma-www.stanford.edu/CCRMA/Software/snd/snd.htmlImplementation:Lisp
Paper:
Description:Snd is a sound editor modelled loosely after Emacs, and can be customized using an Emacs-lisp-like syntax

SOUL (SOUnd Language)
Computer/OS:https://soul.dev/lab/Year:2016
Author:JUCE team at ROLI, led by Julian StorerManipulates:Audio,MIDI
Web:https://soul.devImplementation:C++
Paper:https://github.com/soul-lang/SOUL
Description:SOUL is a language for audio development focused on portability and speed, but also on accessibility for audio enthusiasts and professionals. Conceived as "an audio equivalent of OpenGLSL or OpenCL", its goal is to produce audio programs than can run not only on the CPU but also on heterogeneous or remote hardware, without an impact on the complexity for the developer. Claiming that the CPU is not the best place to run these programs, the authors are confident that domain-specific hardware will be the future of sound programming, and accessible and portable tools to exploit these will be necessary. Like graphic shaders, SOUL programs run within another "host" application, that can be written with any language or framework without bearing on its performance. SOUL is currently in beta.

SoundModel (CCPL)
Computer/OS:Year:1993
Author:Peter LundenManipulates:
Web:http://www.speech.kth.se/~peter_l/projects/ccpl.htmlImplementation:Common Lisp (KR extension)
Paper:
Description:Common Composer's Programming Language (CCPL) is a computer programming environment aiming at composers and researchers in the field of electroacoustic music. SoundModel is part of CCPL, does not depend on any particular synthesis method, and can be interfaced to many different methods as long as the parameters of the method are closely related to the acoustical result. The language can be used to describe a large universe of sonic-structures with complex dynamic behaviour and complicated interdependencies which makes it useful in a computer music environment.

Speccy
Computer/OS:ClojureScript/JavaScript/WebYear:2020
Author:Chris McCormickManipulates:Audio
Web:https://github.com/chr15m/speccy/Implementation:Clojure
Paper:
Description:Eight-bit algorave livecoding in ClojureScript

SSP
Computer/OS:PDP-15/20Year:1975
Author:G. M. Koenig (Inst. of Sonology, Utrecht)Manipulates:
Web:Implementation:Macro-15
Paper:
Description:

SSSP
Computer/OS:UnixYear:1978
Author:Buxton et al. (University of Toronto)Manipulates:
Web:Implementation:C
Paper:Computer Music Journal 2:4, 3:4
Description:Structured Sound Synthesis Program.

ST
Computer/OS:IBM 360Year:
Author:Xenakis (CEMAMu, Paris)Manipulates:
Web:Implementation:Fortran IV
Paper:
Description:

STK (Synthesis Toolkit)
Computer/OS:Year:1996
Author:Perry CookManipulates:Audio
Web:http://www.cs.princeton.edu/~prc/Implementation:C++
Paper:
Description:Synthesis toolkit, a set of Unit Generator, Musical Instrument, and Performer Model Classes in C++.

STORM
Computer/OS:Buchla ThunderYear:
Author:Lynx CroweManipulates:
Web:Implementation:Assembler
Paper:
Description:

SuperCollider Server
Computer/OS:Macintosh OSX, Linux (Windows in development)Year:2003
Author:James McCartneyManipulates:Audio (some MIDI)
Web:http://supercollider.sourceforge.netImplementation:C++
Paper:
Description:A successor to SuperCollider 2 for Macintosh OS9. Synthesis takes place in a separate process (the server), controlled by OSC messages generated by a client. Any software that can produce OSC messages can be used to control the client, however. The library of sound-processing functions is now implemented as C++ plugins to the server, allowing users to write their own using the server API. SC Server includes a client whose language is similar to SC 2, but is extended with some borrowing from functional programming notation. It features powerful data manipulation classes and multi-threading for algorithmic composition. GUI, MIDI in/out, HID (joystick/other) input, Wacom tablet input are also supported. Optimized for real-time, live-performance scenarios.

SuperCollider
Computer/OS:PowerMacYear:1996
Author:James McCartneyManipulates:Audio
Web:http://www.audiosynth.com/Implementation:C++ and Smalltalk
Paper:
Description:SuperCollider is an environment for real time audio synthesis which runs on a Power Macintosh with no additional hardware. SuperCollider features: a built in programming language with real time incremental garbage collection, first class functions/closures, a small object oriented class system, a mini GUI builder for creating a patch control panel, a graphical interface for creating wave tables and breakpoint envelopes, MIDI control, and a large library of signal processing and synthesis functions. It is an extended version of Pyrite, but no longer runs under Max.

Symbolic Composer
Computer/OS:AtariYear:1991
Author:Pekka Tolonen (igor@clinet.fi)Manipulates:
Web:http://www.xs4all.nl/~psto/Implementation:Lisp
Paper:
Description:SC allows the user to create music from almost any source: text, fractals, association-structures... in almost any style.... It is quite a difficult language to learn, but it offers almost endless possibilities.

Symbolic Composer
Computer/OS:MacYear:
Author:Manipulates:MIDI
Web:http://www.xs4all.nl/~psto/index.htmlImplementation:Lisp
Paper:
Description:A language based on Lisp for symbolic manipulation of music, in terms of melodies, rhythms, notes, durations, harmonies, tonalities, chords, and intervals. Extremely rich in functionality. An example can be found at http://www-ks.rus.uni-stuttgart.de/people/schulz/fmusic/symbolic/example.html. An evaluation/review can be found at http://mars.let.uva.nl/ACCA/SymbolicComposer/s-com.htm.

SYMPFONICS
Computer/OS:Year:1972
Author:B. Vassaur (U. of Tulsa)Manipulates:
Web:Implementation:Fortran IV
Paper:
Description:

SYN4B
Computer/OS:LSI-11/03Year:1978
Author:Neil Rolnick & Phillipe Prevot (IRCAM)Manipulates:
Web:Implementation:LSI-11 assembler
Paper:Computer Music Journal 2:2
Description:

SynSeq.pm
Computer/OS:PerlYear:2000
Author:kanak (kanak@perl.it) Manipulates:audio
Web:http://kanak.perl.it/music/Implementation:Perl
Paper:
Description:A perl module for music synthesis and sequencing.

SYNTA L-II
Computer/OS:PDP-10Year:1977
Author:Wayne Slawson (University of Pittsburgh)Manipulates:
Web:Implementation:Fortran IV
Paper:
Description:

Tclmidi
Computer/OS:Linux, WindowsYear:
Author:Mike DurianManipulates:MIDI
Web:http://jagger.me.berkeley.edu/~greg/tclmidi/Implementation:Tcl
Paper:
Description:Tcl-based MIDI language, for creating and editing Standard MIDI Files.

TREE/COTREE
Computer/OS:Year:1978
Author:Curtis Roads (MIT)Manipulates:
Web:Implementation:
Paper:
Description:

UPIC
Computer/OS:Year:
Author:Xenakis (CEMAMu)Manipulates:
Web:Implementation:
Paper:
Description:

Virtual MIDI Machine
Computer/OS:windows 95 - 98 - 2000 - XPYear:2003
Author:Mark MeeusManipulates:MIDI
Web:http://vmm.audionetwork.beImplementation:C++
Paper:
Description:VMM is a programming language that allows you to send and receive raw midi messages and has built-in libraries for higher level MIDI functions. VMM makes Multithreading super easy, and that's what makes it so powerfull.

Zel
Computer/OS:WindowsYear:1998
Author:Manipulates:MIDI
Web:http://www.zelsoftware.com/Implementation:
Paper:
Description:Zel is a computer language for creating MIDI data. Its features include

-low language overhead--"a b c" plays a b c .
-powerful macro capabilities with parameter passing,
-automatic distribution of notes into multiple tracks,
-file inclusion,
-controller/tempo/velocity sequence generation,
-automatic pitch-bend generation,
-integer/fractional/decimal/MBT/SMPTE duration formats,
-fine control of note displacement,
-unlimited tracks,
-attribute inheritance ( track->chord->note )
-random or sequential pick from a list of weighted macros
-can automatically apply macro based on note timing
-sysex file inclusion and sub-parser
-musical thread isolation using parentheses
-looping
-define and transpose sets of notes and reference them
-supports MIDI text and meta-events



Back