Author: Brae Troutman, Student Technology Consultant
If you’ve ever explored the tabs and options in the Audacity application, you may have run into the word Nyquist a few times. When learning how to use Audacity, this was something that I was really interested in, and with some research I learned that Nyquist was a programming language designed specifically for sound editing and synthesis. While the Audacity application itself, like most graphical applications, is written in C++, the Nyquist language provides all of the sound editing functionality that we know and use the software for: fading, sound generation, changing pitches, anything you can think of that you can do with sound in Audacity is all done using this language here, under the hood.
The beauty of having a domain-specific programming language for sound synthesis rather than adapting a more commonly used one is that it allows the developers to tailor the syntax and every other aspect of the language to what the user wants to accomplish with the language in their work. The main way that you can use Nyquist in your Audacity workflow is through plugins: you can download plugins from online, or (once you get familiar with Nyquist of course) you can write your own in a text editor and save them as text files in Audacity’s plugin folder! For example, a simple plugin could be:
;nyquist plug-in
;version 4
;type process
;name “Fade In”
(mult (ramp) *track*)
Looking at the name in the 4th comment, you might be able to guess what this plugin does: it takes the current track and applies a “Fade-in” effect to it.
One of the reasons that I love Audacity as an audio editor over proprietary options is that, given the motivation to learn how to use Nyquist, you can extend the functionality of the software any way you want (and all for free)! Whether you enjoy programming like me or not, you can use and explore a whole world of possibilities in Audacity beyond the effects supplied out-of-the-box. Have fun exploring what others have done with Nyquist, and maybe even try some on your own!