Nyquist (programming language)

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, and is named after Harry Nyquist.

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.