Nyquist (programming language)

Nyquist
Designed by Roger Dannenberg
Developer Roger Dannenberg
Influenced by
Lisp

Nyquist is a programming language for sound synthesis and analysis based on the Lisp programming language. It is an extension of the XLISP dialect of Lisp,[1] and is named for Harry Nyquist.[2]

With Nyquist, the programmer designs musical instruments by combining functions, and can call upon these instruments and generate a sound just by typing a simple expression. The programmer can combine simple expressions into complex ones to create a whole composition, and can also generate various other kinds of musical and non-musical sounds.

The Nyquist interpreter can read and write sound files, MIDI files, and Adagio text-based music score files. On many platforms, it can also produce direct audio output in real time.

The Nyquist programming language can also be used to write plug-in effects for the Audacity digital audio editor.

One notable difference between Nyquist and more traditional MUSIC-N languages is that Nyquist does not segregate synthesis functions (see unit generator) from "scoring" functions. For example Csound is actually two languages, one for creating "orchestras" the other for writing "scores". With Nyquist these two domains are combined.

Nyquist runs under Linux and other Unix environments, Mac OS, and Microsoft Windows.

The Nyquist programming language and interpreter were written by Roger Dannenberg at Carnegie Mellon University, with support from Yamaha Corporation and IBM.

References

  1. Dannenberg, Roger B. (1997). "Machine Tongues XIX: Nyquist, a Language for Composition and Sound Synthesis". Computer Music Journal 21 (3): 50. doi:10.2307/3681013. ISSN 0148-9267.
  2. Krapp, Peter (2011). Noise Channels: Glitch and Error in Digital Culture. University of Minnesota Press. p. xiii. ISBN 9781452933191. Retrieved 18 January 2016.

External links


Timeline of Lisp dialects(edit)
1955 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015
Lisp 1.5 Lisp 1.5
Maclisp Maclisp
Interlisp Interlisp
ZetaLisp Lisp Machine Lisp
Scheme Scheme
NIL NIL
Common Lisp Common Lisp
T T
AutoLISP AutoLISP
ISLISP ISLISP
EuLisp EuLisp
Racket Racket
Arc Arc
Clojure Clojure
This article is issued from Wikipedia - version of the Thursday, March 24, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.