Nyquist (programming language)

{{Infobox programming language

| name = Nyquist

| logo =

| paradigm =

| year =

| designer = Roger Dannenberg

| developer = Roger Dannenberg

| latest release version =

| latest release date =

| typing =

| implementations =

| influenced_by = Lisp

| influenced =

| file ext = {{mono|.ny}}

}}

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,{{cite journal|last1=Dannenberg|first1=Roger B.|title=Machine Tongues XIX: Nyquist, a Language for Composition and Sound Synthesis|journal=Computer Music Journal|volume=21|issue=3|year=1997|pages=50–60|issn=0148-9267|doi=10.2307/3681013|jstor=3681013}} and is named after Harry Nyquist.{{cite book|last1=Krapp|first1=Peter|title=Noise Channels: Glitch and Error in Digital Culture|date=2011|publisher=University of Minnesota Press|isbn=9781452933191|page=xiii|url=https://books.google.com/books?id=w4k0WhZNNp4C&dq=%22Harry+Nyquist%22+%22language+called+Nyquist%22&pg=PR13|accessdate=18 January 2016}}

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.{{citation needed|date=March 2016}}

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.{{cite web|title=Nyquist Plug-ins Reference|url=http://wiki.audacityteam.org/wiki/Nyquist_Plugins_Reference|website=Audacity Wiki|accessdate=5 December 2017}}

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.{{Cite web|url=https://www.cs.cmu.edu/~rbd/doc/nyquist/part1.html#1|title=Preface|website=www.cs.cmu.edu|access-date=2019-08-30}}

References

{{reflist}}