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 a subset of Nyquist’s functionality, allowing you to use Nyquist functions in Audacity. Audacity also provides additional features and commands for Nyquist, including the ability to create plug-ins.

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

The following sections link to pages in the Audacity Wiki from where existing Nyquist plug-ins may be downloaded.

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.

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.

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.