Nyquist

From Audacity Development Manual
Jump to: navigation, search
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. It can be used to write plug-in effects for Audacity. The Nyquist programming language and interpreter were written by Roger Dannenberg at Carnegie Mellon University, with support from Yamaha Corporation and IBM.

Contents

  1. Nyquist Programming
  2. Getting Started
  3. Existing Nyquist plug-ins available for download
  4. Advanced Nyquist


Nyquist Programming

Nyquist was written by Roger B. Dannenberg and was intended to be used as a complete programming language for audio synthesis and analysis, with support for MIDI, audio recording and playback, file I/O, object-oriented programming, profiling, debugging and more.

Audacity uses only a subset of Nyquist’s functionality, allowing you to take simple Nyquist functions and use them to process audio data. Audacity doesn’t include any support for debugging Nyquist code, so if you are trying to write a complicated plug-in, you may find it easier to get the full version of Nyquist and develop there, then turn it into an Audacity plug-in. Nyquist is available from the Carnegie Mellon University Computer Music Project. You can download the full Nyquist from here: CMU Computer Music Project Software.

Getting Started

The following are a set of three linked tutorials to help get you started with programming in Nyquist for Audacity.

Existing Nyquist plug-ins available for download

These sections in the Audacity Wiki are about existing Nyquist plug-ins that are ready and available for you to download and use in Audacity.


Advanced Nyquist

The following sections link to pages in the Audacity Wiki where more fully detailed information on programming in Nyquist and full details of existing Nyquist plug-ins can be found.

Wiki Master page for Nyquist

Nyquist Programming Reference

Nyquist Documentation

This page is intended primarily for people that wish to write Nyquist plug-ins or gain an insight into how Nyquist is used in Audacity.

For users that only want to download Nyquist plug-ins please see below.

Nyquist Plug-ins Reference

This Wiki page offers a detailed look at the structure and syntax of Nyquist Plug-ins. It is intended for people who wish to write their own plug-ins.