Designed byRoger Dannenberg
DeveloperRoger Dannenberg
File formats.ny
Influenced by

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 after 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.[citation needed]

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.[3]

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.[4]


  1. ^ Dannenberg, Roger B. (1997). "Machine Tongues XIX: Nyquist, a Language for Composition and Sound Synthesis". Computer Music Journal. 21 (3): 50–60. doi:10.2307/3681013. ISSN 0148-9267. JSTOR 3681013.
  2. ^ Krapp, Peter (2011). Noise Channels: Glitch and Error in Digital Culture. University of Minnesota Press. p. xiii. ISBN 9781452933191. Retrieved 18 January 2016.
  3. ^ "Nyquist Plug-ins Reference". Audacity Wiki. Retrieved 5 December 2017.
  4. ^ "Preface". www.cs.cmu.edu. Retrieved 2019-08-30.
1958 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 2020
 LISP 1, 1.5, LISP 2(abandoned)
 Lisp Machine Lisp
 Scheme  R5RS  R6RS  R7RS small
 ZIL (Zork Implementation Language)
 Franz Lisp
 Common Lisp  ANSI standard
 Le Lisp
 MIT Scheme
 Chez Scheme
 Emacs Lisp
 PLT Scheme  Racket
 GNU Guile
 Visual LISP