NAME
Nyquist - A computer programming language for software sound synthesis
and music composition
SYNOPSIS
ny [OPTIONS]
DESCRIPTION
Nyquist is a language designed for digital sound synthesis and
computer-assisted music composition. It is based upon the XLISP
implementation of the LISP programming language. Nyquist is similar to
other software synthesis languages such as Csound and cmusic. Like
programs written in those languages Nyquist programs invoke and arrange
various audio synthesis functions which are employed by musically
useful algorithms and control structures, but instrument design and
scoring syntax are completely integrated in Nyquist.
Example:
;; Make and play a sound
(play (osc 60))
This one-line program will call a Nyquist oscillator function to
create a default sine wave with a default amplitude of 1.0
(normalized) and a pitch value of 60 (MIDI note number for
middle C). The output from the oscillator is then sent to the
system sound hardware for realtime play starting at the default
delta-time of 0 and lasting for a default duration of 1 second.
Example:
;; Create an instrument, play a scale with it
(defun note (pitch dur)
(osc pitch dur *table*))
(play (seq (note c4 i)
(note d4 i)
(note e4 i)
(note f4 i)
(note g4 i)
(note a4 i)
(note b4 i)
(note c5 q)))
This program first defines a note function that receives two
parameters, pitch and dur (duration), and sends them to an
oscillator. The oscillator applies the given pitch and duration
to the waveform defined in the *table* global variable. The
default waveform is a sine with an amplitude of 1.
The seq function then sends a sequence of note statements to the
play function for realtime audio output. In this example the
pitch is indicated in a note-name/octave pair. Duration is
expressed in symbols for conventional musical rhythmic units,
i.e., i stands for an eighth note (quaver) and q stands for a
quarter note (crotchet).
Nyquist programs may be entered line by line at the program
prompt or they can be saved and loaded as files.
OPTIONS
-l filename.lsp
Load a Nyquist program file, typically (but not necessarily)
with an extension of .lsp.
FILES
Examples and tutorial files are located in the $NYQUIST_HOME/demos
directory.
HTML documentation is located in the $NYQUIST_HOME/doc directory.
BUGS
Possibly, maybe, perhaps. If you find any please report them to the
authors.
TODO
See the todo.txt file in the Nyquist top-level directory for the
current TODO list.
AUTHOR
Nyquist is written by Roger B. Dannenberg <dannenberg@cs.cmu.edu>.
XLISP is written by David Betz <dbetz@xlisper.mv.com>.
COPYRIGHT
Copyright and license information for Nyquist:
Copyright 2000-2002, by Roger B. Dannenberg. All rights reserved.
Copyright and license information for XLISP:
Copyright 1984-2002, by David Michael Betz. All rights reserved.
See the license.txt file in the Nyquist top-level directory for
complete licensing details.
November 2003 Nyquist(1)