Parametric EQ

I always wanted one in Audacity, so I made one.


– Bill
parametric.ny (1.86 KB)
The latest version of this plug-in is available on the Audacity wiki:

Oddly enough, or perhaps not strangely at all, that’s rather similar to one that I made (for the same reason) :slight_smile:

The plug-in was based on the channel Eq of a well know make of mixing desk.
I’m sure I had another version of this that also included a fixed gain “LF roll-off” as found on this particular desk, but I can’t find that at the moment.

One thing that might be worth mentioning is that, although not currently used, I think it is probably best to include the “categories” line in the plug-in header. (I’ve just added it here: )

Also, your code says “;version 3”, but it is actually a “;version 1” plug-in.

Just as a matter of interest, was there any particular reason why you wrote the filter code as a function rather than just “in-line” code?

Ah, it only users sliders, so can be version 1. If I added a “choice” widget it would be “version 3”. Right?

I don’t fully understand all the nuances of Nyquist, so I look at other plug-ins and copy what they’ve done. I believe I was copying from your “SimpleToneControl.ny” which uses “multichan-expand”, and which is not needed here. So I started out that way, then took out multichan-expand. I guess having the function would also allow for error checking in the manner of “tonecontrol.ny”.

Ah, the dreaded hierarchical effect menu categories. :confused:

I wasn’t intending this for distribution, just to share. And to get comments on my coding “style” (as it were).

– Bill

The “Text” widget was introduced in version 2
The “Choice” widget was introduced in version 3

We’re probably overdue for “version 4” as there are now a number of things that are supported in recent Audacity versions, but not older 1.3.x versions. (such as (get-env) and scratch)

This page by Edgar (“Edgar M. Franke” AKA “edgar-rtf”) is well worth a read through: Audacity and Nyquist

Lol - yes, “dreaded” because of the number of clicks required to select a simple effect, though I believe that the underlying idea of categories is a good one - it just needs to be implemented in a more flexible way. As soon as a user installs the “90 Ladspa plug-in pack” it is a pain to search through a numbered, but otherwise unsorted list.

I think that some sort of Parametric Eq would be a good addition, but as a Nyquist plug-in its usefulness is severely crippled by the lack of both real-time adjustment and “Preview”. It’s most unlikely that real-time processing will ever happen for Nyquist plug-ins, but a Preview feature would be a great boon. (Feel free to add your vote here: Wish List - Preview button for 'process' plug-ins :stuck_out_tongue:)

There is already a “Mixing Desk” style Equalizer on the wiki, but I think that it could still be useful to have a dedicated “Parametric Eq”.

What I have in mind is a “small” plug-in that does just one job, but does it well (much like the “Notch Filter” does). To this end I’ve hacked your code and stripped it down to a single band parametric equalizer.

I’ve beefed up the error checking a little so as to avoid data corruption if the selected frequency is too high for the sample rate.
I’ve also adjusted the range of some of the controls:

In practice, users tend to think of the “width” control just in terms of “wide or narrow” rather than “octaves” (at least, that’s what I do :smiley:) so I’ve adjusted the width control so that it is just a scale of 0 (most narrow) to 10 (widest). The centre position (5) has a “half gain bandwidth” of 2.5 octaves, which gives a very usable “medium” width.
Technically speaking, the width control in this version is approximately: “half gain width in 1/2 octaves”.

The frequency range is from 10 Hz to 10 kHz (or 1/4 of the sample rate if this is lower). This makes the slider a little awkward to use, but as a single band effect I think it needs to have a wide frequency range.

I’ve also added the usual header comment block.

So what do you think? Is this useful? Too complicates or too simple? Any changes that you would want to make?
parametric.ny (1.26 KB)

I have no problems with this as presented. I have no idea how useful it might be - I’m not mixing multi-track sessions any more. The consensus seems to be that simpler is better, and power users could be pointed to your DeskEQ.

– Bill

Until Nyquist plug-ins have at least “preview” capability I think the usefulness of any Nyquist equalization type effect is very limited, but even a very limited parametric equalizer is better than none at all.

The latest version of this plug-in is available on the Audacity wiki: