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.sal
and examples.lsp
files 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.