Nyquist (programming language)
Encyclopedia
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.
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
.
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
for sound synthesis and analysis based on the Lisp programming language
Lisp programming language
Lisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older...
. It is an extension of the XLISP
XLISP
XLISP is a family of Lisp implementations written by David Betz.The first version was a Lisp with object-oriented extensions for computers with limited power. The second version moved toward Common Lisp, but was by no means a complete implementation. After a long period of inactivity, the author...
dialect of Lisp.
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
Audacity
Audacity is a free software, cross-platform digital audio editor and recording application. It is available for Windows, Mac OS X, Linux and BSD.Audacity was created by Dominic Mazzoni while he was a graduate student at Carnegie Mellon University...
digital audio editor.
One notable difference between Nyquist and more traditional MUSIC-N
MUSIC-N
MUSIC-N refers to a family of computer music programs and programming languages descended from or influenced by MUSIC, a program written by Max Mathews in 1957 at Bell Labs. MUSIC was the first computer program for generating digital audio waveforms through direct synthesis...
languages is that Nyquist does not segregate synthesis functions (see unit generator
Unit generator
Unit generators are the basic formal units in many MUSIC-N-style computer music programming languages. They are sometimes called opcodes , though this expression is not accurate in that these are not machine-level instructions.Unit generators form the building blocks for designing synthesis and...
) from "scoring" functions. For example Csound
Csound
Csound is a computer programming language for dealing with sound, also known as a sound compiler or an audio programming language, or more precisely, a C-based audio DSL. It is called Csound because it is written in C, as opposed to some of its predecessors...
is actually two languages, one for creating "orchestras" the other for writing "scores". With Nyquist these two domains are combined.
Nyquist runs under Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
and other Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
environments, Mac OS
Mac OS
Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...
, and Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
.
The Nyquist programming language and interpreter were written by Roger Dannenberg at Carnegie Mellon University
Carnegie Mellon University
Carnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....
, with support from Yamaha Corporation and IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
.
External links
- Computer Music Project at Carnegie Mellon, home of the Nyquist interpreter
- Audacity Help: Nyquist plugins
- Audacity Wiki: Nyquist plugins
- Nyquist plugins for Audacity