Nyquist (programming language)

Last updated
Nyquist
Designed by Roger Dannenberg
Developer Roger Dannenberg
Filename extensions .ny
Website www.cs.cmu.edu/~music/cmp/nyquist/index.html
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 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]

References

  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.
19581960196519701975198019851990199520002005201020152020
 LISP 1, 1.5, LISP 2(abandoned)
  Maclisp
  Interlisp
  MDL
  Lisp Machine Lisp
  Scheme  R5RS R6RS R7RS small
  NIL
  ZIL (Zork Implementation Language)
  Franz Lisp
  muLisp
  Common Lisp  ANSI standard
  Le Lisp
  MIT Scheme
  XLISP
  T
  Chez Scheme
  Emacs Lisp
  AutoLISP
  PicoLisp
  Gambit
  EuLisp
  ISLISP
  OpenLisp
  PLT Scheme   Racket
  newLISP
  GNU Guile
  Visual LISP
  Clojure
  Arc
  LFE
  Hy