Nyquist Audio Programming
From Audacity Wiki
|This page is a list of suggested "how-to" and explanatory articles for Nyquist programmers. Nyquist is a LISP-based programming language for audio synthesis and analysis written by Roger B.Dannenberg. A number of effects and analysis tools shipped with Audacity are written in Nyquist. Audacity interfaces to Nyquist using the somewhat stripped-down and modified Libnyquist library.
If you are especially interested in Nyquist in Audacity, we strongly recommend subscribing to our .
Experiments from the Audacity Nyquist prompt:
- The Audacity Nyquist Prompt - how it works
- Changing the Volume - in different ways
- Changing the volume of an Audacity audio track
- Nyquist Basics: Changing the volume of the left and right stereo channels independently
- Changing the volume with envelopes - fade in, fade out, etc.
- Changing the volume with a low frequency generator - tremolo effect
- Increasing/decreasing treble and bass - simple equalizer
- Timeshift with Nyquist - simple delay effect
- Audio loops with Nyquist - simple loop and echo effects...
- Narrowing and widening stereo signals
- Removing vocals from a stereo recording
- Writing your own Audacity Nyquist plug-ins
Please note: The notation in the current Nyquist 3.02 Reference Manual from the links above emphasizes SAL syntax, although the underlying functions are the same. SAL only works in Audacity 1.3.8 or later.
Use the Nyquist 2.37 Manual from the links above if you would like to see functions described using LISP syntax. These work in any Audacity version.
We are currently working on unifying the old Nyquist plug-in documentation on the main Audacity web site and the updated information in the German forum into one single place here in the Wiki. The outdated list of Nyquist plug-ins at http://audacity.sourceforge.net/download/nyquistplugins has now been removed. The only disadvantage of this is that the potential (unused) mechanism for translating the plug-ins list is lost. Translating the list was never a priority as the plug-ins themselves are in English. Possibly we could in time add (at least, German) translations of Wiki Nyquist pages, or even links to German versions of these plug-ins?
Very advanced topics
- Multiple echoes with different delay times - reverb effect
- The relations between timeshift and frequency response
- Frequency-dependent delays with comb and allpass filters - reverb, chorus, phaser, etc.
- Dynamics processing - how to derive control signals from volume behaviour
- Auto-equalizing - how to derive control signals from frequency behaviour