Man Linux: Main Page and Category List

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)