# Nyquist

From Audacity Development Manual
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.

- The Nyquist Prompt tool
- Introduction to Nyquist and Lisp Programming
- Programming in Nyquist
- Creating Nyquist Plug-ins

## 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.

- Master list of downloadable Nyquist plug-ins
  - Nyquist Effect Plug-ins
  - Nyquist Analyze Plug-ins
  - Nyquist Generate Plug-ins

## 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 Audio Programming

### 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 Documentation

### 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.

- Nyquist Plug-ins Reference