Nyquist Demos and Examples in Extensions
    Roger B. Dannenberg & many contributors
The Nyquist IDE supports Extensions, which can be managed with the
Window : Manage Extension menu item. Here is a list of some of the extensions.
    
      - arpeggiator
 
-  describes and implements functions to create arpeggio effects.
- atonal
 
- Jorge Sastre contributed this code to generate atonal 
        melodies. It uses simple methods, but is quite effective and has 
        been used in a number of compositions for both acoustic 
        instruments and electronics.
- bandfx
 
- describes how to use the bandfx library in Nyquist. Multiple 
        band effects split the input into frequency bands and apply 
        different effects (e.g. different delays) to each band.
- cellautomata by Ann Lewis
 
- uses cellular automata to generate scores in Nyquist.
- clipsoften
 
- contains code to reduce the harshness where clipping occurs.
- compress
 
- implements a dynamics compressor for noisy speech audio.
- convolve
 
- illustrates how to use convolution in Nyquist.
- distortion
 
- describes how to use the Nyquist shape function to 
        achieve distortion.
- dtmf
 
- implements a DTMF tone generator (DTMF are the "touch tones" sent by
      phones to dial numbers).
- ext-template1
 
- is an example of a Nyquist extension using documentation in HTML.
- ext-template2
 
- is an example of a Nyquist extension where documentation is
      in source code.
- fft
 
- describes how to use FFT functions in Nyquist to perform 
        spectral processing (uses Lisp syntax, see also fftsal.)
- fftsal
 
- describes how to use FFT functions in Nyquist to perform 
        spectral processing (uses SAL syntax, see also fft.)
- fm-voices-chowning
 
- re-implements FM-synthesis-based voices 
        created by computer music pioneer John Chowning.
- gran
 
- implements granular synthesis functions.
- intro
 
- The introductory chapter of the Nyquist 
          Reference Manual presents a number of small examples. 
        These are consolidated into both examples.salandexamples.lspfiles that you can load 
        and run in Nyquist.
- labels
 
- implements code to read and write Audacity label files.
- lpc
 
- is a tutorial on how to use LPC functions, especially useful 
        for voice modelling and cross-synthesis.
- mateos by Daniel Mateos
 
- has a number of examples currently in Lisp syntax, but they can be 
        loaded and called from SAL programs. (For an example, the Phase 
          Vocoder Tutorial described below uses mateos/organ.lsp.) 
        The directory mateos/ contains bell.lsp, gong.lsp, organ.lsp and 
          tuba.lsp.
- pmorales by Pedro Morales
 
- contains the following 
        programs:
 pjmg.lsp - Some helper functions: randi1, randi2, randh1, rndh2
 Simple Synthesis
 A4.lsp - Waveform + Envelope, Modulating the envelope with noise
 A5.lsp - Waveform + Envelope, Modulating the frequency
 A6.lsp - Waveform + Envelope, Modulating the frequency, 2
 Additive Synthesis
 b1.lsp - Gong-like sounds
 b2.lsp - Risset's Spectral Analysis of a Chord
 b3.lsp - Risset Bell
 b4.lsp - Continuous pitch control by LFO
 b7.lsp - Risset Tibetan
 b8.lsp - Risset Drum
 b9.lsp - Risset Endless Glissando
 c1.lsp - Random Signals
 partial.lsp - Bell
 Subtractive Synthesis
 buzz.lsp - Buzz with Formant Filters
 Karplus Strong Synthesis
 d1.lsp - Simple KARPLUS-STRONG
 ks.lsp - Karplus-Strong Algorithm
 FM Synthesis
 e2.lsp - Chowning Dynamic Spectral Evolution
 Physical Modeling
 phm.lsp - Flute Physical Modelling
- midi
 
- describes how to read and write Standard MIDI Files, how to 
        generate MIDI data for sequencers, MIDI players, and music 
        notation programs, and how to use Nyquist to synthesize a MIDI 
        file.
- moog
 
- implements a mini-moog (analog synthesizer) emulator.
- plight by Phil Light
 
- contains drum samples and drum machine software.
- pvoc
 
- shows how to use the phase vocoder in Nyquist.
- regression
 
- implements linear regression functions.
- reverse
 
- implements functions to reverse sounds and sound files.
- rhythm
 
- provides examples that use noise pulses and FM, along 
        with transposition and repetition to explore various rhythmic 
        effects.
- sdl
 
- offers a compact score language, SDL, which can be 
        used as a shorthand to generate Nyquist scores.
- shepard
 
- is a Lisp source file that produces Shepard tones.
        See comments in the code for explanations and documentation.
        There is also a shepard/shepard.ny Shepard tone plug-in
          for Audacity.
- sliders
 
- illustrate the use of sliders to create interactive
        controls for sounds and compositions in Nyquist. Read the
        comments in the sliders/slider-demos.sal source code
        and find full documentation in the Nyquist Reference Manual.
- spatial
 
- implements Dolby surround encoding functions.
- stk
 
- plays the various STK instruments that have been
        ported to Nyquist. This file is just Lisp code, but it should be
        fairly simple to read enough of the code to understand the
        function names and parameters, and some SAL expressions are
        added in comments as guide. (Reminder (bowed g4 (bow-env
          d)) in Lisp means bowed(g4, bow-env(d)) in SAL,
        i.e. the first element of each list is the function and the
        remaining elements are parameters.)
- voice
 
- gives source code and examples for a source-filter
        model of the singing voice. Please read the comments in either
        the voice/voice-synthesis.sal version or the
        voice/voice-synthesis.lsp version.
- vosim
 
- gives source code and examples of the VOSIM synthesis
        technique. Please read comments in the code.
- warble
 
- explains how to create some "analog" electronic
        synthesizer sounds using FM and AM.
- wind
 
- presents some code to create wind sounds.