Nyquist Demos and Examples
Roger B. Dannenberg & many contributors
- Arpeggiator (and arp.sal)
- describes functions to create arpeggio effects.
- Cellular Automata
by Ann Lewis
- uses cellular automata to generate scores in Nyquist.
- Distortion Tutorial
- describes how to use the Nyquist shape function to
achieve distortion.
- Drum Kit
- Please see the Nyquist Reference
Manual, section ``Drum Machine'' (in the index) for
information about the drum samples and software in demos/plight/drum.lsp.
- FM Voices
- This code example re-implements FM-synthesis-based voices
created by computer music pioneer John Chowning.
- General Examples from the Manual
- The introductory chapter of the Nyquist
Reference Manual presents a number of small examples.
These are consolidated into both SAL
and Lisp code that you can load
and run in Nyquist.
- Midi Tutorial
- 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.
- Instruments by Daniel Mateos
- All of these are currently in Lisp syntax, but they can be
loaded and called from Sal programs. (For an example, the Phase
Vocoder Tutorial described below uses demos/mateos/organ.lsp.)
The directory demos/mateos/ contains bell.lsp, gong.lsp, organ.lsp, and tuba.lsp.
- Instruments by Pedro Morales
- The directory demos/pmorales/ contains the following
programs:
Some
Helper Functions: randi1, randi2, randh1, rndh2
Simple Synthesis
Waveform
+ Envelope, Modulating the envelope with noise
Waveform
+ Envelope, Modulating the frequency
Waveform
+ Envelope, Modulating the frequency, 2
Additive Synthesis
Gong
like sounds
Risset's
Spectral Analysis of a Chord
Risset
Bell
Continuous
pitch control by LFO
Risset
Tibetan
Risset
Drum
Risset
Endless
Random
Signals
Bell
Subtractive Synthesis
Buzz
with Formant Filters
Karplus Strong Synthesis
Simple
KARPLUS-STRONG<
Karplus-Strong
Algorithm
FM Synthesis
Chowning
Dynamic Spectral Evolution
Physical Modeling
Flute
Physical Modelling
- Melody Generation
- 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.
- Multiple Band Effects Tutorial
- describes how to use the bandf library in Nyquist. Multiple
band effects split the input into frequency bands and apply
different effects (e.g. different delays) to each band.
- Nyquist FFT and Inverse FFT
Tutorial
- describes how to use FFT functions in Nyquist to perform
spectral processing.
- Nyquist LPC Analysis and
Synthesis
- is a tutorial on how to use LPC functions, especially useful
for voice modelling and cross-synthesis
- Phase Vocoder Tutorial
- shows how to use the phase vocoder in Nyquist.
- Piano Synthesizer Tutorial
- gives examples of how to use the Nyquist piano
synthesizer library ("pianosyn.lsp").
- Probability
Distribution Generators
- gives examples that use the lib/distributions.lsp
library and an explanation of how to use probability
distributions to compute parameters in granular synthesis.
- Rhythmic Pattern Tutorial
- provides examples that use noise pulses and the Vinyl Scratch Tutorial, along
with transposition and repetition to explore various rhythmic
effects.
- SDL Score Documentation
(PDF) and Examples
- offer a compact score language, SDL, which can be
used as a shorthand to generate Nyquist scores.
- Sequence Example
- is a basic example showing how to use sim
and @ to build sequences of notes and sounds.
- Shepard tones
- is a Lisp source file that produces Shepard tones.
See comments in the code for explanations and documentation.
There is also a Shepard tone plug-in
for Audacity.
- Slider Demos
- illustrate the use of sliders to create interactive
controls for sounds and compositions in Nyquist. Read the
comments in the source code
and find full documentation in the Nyquist Reference Manual.
- STK Instruments Demo
- 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. (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.)
- Vinyl Scratch Tutorial
- creates a sound inspired by dragging a needle across
a vinyl record.
- Voice Synthesis Source
Code
- gives source code and examples for a source-filter
model of the singing voice. Please read the comments in either
the SAL version or the Lisp version.
- VOSIM Example
- gives source code and examples of the VOSIM synthesis
technique. Please read comments in the code.
- Warble Tutorial
- explains how to create some "analog" electronic
synthesizer sounds using FM and AM.
- Wind Tutorial
- presents some code to create wind sounds.