Click on each language name for more details
4CED
| Computer/OS: | PDP-11 | Year: | 1979 |
| Author: | Curtis Abbott | Manipulates: | |
| Web: | | Implementation: | Macro-11? |
| Paper: | 'The 4CED program', Computer Music Journal, Vol 5, No 1, 1981, pg 13-33. |
| Description: | |
ABC
| Computer/OS: | UNIX, Windows, Mac | Year: | 1991 |
| Author: | Chris Walshaw | Manipulates: | 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: | MacOS | Year: | |
| Author: | Paul Berg | Manipulates: | MIDI, Csound score files |
| Web: | http://www.koncon.nl/220/SOmain.html | Implementation: | 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. |
ALMA
| Computer/OS: | | Year: | |
| Author: | George Logemann and Murray Gould | Manipulates: | |
| 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 II | Year: | 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: | Acorn | Year: | |
| Author: | Chris Jordan | Manipulates: | |
| 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: | Unix | Year: | 1986 |
| Author: | Dannenberg, R. B., P. McAvinney, and D. Rubine | Manipulates: | |
| 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.1 | Year: | 1991 (prototype version), 1997 (commercial version) |
| Author: | IRIS s.r.l. | Manipulates: | audio, MIDI |
| Web: | http://aimi.dist.unige.it/index.htm | Implementation: | 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 B6700 | Year: | |
| Author: | Curtis Roads | Manipulates: | |
| Web: | | Implementation: | Algol |
| Paper: | |
| Description: | |
BOLT
| Computer/OS: | Buchla Lightning | Year: | |
| Author: | Lynx Crowe, Chuck Carlson | Manipulates: | |
| Web: | | Implementation: | Assembler |
| Paper: | |
| Description: | |
CAL
| Computer/OS: | Win3.1, Win95 | Year: | 1992? |
| Author: | Twelve Tone software (Cakewalk) | Manipulates: | MIDI |
| Web: | http://www.cakewalk.com | Implementation: | |
| 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: | Mac | Year: | 1987 |
| Author: | Roger B. Dannenberg | Manipulates: | |
| Web: | | Implementation: | C (XLisp) |
| Paper: | "The Canon Score Language", Computer Music Journal 13:1, Spring 1989, pg. 47-56 |
| Description: | |
CHANT
| Computer/OS: | PDP-11 | Year: | 1979 |
| Author: | Xavier Rodet , Yves Potard, Conrad Cummings (IRCAM) | Manipulates: | |
| Web: | | Implementation: | SAIL |
| Paper: | Computer Music Journal |
| Description: | |
CHOPS
| Computer/OS: | Buchla 400 | Year: | |
| Author: | Lynx Crowe | Manipulates: | |
| Web: | | Implementation: | Assembler |
| Paper: | |
| Description: | |
ChucK
| Computer/OS: | MacOS X, Linux, Windows/Cygwin | Year: | 2003 |
| Author: | Ge Wang and Perry R. Cook | Manipulates: | 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: | NeXT | Year: | 1990 |
| Author: | William Schottstaedt | Manipulates: | Audio |
| Web: | http://ccrma-www.stanford.edu/CCRMA/Overview/node21.html | Implementation: | 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, Linux | Year: | |
| Author: | Paul Lansky | Manipulates: | Audio |
| Web: | http://www.music.princeton.edu/winham/cmix.html | Implementation: | 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 Schottstaedt | Manipulates: | Notation |
| Web: | http://ccrma-www.stanford.edu/CCRMA/Overview/node21.html | Implementation: | 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. |
Common Music
| Computer/OS: | | Year: | |
| Author: | Heinrich Taube | Manipulates: | |
| Web: | http://ccrma-www.stanford.edu/CCRMA/Overview/node25.html | Implementation: | 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, DOS | Year: | 2000-2003 |
| Author: | Jonatan Liljedahl | Manipulates: | (Analogue) hardware through custom DAC interface |
| Web: | http://kymatica.com | Implementation: | 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. MacOS | Year: | 1980- |
| Author: | Dr. Donncha O Maidin | Manipulates: | Music Scores |
| Web: | mailto:Donncha.OMaidin@ul.ie | Implementation: | 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, SGI | Year: | 1986 |
| Author: | Barry Vercoe (MIT) | Manipulates: | |
| Web: | http://www.leeds.ac.uk/music/Man/c_front.html | Implementation: | 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: | SGI | Year: | 1995 |
| Author: | Alexandre Burton and Jean Piche | Manipulates: | 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 360 | Year: | |
| Author: | Grossi, Paoli, Sommi | Manipulates: | |
| Web: | | Implementation: | Fortran IV |
| Paper: | |
| Description: | |
EEL2/JSFX
| Computer/OS: | Unix | Year: | 2006-2018? |
| Author: | Reaper | Manipulates: | Audio,MIDI |
| Web: | https://www.reaper.fm/sdk/js/js.php | Implementation: | 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, Windows | Year: | 1998 |
| Author: | Fober, Letz, Orlarey | Manipulates: | MIDI |
| Web: | http://rd.grame.fr/Elody/Elody.html | Implementation: | 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 contributors | Manipulates: | Audio, with OSC control support. |
| Web: | http://faust.grame.fr/index.php/documentation | Implementation: | 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 Machine | Year: | 1984 |
| Author: | Christopher Fry | Manipulates: | |
| Web: | | Implementation: | LISP |
| Paper: | |
| Description: | Lisp-based language. |
FOIL (Far Out Instrument Language)
| Computer/OS: | Touche | Year: | |
| Author: | David Rosenboom,Lynx Crowe | Manipulates: | |
| Web: | | Implementation: | Forth |
| Paper: | |
| Description: | |
Foo
| Computer/OS: | | Year: | 1994 |
| Author: | Gerhard Eckel | Manipulates: | |
| Web: | http://viswiz.gmd.de/~eckel/publications/eckel94a.html | Implementation: | 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 VAX | Year: | 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, Mac | Year: | 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: | Unix | Year: | 1988 |
| Author: | Roger B. Dannenberg, Chris Fraley | Manipulates: | |
| Web: | http://www.computer.org/tab/cgm/july91.htm | Implementation: | 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-224 | Year: | 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 Hudak | Manipulates: | 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, Mac | Year: | 1985 |
| Author: | David Rosenboom, Larry Polansky, Phil Burk | Manipulates: | |
| Web: | http://www.softsynth.com/hmsl | Implementation: | 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 Chung | Manipulates: | MIDI |
| Web: | http://www.idiom.com/free-compilers/TOOL/CommonLi-13.html | Implementation: | 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 / Linux | Year: | 2005 |
| Author: | La Kitchen / CCMIX | Manipulates: | audio |
| Web: | http://sourceforge.net/projects/iannix | Implementation: | 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.htm | Implementation: | 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 Subotnick | Manipulates: | MIDI |
| Web: | http://www.art.net/~troika/interactor.html | Implementation: | |
| 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: | Unix | Year: | 1978 |
| Author: | Curtis Abbott (IRCAM) | Manipulates: | |
| Web: | | Implementation: | C |
| Paper: | |
| Description: | |
invokator
| Computer/OS: | Unix | Year: | 1977 |
| Author: | C. Abbott | Manipulates: | |
| Web: | | Implementation: | C |
| Paper: | |
| Description: | |
JFugue
| Computer/OS: | All OS's! Java is multi-platform | Year: | 2002 |
| Author: | David Koelle | Manipulates: | MIDI, and user-defined music string |
| Web: | http://www.jfugue.org | Implementation: | 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 Machine | Year: | 1998 |
| Author: | Nick Didkovsky, Phil Burk | Manipulates: | 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: | Java | Year: | 1997 |
| Author: | Phil Burk | Manipulates: | 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, Mac | Year: | 1995 |
| Author: | Tim Thompson | Manipulates: | MIDI |
| Web: | http://github.com/nosuchtim/keykit | Implementation: | 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, Amiga | Year: | 1990 |
| Author: | Tim Thompson | Manipulates: | 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 PC | Year: | 1990 |
| Author: | John Dunn | Manipulates: | MIDI |
| Web: | http://www.algoart.com | Implementation: | 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 Liljedahl | Manipulates: | Real-time ALSA event outputs (MIDI) and/or hardware through custom DAC interface |
| Web: | http://kymatica.com/kyce | Implementation: | 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 - Windows | Year: | 1986 |
| Author: | Carla Scaletti | Manipulates: | |
| Web: | http://www.SymbolicSound.com | Implementation: | 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, Linux | Year: | 1992 |
| Author: | Jan Nieuwenhuizen, Han Wen Nienhuis (original authors), David Kastrup (active development) | Manipulates: | text |
| Web: | http://lilypond.org | Implementation: | C,Scheme |
| Paper: | |
| Description: | Lilypond is a program that typesets music from musical definitions. |
Loki
| Computer/OS: | MS-DOS,MS-WINDOWS | Year: | 1996 |
| Author: | Juniper Moon | Manipulates: | 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: | Amiga | Year: | 1993 |
| Author: | Paul Webb | Manipulates: | MIDI |
| Web: | http://www.robotsoftware.co.uk/LOOM.html | Implementation: | basic |
| Paper: | |
| Description: | A visual programming language for defining algorithmic processes and composition structures |
LPC
| Computer/OS: | IBM 370 | Year: | 1975 |
| Author: | Mian, Offeli | Manipulates: | |
| Web: | | Implementation: | Fortran IV |
| Paper: | |
| Description: | |
ManuScript
| Computer/OS: | Win/Mac | Year: | 1998 |
| Author: | | Manipulates: | Midi audio (specific to Sibelius notation software) |
| Web: | www.sibelius.com | Implementation: | 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-64 | Year: | 1986 |
| Author: | Dan Kelley | Manipulates: | |
| Web: | | Implementation: | Forth |
| Paper: | Keyboard magazine, 1986? |
| Description: | Forth-based program on Commodore C64. |
Max
| Computer/OS: | Mac, Next | Year: | 1986 |
| Author: | Miller Puckette (IRCAM) and David Zicarelli (Opcode Systems, Cycling 74) | Manipulates: | |
| Web: | http://www.cycling74.com | Implementation: | 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: RSX11M | Year: | 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.) |
Melrōse
| Computer/OS: | Windows, OSX | Year: | 2021 |
| Author: | Ernest Micklei | Manipulates: | MIDI |
| Web: | https://melrōse.org/ | Implementation: | Go |
| Paper: | |
| Description: | Melrōse is a tool to create and play music by programming melodies. It uses a custom language to compose notes and create loops and tracks to play. |
MGP
| Computer/OS: | PC at Windows platform. | Year: | 1999 |
| Author: | Jordan Misja | Manipulates: | 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,700 | Year: | |
| Author: | Lynx Crowe | Manipulates: | |
| Web: | | Implementation: | Assembler, C |
| Paper: | |
| Description: | |
MML
| Computer/OS: | MSX BASIC | Year: | 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 Pope | Manipulates: | |
| Web: | http://datura.cerl.uiuc.edu/netStuff/mode.html | Implementation: | 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: | HP2100A | Year: | 1974 |
| Author: | G. Winham, M. Zuckerman (Princeton) | Manipulates: | |
| Web: | | Implementation: | HP assembler |
| Paper: | |
| Description: | |
Moxc
| Computer/OS: | Mac, PC, Atari, Amiga | Year: | 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. Collinge | Manipulates: | |
| 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 APL | Year: | 1974 |
| Author: | Gary Lee Nelson, TIMARA Deoartment, Oberlin College | Manipulates: | |
| Web: | http://www.timara.oberlin.edu/~gnelson/PapersPDF/GNfract.pdf | Implementation: | 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: | MAC | Year: | 1998 |
| Author: | David Zicarelli | Manipulates: | AUDIO/Synth |
| Web: | http://www.cycling74.com | Implementation: | C++ |
| Paper: | ICMC |
| Description: | MSP is a MAX extention application |
MSQ
| Computer/OS: | WINDOWS and others | Year: | 1998 |
| Author: | Siegfried Koepf, Bernd Haerpfer | Manipulates: | MIDI |
| Web: | http://www.aconnect.de/friends/msq2/msq.htm | Implementation: | 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 compiler | Year: | 1992 |
| Author: | John Krallmann, Bill Krauss | Manipulates: | Creates PostScript or MIDI output from text input |
| Web: | http://www.arkkra.com | Implementation: | 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-10 | Year: | 1974 |
| Author: | David Poole | Manipulates: | |
| 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 Altair | Year: | 1976 |
| Author: | R. Boudinot | Manipulates: | |
| Web: | | Implementation: | BASIC |
| Paper: | |
| Description: | |
MusBox or MBox
| Computer/OS: | PDP 10 | Year: | 1979 |
| Author: | Gareth Loy | Manipulates: | 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-10 | Year: | |
| 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-11 | Year: | 1973 |
| Author: | Barry Vercoe (MIT) | Manipulates: | |
| Web: | | Implementation: | Macro-II |
| Paper: | |
| Description: | |
MUSIC 10
| Computer/OS: | PDP-10 | Year: | |
| Author: | J. Chowning, A. Moorer (Stanford) | Manipulates: | |
| Web: | | Implementation: | |
| Paper: | |
| Description: | |
Music 11
| Computer/OS: | PDP-11 | Year: | 1973? |
| Author: | Barry Vercoe | Manipulates: | 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/360 | Year: | 1969 |
| Author: | Barry Vercoe (MIT) | Manipulates: | |
| Web: | | Implementation: | Fortran IV and 360 assembler |
| Paper: | |
| Description: | |
MUSIC 4B
| Computer/OS: | IBM 360 | Year: | 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 Composition Language
| Computer/OS: | Fairlight CMI 0S-9 | Year: | 1980 |
| Author: | Fairlight Instruments | Manipulates: | 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 7094 | Year: | 1957,1958,1960,1963 |
| Author: | Max Mathews (Bell Labs) | Manipulates: | |
| Web: | | Implementation: | Assembler |
| Paper: | |
| Description: | |
MUSIC V
| Computer/OS: | independent | Year: | 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-11 | Year: | 1978 |
| Author: | Dean Wallraff | Manipulates: | |
| 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-8 | Year: | |
| Author: | Lejaren Hiller (SUNY Buffalo) | Manipulates: | |
| Web: | | Implementation: | Fortran IV |
| Paper: | |
| Description: | |
MusicDNA Composer
| Computer/OS: | Cross-platform (web application) | Year: | 2006 |
| Author: | Jason Rienzi | Manipulates: | MIDI, Sheet Music |
| Web: | http://www.musicdnacentral.net/index.php?p=composerHelp | Implementation: | 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: | NeXTStep | Year: | 1988 |
| Author: | David Jaffe, Julius Smith | Manipulates: | MIDI, Audio |
| Web: | http://ccrma-www.stanford.edu/CCRMA/Overview/node24.html | Implementation: | 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: | linux | Year: | 2000 |
| Author: | David Piott | Manipulates: | audio |
| Web: | http://killdavid.utter-macabre.com | Implementation: | 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, Linux | Year: | 2000 |
| Author: | Michael Good | Manipulates: | Finale files, XML, MuseData, other symbolic formats |
| Web: | http://www.recordare.com/xml.html | Implementation: | 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 B5500 | Year: | 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 Smaragdis | Manipulates: | Audio |
| Web: | http://sound.media.mit.edu/~mkc/netsound.html | Implementation: | |
| 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, Mach | Year: | 1992 |
| Author: | Roger Dannenberg | Manipulates: | Audio (and some MIDI) |
| Web: | http://www.cs.cmu.edu/afs/cs.cmu.edu/project/music/web/music.software.html | Implementation: | 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 OS | Year: | 1997 |
| Author: | Gérard Assayag and Carlos Agon with Olivier Delerue | Manipulates: | MIDI, audio, symbolic notation and ASCII files |
| Web: | http://www.ircam.fr/equipes/repmus | Implementation: | 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, OSX | Year: | 2014 |
| Author: | Marco Giommoni, Janusz Podrazik | Manipulates: | MIDI,OSC,MusicXML |
| Web: | https://opusmodus.com | Implementation: | 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 370 | Year: | 1974 |
| Author: | Tisato | Manipulates: | |
| Web: | | Implementation: | PL/I |
| Paper: | |
| Description: | |
OSW - Open Sound World
| Computer/OS: | Open source - all platforms | Year: | 2000 |
| Author: | Adriien Fried and then open source | Manipulates: | Midi and Audio |
| Web: | http://osw.sourceforge.net | Implementation: | 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-11 | Year: | 1972 |
| Author: | D. Jaeger, D. Lester (University of Toronto) | Manipulates: | |
| Web: | | Implementation: | Fortran IV |
| Paper: | |
| Description: | |
PATCH
| Computer/OS: | Buchla 300,400,500 | Year: | |
| Author: | Lynx Crowe | Manipulates: | |
| Web: | | Implementation: | Assembler |
| Paper: | |
| Description: | |
Patchwork
| Computer/OS: | MAC OS | Year: | +/- 1990 |
| Author: | Mikael Laurson, Jaques Duthen and Camilo Rueda | Manipulates: | MIDI and symbolic notation |
| Web: | http://www.ircam.fr/produits-real/logiciels/patchwork-e.html | Implementation: | 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 PC | Year: | 1995 |
| Author: | F. Richard Moore | Manipulates: | Audio |
| Web: | http://grasshopper.ucsd.edu/95_96/FACULTY/frm.html | Implementation: | |
| 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, OpenVMS | Year: | 1995 |
| Author: | Chris Cannam, Andy Green, Richard Bown and Guillaume Laurent | Manipulates: | Notation, MIDI |
| Web: | http://www.all-day-breakfast.com/rosegarden/index.html | Implementation: | 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-15 | Year: | 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-11 | Year: | 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, DOS | Year: | |
| Author: | Satoshi Nishimura | Manipulates: | MIDI |
| Web: | http://www-cgl.u-aizu.ac.jp/pmml/index.html | Implementation: | 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-2116 | Year: | 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. Green | Manipulates: | |
| Web: | | Implementation: | |
| Paper: | |
| Description: | |
Pure Data (PD)
| Computer/OS: | windows, linux, irix | Year: | 1997 |
| Author: | Miller Puckette | Manipulates: | midi and audio |
| Web: | http://www-crca.ucsd.edu/~msp/software.html | Implementation: | c or c++ (?) |
| Paper: | |
| Description: | a free real-time computer music software package resembling Max. |
pysco
| Computer/OS: | any supporting python and csound | Year: | 1999 |
| Author: | Paul Winkler (slinkp@angelfire.com) | Manipulates: | csound scores |
| Web: | http://www.ulster.net/~abigoo/pw_linux/code | Implementation: | 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, Windows | Year: | 1991, 2002 (midi interface), 2003 (audio interface) |
| Author: | Albert Graef | Manipulates: | 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: | POSIX | Year: | 1998 |
| Author: | Paul Barton-Davis | Manipulates: | 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 ST | Year: | 1988 |
| Author: | Jim Binkley | Manipulates: | 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: | Macintosh | Year: | 1992 ff. |
| Author: | Karlheinz Essl | Manipulates: | MIDI, audio |
| Web: | http://www.essl.at/works/rtc.html | Implementation: | 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 10 | Year: | 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 Scheirer | Manipulates: | 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: | Linux | Year: | 1995 |
| Author: | Jim Finnis, white@elf.dircon.co.uk | Manipulates: | 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, Unix | Year: | 1996 |
| Author: | Manuel Op de Coul | Manipulates: | 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: | Synclavier | Year: | 1984 |
| Author: | New England Digital Corp. | Manipulates: | |
| Web: | | Implementation: | XPL |
| Paper: | |
| Description: | |
SDIF
| Computer/OS: | UNIX, Mac, PC | Year: | 1997 |
| Author: | Matthew Wright, Adrian Freed, David Wessel, et al | Manipulates: | audio |
| Web: | http://cnmat.cnmat.berkeley.edu/SDIF | Implementation: | |
| 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, Linux | Year: | 1996 |
| Author: | Michael Gogins | Manipulates: | Csound scores/orchestras and MIDI |
| Web: | http://www.pipeline.com/~gogins | Implementation: | 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/NeXT | Year: | 1996 |
| Author: | Perry Cook | Manipulates: | |
| 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. Mounce | Manipulates: | |
| Web: | http://www.techno.com/SMDL.html | Implementation: | |
| 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.html | Implementation: | 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. |
SOUL (SOUnd Language)
| Computer/OS: | https://soul.dev/lab/ | Year: | 2016 |
| Author: | JUCE team at ROLI, led by Julian Storer | Manipulates: | Audio,MIDI |
| Web: | https://soul.dev | Implementation: | 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 Lunden | Manipulates: | |
| Web: | http://www.speech.kth.se/~peter_l/projects/ccpl.html | Implementation: | 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/Web | Year: | 2020 |
| Author: | Chris McCormick | Manipulates: | Audio |
| Web: | https://github.com/chr15m/speccy/ | Implementation: | Clojure |
| Paper: | |
| Description: | Eight-bit algorave livecoding in ClojureScript |
SSP
| Computer/OS: | PDP-15/20 | Year: | 1975 |
| Author: | G. M. Koenig (Inst. of Sonology, Utrecht) | Manipulates: | |
| Web: | | Implementation: | Macro-15 |
| Paper: | |
| Description: | |
SSSP
| Computer/OS: | Unix | Year: | 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 360 | Year: | |
| Author: | Xenakis (CEMAMu, Paris) | Manipulates: | |
| Web: | | Implementation: | Fortran IV |
| Paper: | |
| Description: | |
STK (Synthesis Toolkit)
| Computer/OS: | | Year: | 1996 |
| Author: | Perry Cook | Manipulates: | 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 Thunder | Year: | |
| Author: | Lynx Crowe | Manipulates: | |
| Web: | | Implementation: | Assembler |
| Paper: | |
| Description: | |
SuperCollider Server
| Computer/OS: | Macintosh OSX, Linux (Windows in development) | Year: | 2003 |
| Author: | James McCartney | Manipulates: | Audio (some MIDI) |
| Web: | http://supercollider.sourceforge.net | Implementation: | 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: | PowerMac | Year: | 1996 |
| Author: | James McCartney | Manipulates: | 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: | Atari | Year: | 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. |
SYMPFONICS
| Computer/OS: | | Year: | 1972 |
| Author: | B. Vassaur (U. of Tulsa) | Manipulates: | |
| Web: | | Implementation: | Fortran IV |
| Paper: | |
| Description: | |
SYN4B
| Computer/OS: | LSI-11/03 | Year: | 1978 |
| Author: | Neil Rolnick & Phillipe Prevot (IRCAM) | Manipulates: | |
| Web: | | Implementation: | LSI-11 assembler |
| Paper: | Computer Music Journal 2:2 |
| Description: | |
SynSeq.pm
| Computer/OS: | Perl | Year: | 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-10 | Year: | 1977 |
| Author: | Wayne Slawson (University of Pittsburgh) | Manipulates: | |
| Web: | | Implementation: | Fortran IV |
| Paper: | |
| Description: | |
Tclmidi
| Computer/OS: | Linux, Windows | Year: | |
| Author: | Mike Durian | Manipulates: | 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 - XP | Year: | 2003 |
| Author: | Mark Meeus | Manipulates: | MIDI |
| Web: | http://vmm.audionetwork.be | Implementation: | 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: | Windows | Year: | 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 |