Difference between revisions of "Nyquist Audio Programming"

From Audacity Wiki
Jump to: navigation, search
m ("web site" => "website")
m (plug-in => plugin)
Line 1: Line 1:
{{Introrel|This page is a list of suggested "how-to" and explanatory articles for Nyquist programmers. Nyquist is a [http://en.wikipedia.org/wiki/Lisp_programming_language 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. |Many articles herein are still to be written. Feel free to request other topics by clicking the [[Talk:Nyquist Audio Programming|discussion tab]] at the top of this page. If you are looking for extra Nyquist plug-ins to use, see [[Nyquist Plug-ins]]. |[http://www.cs.cmu.edu/~music/music.software.html Nyquist homepage] at Carnegie Mellon University
+
{{Introrel|This page is a list of suggested "how-to" and explanatory articles for Nyquist programmers. Nyquist is a [http://en.wikipedia.org/wiki/Lisp_programming_language 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. |Many articles herein are still to be written. Feel free to request other topics by clicking the [[Talk:Nyquist Audio Programming|discussion tab]] at the top of this page. If you are looking for extra Nyquist plugins to use, see [[Nyquist Plugins]]. |[http://www.cs.cmu.edu/~music/music.software.html Nyquist homepage] at Carnegie Mellon University
*[[Nyquist Plug-ins Reference]] - an overview of plug-in structure and syntax  
+
*[[Nyquist Plugins Reference]] - an overview of plugin structure and syntax  
 
*Other pages in our [[:Category:Digital Audio Technology|Digital Audio Technology]] category}}
 
*Other pages in our [[:Category:Digital Audio Technology|Digital Audio Technology]] category}}
  
Line 28: Line 28:
 
* Narrowing and widening stereo signals
 
* Narrowing and widening stereo signals
 
* Removing vocals from a stereo recording
 
* Removing vocals from a stereo recording
* Writing your own Audacity Nyquist plug-ins
+
* Writing your own Audacity Nyquist plugins
** {{external|[http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/nyquist.htm Official Audacity Nyquist plug-in documentation]}}
+
** {{external|[http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/nyquist.htm Official Audacity Nyquist plugin documentation]}}
** {{external|[http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/devel/audacity-nyquist-en.htm Updated plug-in information, 2007]}}
+
** {{external|[http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/devel/audacity-nyquist-en.htm Updated plugin information, 2007]}}
 
** [http://www.cs.cmu.edu/~rbd/doc/nyquist/ Nyquist 3.02 Reference Manual] - the latest Nyquist manual, most functions described in terms of SAL syntax
 
** [http://www.cs.cmu.edu/~rbd/doc/nyquist/ Nyquist 3.02 Reference Manual] - the latest Nyquist manual, most functions described in terms of SAL syntax
 
** [http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/manual/home.html Nyquist 2.37 Reference Manual] - the latest Nyquist manual using all LISP syntax
 
** [http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/manual/home.html Nyquist 2.37 Reference Manual] - the latest Nyquist manual using all LISP syntax
Line 37: Line 37:
 
{{Hint|1='''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. <p>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.</p>}}
 
{{Hint|1='''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. <p>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.</p>}}
  
{{ednote|We are currently working on unifying the old Nyquist plug-in documentation on the main Audacity website 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?}}
+
{{ednote|We are currently working on unifying the old Nyquist plugin documentation on the main Audacity website and the updated information in the German forum into one single place here in the Wiki. The outdated list of Nyquist plugins 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 plugins list is lost. Translating the list was never a priority as the plugins 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 plugins?}}
  
  

Revision as of 18:50, 29 October 2014

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.
Many articles herein are still to be written. Feel free to request other topics by clicking the discussion tab at the top of this page. If you are looking for extra Nyquist plugins to use, see Nyquist Plugins.
 
Related article(s):


If you are especially interested in Nyquist in Audacity, we strongly recommend subscribing to our audacity-nyquist mailing list .


Basic Experiments

Experiments from the Audacity Nyquist prompt:

Advanced topics


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 plugin documentation on the main Audacity website and the updated information in the German forum into one single place here in the Wiki. The outdated list of Nyquist plugins 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 plugins list is lost. Translating the list was never a priority as the plugins 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 plugins?


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